示例#1
0
        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));
        }
示例#3
0
        /// <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();
        }
示例#4
0
        /// <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);
        }