public void ToJsonString()
        {
            Revenue revenue=new Revenue() { Name = "Cake 5", UserId = 2, Amount = 23, Time = DateTime.UtcNow , Description="Hello world", Id=3};
            JsonSerializer ser = new JsonSerializer();
            var sb=new StringBuilder();
            using (var tw = new StringWriter(sb))
                ser.Serialize(tw, revenue);

            string data = sb.ToString();
        }
 public ActionResult CreateRevenue()
 {
     ViewBag.Title = "Create new revenue";
     Revenue revenue = new Revenue();
     string name = System.Web.HttpContext.Current.User.Identity.Name;
     if (!string.IsNullOrEmpty(name))
     {
         var task = Task.Factory.StartNew<User>(() =>
         {
             Common.Models.User usr = _userRepository.Find(x => string.Compare(x.Name, name) == 0);
             return usr;
         });
         task.Wait();
         Session["UserIdValue"] = task.Result.Id;
     }
     return View(revenue);
 }
        public ActionResult CreateRevenue(Revenue model)
        {
            if (ModelState.IsValid && model != null)
            {
                using (HttpClient client = new HttpClient())
                {
                    Uri uri = HttpContext.Request.Url;
                    string host = uri.Scheme + Uri.SchemeDelimiter + uri.Host + ":" + uri.Port + "/";

                    MvcApplication.Logger.InfoFormat("CreateRevenue host address is: {0}", host);

                    if (!string.IsNullOrEmpty(host))
                    {
                        if (!host.EndsWith("/"))
                            host = string.Format("{0}/", host);
                        client.BaseAddress = new Uri(host);
                    }

                    client.DefaultRequestHeaders.Add("UserId", string.Format("{0}", Session["UserIdValue"]));
                    client.DefaultRequestHeaders.Add("authenticationToken", "1111");

                    var formatter = new System.Net.Http.Formatting.JsonMediaTypeFormatter();

                    using (HttpResponseMessage response = client.PostAsync<Revenue>("api/Revenue/Complex/", model, formatter).Result)
                    {
                        if (response.IsSuccessStatusCode)
                        {
                            ViewBag.Message = "Data has been successfully submitted";

                            var resp1 = response.Content.ReadAsStringAsync().Result;
                            if (!string.IsNullOrEmpty(resp1))
                                ViewBag.Response = resp1;
                        }
                    }
                }

                return RedirectToAction("CreateRevenue");
            }

            ViewBag.Message = "Fail to submit data";
            return RedirectToAction("CreateRevenue");
        }
 private HttpResponseMessage ResponseFromPost(Revenue revenue)
 {
     var resp = new HttpResponseMessage(HttpStatusCode.Created);
     resp.Content = new StringContent(revenue.UserId.ToString());
     resp.Headers.Location = new Uri(Url.Link("DefaultApi", new { action = "get", id = revenue.Id }));
     return resp;
 }
        public HttpResponseMessage Put(int id, Revenue revenue)
        {
            if (revenue == null)
                return new HttpResponseMessage(HttpStatusCode.BadRequest);

            InitializeUserId();
            try
            {
                var repo = _unity.GetRepository<Revenue>();
                var ent = repo.FindSingle(x => x.Id == id && x.UserId == _userId);
                if (ent != null)
                {
                    repo.Update(ent);
                    _unity.Commit();
                    return new HttpResponseMessage(HttpStatusCode.OK);
                }
            }
            catch (Exception ex)
            {
                MvcApplication.Logger.Error("Error occurred while put Revenue", ex);
                return new HttpResponseMessage(HttpStatusCode.ExpectationFailed);
            }

            return new HttpResponseMessage(HttpStatusCode.Created);
        }