/// <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); }
/// <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); }
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)); }