public object SaveTemplete(StageTemplete st, Guid?[] stageTempleteIds) { using (TeamDBContext context = new TeamDBContext()) { Guid? id = null; int sortEffectRow = 0; int countChange = 0; DatabaseAccess dba = context.DatabaseAccess(); if (st.StageTempleteId == Guid.Empty) { int totalCount = context.StageTempletes.Count(); var maxSortValue = context.StageTempletes.Max(n => n.SortValue); var results = (from n in context.StageTempletes where n.StageName == st.StageName where n.ProjectType == st.ProjectType select n); if (results.Count() > 0) { return(new { Result = false, ErrorMessage = String.Format("[{0}] 已存在,不可重复添加", st.StageName) }); } st.StageTempleteId = Guid.NewGuid(); st.SortValue = maxSortValue + 1; context.StageTempletes.Add(st); id = st.StageTempleteId; } else { StageTemplete oldst = context.StageTempletes.Where(n => n.StageTempleteId == st.StageTempleteId).Single(); if (oldst == null) { throw new Exception("不存在此阶段信息!"); } oldst.StageName = st.StageName; oldst.Description = st.Description; id = st.StageTempleteId; } countChange = context.SaveChanges(); using (var conn = dba.GetOpenConnection()) { if (stageTempleteIds != null && stageTempleteIds.Length > 0) { int length = stageTempleteIds.Length; List <object> param = new List <object>(length); for (int i = 0; i < length; i++) { param.Add(new { SortValue = i, StageTempleteId = stageTempleteIds[i] }); } sortEffectRow = dba.ExecuteNonQueryMultiple("UPDATE StageTemplete SET SortValue = @SortValue WHERE StageTempleteId = @StageTempleteId", param); } } return(new { Result = (countChange > 0 || sortEffectRow > 0), ID = id }); } }
public ActionResult SaveTemplete(StageTemplete st, Guid?[] stageTempleteIds) { if (st.StageTempleteId == null) { st.StageTempleteId = Guid.Empty; } ProjectLogic logic = new ProjectLogic(); var result = logic.SaveTemplete(st, stageTempleteIds); return(Json(result)); }