public ActionResult Edited(ViewModel_Conference viewModel_Conference, HttpPostedFileBase docFile) { if (viewModel_Conference == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (viewModel_Conference.Confernece == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (viewModel_Conference.Confernece.ID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (!ModelState.IsValid) { ViewData["error"] = "Please check below item(s), again"; return(View(viewModel_Conference)); } // Save // Procedure of form edition Cmn cmn = new Cmn(); cmn.UserName = "******"; if (User.Identity.IsAuthenticated) { cmn.UserName = User.Identity.Name; } Conference conference = db.Conferences.Find(viewModel_Conference.Confernece.ID); // Save as Fields / Technical / Area if (viewModel_Conference.Fields != null) { foreach (Field item in viewModel_Conference.Fields) { Field field = db.Fields.Find(item.ID); // *** Non-system attribute (Begin) *** // field.Code = item.Code; field.Description = item.Description; // *** Non-system attribute (Finish) *** // // Set system log field.DateEdit = cmn.CurrentDatetime; field.UserEdit = cmn.UserName; db.Entry(field).State = EntityState.Modified; } } // Save as control date if (viewModel_Conference.ControlDates != null) { foreach (ControlDate item in viewModel_Conference.ControlDates) { ControlDate controlDate = db.ControlDates.Find(item.ID); // *** Non-system attribute (Begin) *** // controlDate.Description = item.Description; controlDate.PeriodFrom = item.PeriodFrom; controlDate.PeriodTo = item.PeriodTo; // *** Non-system attribute (Finish) *** // // Set system log controlDate.DateEdit = cmn.CurrentDatetime; controlDate.UserEdit = cmn.UserName; db.Entry(controlDate).State = EntityState.Modified; } } // *** Non-system attribute (Begin) *** // conference.Title = viewModel_Conference.Confernece.Title; conference.PeriodFrom = viewModel_Conference.Confernece.PeriodFrom; conference.PeriodTo = viewModel_Conference.Confernece.PeriodTo; conference.Venue = viewModel_Conference.Confernece.Venue; conference.City = viewModel_Conference.Confernece.City; conference.Country = viewModel_Conference.Confernece.Country; conference.HomeUrl = viewModel_Conference.Confernece.HomeUrl; conference.Contact = viewModel_Conference.Confernece.Contact; conference.Style = viewModel_Conference.Confernece.Style; if (docFile != null) { try { var fileName = cmn.GetFileName("Conference", "Poster", conference.ID.ToString(), "", conference.Code.ToString(), Path.GetExtension(docFile.FileName).ToString()); var filePath = Path.Combine(Server.MapPath(cmn.GetStoredFilePath()), fileName); docFile.SaveAs(filePath); conference.FileNamePoster = Path.GetFileName(docFile.FileName); conference.FilePathPoster = filePath.ToString(); } catch { ViewData["uploadMsg"] = "Upload failed"; return(View(viewModel_Conference)); } } // *** Non-system attribute (Finish) *** // // Set system log conference.DateEdit = cmn.CurrentDatetime; conference.UserEdit = cmn.UserName; db.Entry(conference).State = EntityState.Modified; // Update database db.SaveChanges(); String ctrlBtn = Request.Form["ctrlBtn"]; if (ctrlBtn == "Refresh") { return(RedirectToAction("Edit", "Conferences", new { id = conference.ID })); } if (ctrlBtn == "Add Item") { // Set row number String numRecord = db.Fields.Count(p => p.ConferenceID == conference.ID).ToString(); String maxVal = db.Fields.Where(p => p.ConferenceID == conference.ID).Max(p => p.RowNum).ToString(); Field newItem = new Field(); newItem.ConferenceID = conference.ID; newItem.RowNum = cmn.CnvInteger(cmn.GetVersionID(numRecord.ToString(), maxVal, 2)); newItem.DateCreate = cmn.CurrentDatetime; newItem.UserCreate = cmn.UserName; newItem.DateEdit = cmn.CurrentDatetime; newItem.UserEdit = cmn.UserName; db.Fields.Add(newItem); db.SaveChanges(); return(RedirectToAction("Edit", "Conferences", new { id = conference.ID })); } if (ctrlBtn == "Submit") { List <Field> removeItems = db.Fields.Where(p => p.ConferenceID == conference.ID) .Where(p => p.Code == null && p.Description == null) .ToList(); if (removeItems == null) { return(RedirectToAction("Details", "Conferences", new { id = conference.ID })); } ; foreach (Field removeItem in removeItems) { db.Fields.Remove(removeItem); } db.SaveChanges(); return(RedirectToAction("Details", "Conferences", new { id = conference.ID })); } return(RedirectToAction("", "Home", null)); }