// // GET: /EnvironmentManagement/AvailabilityDataEdit/ public ActionResult Index(string environmentDate = "", Constants.EnvMode envMode = Constants.EnvMode.ControlLine, string machine = "") { ViewBag.ListLocation = _environmentBaseDomain.GetLocationItemByType("2").Select(x => new SelectListItem { Text = x.F80_Name, Value = string.Format("{0}~{1}", x.F80_Id.ToString(), x.F80_Name.Trim()), Selected = string.Format("{0}~{1}", x.F80_Id.ToString(), x.F80_Name.Trim()).Equals(machine.Trim()) }); DateTime dt1; if (DateTime.TryParseExact(environmentDate, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt1)) { var model = new AvailabilityDataEditViewModel() { EnvironmentDate = dt1.ToString("dd/MM/yyyy"), EnvMode = envMode, //Machine = machine }; return(View(model)); } else { var model = new AvailabilityDataEditViewModel() { EnvironmentDate = DateTime.Now.ToString("dd/MM/yyyy"), EnvMode = envMode }; return(View(model)); } }
public ActionResult Search(AvailabilityDataEditViewModel model) { var locationValue = model.Machine.Split('~')[0]; var id = Convert.ToInt32(locationValue); var dt1 = DateTime.ParseExact(model.EnvironmentDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); var dt2 = dt1.AddDays(1); if (dt2 > DateTime.Now) { return(Json(new { Success = false, ErrorCode = -2, Message = "The End Date is invalid." }, JsonRequestBehavior.AllowGet)); } if ((dt2 - dt1).Days >= 90) { return(Json(new { Success = false, ErrorCode = -2, Message = "The different of dates is more than 90 days!" }, JsonRequestBehavior.AllowGet)); } if (dt2 < dt1) { return(Json(new { Success = false, ErrorCode = -2, Message = "The Start date is larger than the End date!" }, JsonRequestBehavior.AllowGet)); } //if (ModelState.IsValid) //{ //string avai3 = String.Empty; double sumAvai = 0; var grapdata = new List <Graphtbl>(); var dtm1 = dt1.AddHours(8); var dtm2 = dt1.AddDays(1).AddHours(8); _environmentBaseDomain.CalcAval(id + 10, dtm1, dtm2, grapdata); var count = _environmentBaseDomain.Countt82Status(id, "O", dtm1, dtm2); var total = _environmentBaseDomain.Countt82Status(id, string.Empty, dtm1, dtm2); if (total != 0) { sumAvai = (double)count / total; } var sersGraph = grapdata.GroupBy(x => x.Ser).Select(grp => grp.ToList()).ToList(); return(Json(new { Success = true, sumAvai = sumAvai.ToString("####0.00%"), grapdata = JsonConvert.SerializeObject(sersGraph), }, JsonRequestBehavior.AllowGet)); }