Skip to main content

ParameterLess construct

When I was creating my first cloud app that’s used Microsoft Azure for storage and computation purposes I came across a strange problem which wasn’t related to the Azure itself but was more related to the c# and the .net framework.
When I was writing the code I made a Class which had no parameter less construct. Objects of this class were then used in the program. Because this class was derived from Ienumerator I could actually user Foreach() on the objects of this class but to my surprise the code shown below was showing error at the highlighted line.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.WindowsAzure.StorageClient;
using Microsoft.WindowsAzure;
namespace WebRole1
{
public class mspDataServiceContext : TableServiceContext
{
public mspDataServiceContext(string baseAddress, StorageCredentials credentials)
: base(baseAddress, credentials)
{
}
static int c;
public IQueryable<msp> msps
{
get
{
return this.CreateQuery<msp>("msps");
}
}
static int Count()
{
return c;
}
public int AddMsp(msp m)
{
foreach (msp k in this.msps)
{
if (k.UserId == m.UserId)
return 0;
}
//for (int i = 0; i <mspDataServiceContext.Count(); i++)
//{
// if (m.UserId == msps.ElementAt(i).UserId)
// return 0;
//}
this.AddObject("msps", m);
this.SaveChanges();
c++;
return 1;//indicatiing successful addition
}
public int DeleteMsp(string UserId)
{
foreach (msp k in msps)
{
if (k.UserId == UserId)
{
this.DeleteObject(k);
this.SaveChanges();
c--;
return 1;//indicating sucessful deletion
}
}
return 0;//indicating missing entry
}
public int updateMspLocation(string UserId, double lat, double lon)
{
msp m = null;
foreach (msp k in msps)
{
if (k.UserId == UserId)
{
m = k;
this.DeleteObject(k);
this.SaveChanges();
break;
}
else return 0;
}
m.lat = lat;
m.lon = lon;
this.AddMsp(m);
this.SaveChanges();
return 1;//indicating successful updation
}
public void DeleteAll()
{
foreach (msp m in this.msps)
{
this.DeleteObject(m);
}
The error was later rectified by adding a parameter less construct in the class because the foreach() command was making a msp k in every step and there was no parameterless construct so the compiler wasn’t allowing it to be made.
link to the full project is given below

Comments

  1. gud yar parv....
    keep posting in the blog...
    and carry on the gud work..!!!

    ReplyDelete
  2. gr8 going yr
    this is request that pls post some articles to how to start learning azure

    ReplyDelete
  3. @samarth thankx
    and ya i will surely post things on how to start learning azure

    ReplyDelete

Post a Comment

Popular posts from this blog

Customized Online Learning Dangerous as it is Necessary

The recent uprise in Online Learning Platform like Pluralsight, Coursera has raised some important questions over traditional learning system and also on traditional examination systems.
The fact that online learning courses are derived from what users need and not what should be actually taught has also raised serious concerns about what is finally going inside the heads of professionals.

Traditional system while teaching any subject also includes major things that might never be used in real life but still is important to actual context of that particular subject. The syllabus goes through the hands of experts before finally reaching the learners. Online education / Videos have completely disrupted this system and now only what is needed is taught leaving out all the motivational factors and context of the subject that brings glamour and other related attributes to the identity of the subject.

So yes while system has to evolve to teach students more than C++ in today's world bu…

Dynaminism in .Net 4.0

few dayz ago came across THIS question.
the solution to this can easily be figured out by the new dynamic features introduced in .Net 4.0.
i have made a project to demonstrate this.
the main code in the project goes like this

publicstaticdynamic[] GetDynamicObject(DataTable dt, Dictionary<string, string> mapping)
        {
List<dynamic> returnList = newList<dynamic>();
foreach (DataRow row in dt.Rows)
            {
dynamic obj = newExpandoObject();
var objectDic = (IDictionary<string, object>)obj;
foreach (DataColumn column in dt.Columns)
                {
                    objectDic.Add(mapping!=null?mapping.ContainsKey(column.ColumnName) ? mapping[column.ColumnName] : column.ColumnName:column.ColumnName,row[column]);
                }
                returnList.Add(obj);
            }
return returnList.ToArray();
        }The static method here named "GetDynamicObject" simply takes a data table(which can be populated by the data in the database) and a dictionary of…

Problem with Google visualization API- DataTable

One of the most widely charting API is the Google visualization API. Which enables the developers to create charts using
javascript at runtime by supplying the data in a particular format. I had to use this API with ASP.Net. So the major problem in
front of me was how to transfer the data in my database to the client side JavaScript.
Which I could solve by using .ashx pages. I created my own class for
transforming .Net DataTable to a JSON string. The final problem that I faced was that when I transferred the
JSON string to the client side using Jquery AJAX method though it was parsing
the JSON correctly. The Google DataTable was being formed correctly the final
AnnonatedTimeline I was trying to make with that JSON data was showing errors. So
to debug I created a Google DataTable manually and converted it into JSON using
the method it provides. The JSON string that was given out by Google’s very own
DataTable and my JSON string were exact match still, still mine was showing
errors. Aft…