‏إظهار الرسائل ذات التسميات method. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات method. إظهار كافة الرسائل

الخميس، 26 ديسمبر 2013

how to pass complex object to Web API method?

i have two models :-

public class Builder { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int BuilderId { get; set; } public string BuilderName { get; set; } }public class Project{ [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int ProjectId { get; set; } [Required] public string ProjectName { get; set; } [Required] public string Location { get; set; } [Required] public int BuilderId { get; set; } public Builder builder { get; set; }}

When i am trying to post the builder class object from client side to the web api method, then it is reading the object from body. there is no problem in that. but when i am trying to add any Project with some Builder then it is not calling to desired method. and my Web Method :-

public HttpResponseMessage PostProject([FromUri] Project project) { if (ModelState.IsValid) { db.Projects.Add(project); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, project); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = project.ProjectId })); return response; } else { return Request.CreateResponse(HttpStatusCode.BadRequest); } }

my method to call the web api method :-

public async Task Create(Project projects) { try { HttpClient client = new HttpClient(); JavaScriptSerializer serializer = new JavaScriptSerializer(); String contentStr = serializer.Serialize(projects); ObjectContent content = new ObjectContent(typeof(Project), projects, new JsonMediaTypeFormatter()); HttpResponseMessage putResponse = await client.PostAsync(serviceprovider + "project/postproject", content); putResponse.EnsureSuccessStatusCode(); return RedirectToAction("Index"); } catch (HttpRequestException e) { return View(); } }

As per my knowledge, i think it is creating problem because my object is complex. I am new to Web API any suggestions from you are welcome. Please help.


View the original article here

الثلاثاء، 24 ديسمبر 2013

is there any shorthand method to handle loops if you know exactly how much times a loop needs to be executed

When the number of loops is known, the best option is the for loop. As your example shows, it will loop until the desired number of times, in your case 5 (the original loop and goes up 5 times for a total of 6, unless you have 7 entries in which case the 6 is your required value).

Foreach comes in handy particularly for arrays.

A while loop is used when calling information from a database.

@DigitalChris recommends str_repeat, but I think the for loop is clearer in terms of code. The best solution isn't always to be quick to do right away, it's often to be able to make quick changes if the need comes. Personal opinion, anyways.


View the original article here