public ActionResult GetMonthApplications(int year, int month, int service_id) { ChartParams parameters = new ChartParams { Year = year, Month = month, ServiceId = service_id }; ServiceApplicationsData data = null; using (HttpClient client = WebApiClient.InitializeClient(Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + "/")) { HttpResponseMessage message = client.PostAsJsonAsync("/api/Application/ServiceStats", parameters).Result; if (message.IsSuccessStatusCode) { data = message.Content.ReadAsAsync <ServiceApplicationsData>().Result; } } if (data != null) { return(PartialView("_ServiceStats", data)); } return(null); }
public HttpResponseMessage ServiceStats([FromBody] ChartParams parameters) { using (SqlConnection connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DBCS"].ConnectionString)) { SqlDataAdapter da = new SqlDataAdapter("spGetServiceApplicationsData", connection); da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue("@ServiceId", parameters.ServiceId); da.SelectCommand.Parameters.AddWithValue("@TimeLimit", new DateTime(parameters.Year, parameters.Month, 1)); DataSet set = new DataSet(); try { ServiceApplicationsData data = new ServiceApplicationsData(); data.Consultants = new Dictionary <string, string>(); da.Fill(set); foreach (DataRow row in set.Tables[0].Rows) { data.Consultants.Add(row["Name"].ToString(), row["Email"].ToString()); data.AdvancePendingApplications = Convert.ToInt32(row["AdvancePendingCount"].ToString()); data.MainPendingApplications = Convert.ToInt32(row["MainPendingCount"].ToString()); data.NoBillApplications = Convert.ToInt32(row["NoBillCount"].ToString()); data.MainPaidApplications = Convert.ToInt32(row["MainPaidCount"].ToString()); } return(Request.CreateResponse(HttpStatusCode.OK, data)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } } }