public StudiesEditModel GetEditData(string studyNumber) { StudiesEditModel model; if (string.IsNullOrEmpty(studyNumber)) { model = new StudiesEditModel(); } else { model = Entities.Studies.Where(x => x.StudyNumber == studyNumber).Select(x => new StudiesEditModel() { StudyId = x.StudyId, StudyNumber = x.StudyNumber, StudyName = x.StudyName, NoOfPeriods = x.NoOfPeriods, SiteId = x.SiteId, StudyStatus = x.StudyStaus, Active = x.Active }).FirstOrDefault(); } if (model != null) { model.StudyNumber = GetStudyNumber(studyNumber); } return(model); }
public ActionResult AddEdit(StudiesEditModel studiesEditModel, int periods) { var dal = GetDAL <StepCinemaDataLayer.DataAccess.StudiesLayer>(); if (ModelState.IsValid) { studiesEditModel.NoOfPeriods = periods; dal.SaveEditData(studiesEditModel); return(RedirectToAction("List")); } return(View(studiesEditModel)); }
/// <summary> /// Add or Edit study data /// </summary> /// <param name="model">as StudiesEditModel object</param> public void SaveEditData(StudiesEditModel model) { StepCinemaDataLayer.EntityModel.Study data; data = Entities.Studies.Where(x => x.StudyNumber == model.StudyNumber || x.StudyName == model.StudyName).FirstOrDefault(); /// Add new studies if (data == null) { var userData = Entities.AddStudyDetails(model.StudyNumber, model.StudyName, model.NoOfPeriods, model.Active, new System.Data.Entity.Core.Objects.ObjectParameter("result", typeof(int))); } else /// Edit studies { data.StudyName = model.StudyName; data.NoOfPeriods = model.NoOfPeriods; data.Active = model.Active; data.UpdatedBy = CurrentUserId; data.UpdatedOn = DateTime.Now; Entities.Entry(data).State = System.Data.Entity.EntityState.Modified; } Entities.SaveChanges(); }
/// <summary> /// load study page mapping /// </summary> /// <param name="studyNumber">as string</param> /// <returns></returns> public StudiesEditModel GetEditPageMappingData(string studyNumber, int periodId = 0) { StudiesEditModel model; if (string.IsNullOrEmpty(studyNumber)) { model = new StudiesEditModel(); } else { model = Entities.Studies.Where(x => x.StudyNumber == studyNumber).Select(x => new StudiesEditModel() { StudyId = x.StudyId, StudyNumber = x.StudyNumber, StudyName = x.StudyName, NoOfPeriods = x.NoOfPeriods, SiteId = x.SiteId, StudyStatus = x.StudyStaus, Active = x.Active }).FirstOrDefault(); } if (model != null) { model.StudyNumber = GetStudyNumber(studyNumber); ///get period list var resultPeriods = Entities.Periods.ToList().OrderBy(x => x.PeriodId).Take(model.NoOfPeriods); if (periodId == 0) { periodId = resultPeriods.Select(x => x.PeriodId).FirstOrDefault(); } model.PeriodId = periodId; ///get page list var resultPages = Entities.FormGroupPeriods. Join(Entities.FormGroups, fg => fg.FormGroupId, fgp => fgp.FormGroupId, (fg, fgp) => new { fg.FormGroupId, fg.Active, fgp.FormGroupName, fg.StudyId, fg.PeriodId }).Where(x => x.StudyId == model.StudyId && x.PeriodId == periodId). ToList().OrderBy(x => x.FormGroupName); /// add period item into period list foreach (var periods in resultPeriods) { model.PeriodList.Add(new Periods { PeriodId = periods.PeriodId, PeriodName = periods.PeriodName }); } ///add page item into page list foreach (var page in resultPages) { model.PageList.Add(new Pages { PageId = page.FormGroupId, PageName = page.FormGroupName, Active = page.Active, PeriodId = periodId }); } } return(model); }