Esempio n. 1
0
        /// <summary>
        /// for setup view model, after post the user selected BaselineFlow data
        /// </summary>
        private BaselineFlowListViewModel GetBaselineFlowsModel(PostedBaselineFlow postedBaselineFlow)
        {
            // setup properties
            var model = new BaselineFlowListViewModel();
            var selectedBaselineFlow  = new List <BaselineFlow>();
            var postedBaselineFlowIds = new string[0];

            if (postedBaselineFlow == null)
            {
                postedBaselineFlow = new PostedBaselineFlow();
            }

            // if a view model array of posted BaselineFlow ids exists
            // and is not empty,save selected ids
            if (postedBaselineFlow.BaselineFlowIds != null && postedBaselineFlow.BaselineFlowIds.Any())
            {
                postedBaselineFlowIds = postedBaselineFlow.BaselineFlowIds;
            }

            // if there are any selected ids saved, create a list of BaselineFlow
            if (postedBaselineFlowIds.Any())
            {
                selectedBaselineFlow = db.BaselineFlow.ToList()
                                       .Where(x => postedBaselineFlowIds.Any(s => x.Id.ToString().Equals(s)))
                                       .ToList();
            }

            //setup a view model
            model.AvailableBaselineFlow = db.BaselineFlow.ToList();
            model.SelectedBaselineFlow  = selectedBaselineFlow;
            model.PostedBaselineFlows   = postedBaselineFlow;
            return(model);
        }
Esempio n. 2
0
        /// <summary>
        /// for setup initial view model for all BaselineFlow
        /// </summary>
        private BaselineFlowListViewModel GetBaselineFlowInitialModel()
        {
            //setup properties
            var model = new BaselineFlowListViewModel();
            var selectedBaselineFlow = new List <BaselineFlow>();

            //setup a view model
            model.AvailableBaselineFlow = db.BaselineFlow.ToList();
            model.SelectedBaselineFlow  = selectedBaselineFlow;
            return(model);
        }
Esempio n. 3
0
        public ActionResult Edit(BaselineFlowListViewModel baselineFlowListViewModel)
        {
            var flows = GetBaselineFlowsModel(baselineFlowListViewModel.PostedBaselineFlows);

            db.BaselineFlowProject.RemoveRange(
                db.BaselineFlowProject.Where(p => p.ProjectId == baselineFlowListViewModel.Project.Id));
            foreach (var baselineFlow in flows.SelectedBaselineFlow)
            {
                var flowProject = new BaselineFlowProject()
                {
                    BaselineFlowId = baselineFlow.Id, ProjectId = baselineFlowListViewModel.Project.Id
                };
                db.BaselineFlowProject.Add(flowProject);
            }
            db.SaveChanges();

            TempData["Success"] = "Saved  with success. ";
            return(View(flows));
        }