public ActionResult Edit(int id = 0) { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.QualityItem.Edit(); vm.QualityItemTypeList = typeof(Code.EnumHelper.QualityItemType).ToItemList(); vm.QualityItemGroupList = (from p in db.Table <Quality.Entity.tbQualityItemGroup>() where p.tbQuality.Id == vm.QualityId orderby p.No select new System.Web.Mvc.SelectListItem { Text = p.QualityItemGroupName, Value = p.Id.ToString(), }).Distinct().ToList(); if (id != 0) { var tb = (from p in db.Table <Quality.Entity.tbQualityItem>() .Include(d => d.tbQualityItemGroup) where p.Id == id select new Dto.QualityItem.Edit { Id = p.Id, No = p.No, QualityItemName = p.QualityItemName, IsVertical = p.IsVertical, QualityItemType = p.QualityItemType, QualityItemGroupId = p.tbQualityItemGroup.Id, }).FirstOrDefault(); if (tb != null) { vm.QualityItemEdit = tb; } } return(View(vm)); } }
public ActionResult Edit(Models.QualityItem.Edit vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (Request.Form["txtIsVertical"] == "1") { vm.QualityItemEdit.IsVertical = true; } else if (Request.Form["txtIsVertical"] == "0") { vm.QualityItemEdit.IsVertical = false; } if (Request.Form["txtQualityItemTypeId"] != null) { if (Request.Form["txtQualityItemTypeId"] == "0") { vm.QualityItemEdit.QualityItemType = Code.EnumHelper.QualityItemType.Radio; } else if (Request.Form["txtQualityItemTypeId"] == "1") { vm.QualityItemEdit.QualityItemType = Code.EnumHelper.QualityItemType.CheckBox; } else if (Request.Form["txtQualityItemTypeId"] == "2") { vm.QualityItemEdit.QualityItemType = Code.EnumHelper.QualityItemType.TextBox; } } if (error.Count == decimal.Zero) { var tb = new Quality.Entity.tbQualityItem(); if (vm.QualityItemEdit.Id == 0) { tb = new Quality.Entity.tbQualityItem(); tb.No = vm.QualityItemEdit.No == null?db.Table <Quality.Entity.tbQualityItem>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.QualityItemEdit.No; tb.QualityItemName = vm.QualityItemEdit.QualityItemName; tb.QualityItemType = vm.QualityItemEdit.QualityItemType; tb.IsVertical = vm.QualityItemEdit.IsVertical; tb.tbQualityItemGroup = db.Set <Quality.Entity.tbQualityItemGroup>().Find(vm.QualityItemEdit.QualityItemGroupId); db.Set <Quality.Entity.tbQualityItem>().Add(tb); if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加评价内容"); } } else { tb = (from p in db.Table <Quality.Entity.tbQualityItem>() where p.Id == vm.QualityItemEdit.Id select p).FirstOrDefault(); if (tb != null) { tb.No = vm.QualityItemEdit.No == null?db.Table <Quality.Entity.tbQualityItem>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.QualityItemEdit.No; tb.tbQualityItemGroup = db.Set <Quality.Entity.tbQualityItemGroup>().Find(vm.QualityItemEdit.QualityItemGroupId); tb.QualityItemName = vm.QualityItemEdit.QualityItemName; tb.QualityItemType = vm.QualityItemEdit.QualityItemType; tb.IsVertical = vm.QualityItemEdit.IsVertical; XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改评价内容"); } } using (TransactionScope scope = new TransactionScope()) { if (Request["txtId"] != null) { //保存评价选项数据 new QualityOptionController().SaveQualityOption(db, tb, Request); } db.SaveChanges(); scope.Complete(); } } return(Code.MvcHelper.Post(error)); } }