public ActionResult Process(int ID, List<NOC_Details> NocDetails) { Models.MSTR_NOC NOC = ctx.MSTR_NOC.Where(w => w.NocApplicationID == ID).FirstOrDefault(); if (NOC == null) return HttpNotFound(); foreach (Models.NOC_Details Details in NocDetails) { NOC_Details dbNocDetails = ctx.NOC_Details.Where(w => w.NocID == Details.NocID).FirstOrDefault(); if (dbNocDetails != null) { dbNocDetails.MaxAltitude = Details.MaxAltitude; dbNocDetails.NocBuffer = Details.NocBuffer; dbNocDetails.Status = Details.Status.Trim(); dbNocDetails.StatusChangedBy = Util.getLoginUserID(); dbNocDetails.StatusChangedOn = DateTime.UtcNow; dbNocDetails.Coordinates = Details.Coordinates; ctx.Entry(dbNocDetails).State = System.Data.Entity.EntityState.Modified; ctx.SaveChanges(); } } NOC.StartDate = NOC.NOC_Details.Min(m => m.StartDate); NOC.EndDate = NOC.NOC_Details.Max(m => m.EndDate); NOC.CountAmended = NOC.NOC_Details.Where(w => w.Status == "Amended").Count(); NOC.CountApproved = NOC.NOC_Details.Where(w => w.Status == "Approved").Count(); NOC.CountRejected = NOC.NOC_Details.Where(w => w.Status == "Rejected").Count(); NOC.CountNew = NOC.NOC_Details.Where(w => w.Status == "New").Count(); ctx.Entry(NOC).State = System.Data.Entity.EntityState.Modified; ctx.SaveChanges(); return RedirectToAction("View", new { ID = ID }); }
public NOC_Details_Ext(NOC_Details det) { this.DroneID = det.DroneID; this.Coordinates = det.Coordinates; this.EndDate = det.EndDate; this.EndTime = det.EndTime; this.IsUseCamara = det.IsUseCamara; this.LOS = det.LOS; this.MaxAltitude = det.MaxAltitude; this.MinAltitude = det.MinAltitude; this.NocID = det.NocID; this.OuterCoordinates = det.OuterCoordinates; this.PilotID = det.PilotID; this.StartDate = det.StartDate; this.StartTime = det.StartTime; this.Status = det.Status; this.StatusChangedBy = det.StatusChangedBy; this.StatusChangedOn = det.StatusChangedOn; this.NocBuffer = det.NocBuffer; DroneInfo = new DroneInfo(det.DroneID); PilotInfo = new PilotInfo(det.PilotID); }