public ActionResult Edit(Project project) { string errorMsg = ""; //初始化客户经理下拉列表 List <SelectListItem> projectList = new List <SelectListItem>(); //根据用户身份做判断 List <Manager> mList = new List <Manager>(); mList = db.Managers.Where(p => p.ActiveFlag != "N" && p.ManagerType == "C").ToList(); foreach (var item in mList) { SelectListItem listItem = new SelectListItem(); listItem.Text = item.ManagerName; listItem.Value = item.id.ToString(); projectList.Add(listItem); } ViewData["CostManagerList"] = projectList; //初始化项目经理下拉列表 List <SelectListItem> managerList = new List <SelectListItem>(); //managerList.Add(new SelectListItem() { Text = "全部", Value = "A" }); //根据登陆用户身份判断 List <Manager> maList = new List <Manager>(); if (UserLogin.userroles.Contains("M")) { int userid = Convert.ToInt32(UserLogin.userid); var user = db.Users.Where(x => x.id == userid).FirstOrDefault(); var pros = from Manager in db.Managers where Manager.id == user.PersonId select Manager; maList = pros.Where(p => p.ActiveFlag != "N").ToList(); } else { maList = db.Managers.Where(p => p.ActiveFlag != "N" && p.ManagerType == "M").ToList(); } foreach (var item in maList) { SelectListItem listItem = new SelectListItem(); listItem.Text = item.ManagerName; listItem.Value = item.id.ToString(); managerList.Add(listItem); } ViewData["ManagerList"] = managerList; //初始化项目状态下拉列表 List <SelectListItem> projStatusList = new List <SelectListItem>(); //projStatusList.Add(new SelectListItem() { Text = "全部", Value = "A" }); foreach (var item in db.Dictionaries.Where(d => d.TYPE == "PROJECTSTATUS")) { SelectListItem listItem = new SelectListItem(); listItem.Text = item.VALUE; listItem.Value = item.CODE; projStatusList.Add(listItem); } ViewData["ProjStatusList"] = projStatusList; try { if (ModelState.IsValid) { //Cancel validation before save db.Configuration.ValidateOnSaveEnabled = false; var entry = db.Entry(project); entry.State = EntityState.Modified; entry.Property(e => e.CreationDate).IsModified = false; entry.Property(e => e.CreatedBy).IsModified = false; entry.Property(e => e.Attribute1).IsModified = false; entry.Property(e => e.Attribute2).IsModified = false; entry.Property(e => e.Attribute3).IsModified = false; entry.Property(e => e.Attribute4).IsModified = false; entry.Property(e => e.Attribute5).IsModified = false; entry.Property(e => e.Attribute6).IsModified = false; entry.Property(e => e.Attribute7).IsModified = false; entry.Property(e => e.Attribute8).IsModified = false; entry.Property(e => e.Attribute9).IsModified = false; entry.Property(e => e.Attribute10).IsModified = false; project.LastUpdateDate = DateTime.Now; project.LastUpdatedBy = Convert.ToInt32(UserLogin.userid);//Need to change to use actual login userid //Validate Projects before commit to Database ProjectsBO projectBO = new ProjectsBO(); errorMsg = projectBO.ValidateProject(project); if (!String.IsNullOrEmpty(errorMsg)) { ViewBag.ErrorMsg = errorMsg; return(View(project)); } db.SaveChanges(); db.Configuration.ValidateOnSaveEnabled = true; return(RedirectToAction("Index", new { projectId = project.id })); } } catch (Exception ex) { ViewBag.ErrorMsg = ex.Message; return(View(project)); } return(View(project)); }
public ActionResult Create(Project project) { //初始化客户经理下拉列表 List <SelectListItem> projectList = new List <SelectListItem>(); //根据用户身份做判断 List <Manager> mList = new List <Manager>(); mList = db.Managers.Where(p => p.ActiveFlag != "N" && p.ManagerType == "C").ToList(); foreach (var item in mList) { SelectListItem listItem = new SelectListItem(); listItem.Text = item.ManagerName; listItem.Value = item.id.ToString(); projectList.Add(listItem); } ViewData["CostManagerList"] = projectList; //初始化项目经理下拉列表 List <SelectListItem> managerList = new List <SelectListItem>(); //managerList.Add(new SelectListItem() { Text = "全部", Value = "A" }); //根据登陆用户身份判断 List <Manager> maList = new List <Manager>(); if (UserLogin.userroles.Contains("M")) { int userid = Convert.ToInt32(UserLogin.userid); var user = db.Users.Where(x => x.id == userid).FirstOrDefault(); var pros = from Manager in db.Managers where Manager.id == user.PersonId select Manager; maList = pros.Where(p => p.ActiveFlag != "N").ToList(); } else { maList = db.Managers.Where(p => p.ActiveFlag != "N" && p.ManagerType == "M").ToList(); } foreach (var item in maList) { SelectListItem listItem = new SelectListItem(); listItem.Text = item.ManagerName; listItem.Value = item.id.ToString(); managerList.Add(listItem); } ViewData["ManagerList"] = managerList; //初始化项目状态下拉列表 List <SelectListItem> projStatusList = new List <SelectListItem>(); //projStatusList.Add(new SelectListItem() { Text = "全部", Value = "A" }); foreach (var item in db.Dictionaries.Where(d => d.TYPE == "PROJECTSTATUS" && d.CODE != "C")) { SelectListItem listItem = new SelectListItem(); listItem.Text = item.VALUE; listItem.Value = item.CODE; projStatusList.Add(listItem); } ViewData["ProjStatusList"] = projStatusList; ProjectsBO projectBO = new ProjectsBO(); try { // TODO: Add insert logic here db.Projects.Add(project); project.CreatedBy = Convert.ToInt32(UserLogin.userid); project.CreationDate = System.DateTime.Now; project.LastUpdateDate = System.DateTime.Now; project.LastUpdatedBy = Convert.ToInt32(UserLogin.userid); string msg = projectBO.ValidateProject(project); if (!String.IsNullOrEmpty(msg)) { ViewBag.ErrorMsg = msg; return(View(project)); } db.SaveChanges(); return(RedirectToAction("Index", new { projectNum = project.ProjectNum })); } catch (Exception ex) { ViewBag.ErrorMsg = ex.Message; return(View()); } }