Ejemplo n.º 1
0
        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 });
            }
        }
Ejemplo n.º 2
0
        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));
        }