Пример #1
0
        public JsonResult AddItem(string targetID, string capitalPlanType, bool isSub)
        {
            S_F_CapitalPlanTemplate_Detail target = entities.Set <S_F_CapitalPlanTemplate_Detail>().Find(targetID);
            string templateID = GetQueryString("ID");

            //total不能添加子项
            if (target.CapitalPlanType == CapitalPlanType.Total.ToString() && isSub)
            {
                throw new Formula.Exceptions.BusinessValidationException("不能插入子项");
            }

            S_F_CapitalPlanTemplate_Detail template = new S_F_CapitalPlanTemplate_Detail();

            template.ID = FormulaHelper.CreateGuid();

            //插入子项
            if (isSub)
            {
                template.ParentID = targetID;
                template.FullID   = string.IsNullOrEmpty(targetID) ?
                                    template.ID : (target.FullID + "," + template.ID);
                template.SortIndex = GetMaxOrderIndex() + 1;
            }
            //插入同项
            else
            {
                template.ParentID = target.ParentID;
                template.FullID   = target.FullID.Replace(target.ID, template.ID);

                S_F_CapitalPlanTemplate_Detail targetNext = entities.Set <S_F_CapitalPlanTemplate_Detail>()
                                                            .Where(a => a.ParentID == target.ParentID && a.SortIndex > target.SortIndex)
                                                            .OrderBy(a => a.SortIndex).FirstOrDefault();

                if (targetNext != null)
                {
                    template.SortIndex = (targetNext.SortIndex + target.SortIndex) / 2;
                }
                else
                {
                    template.SortIndex = target.SortIndex + 1;
                }
            }

            template.S_F_CapitalPlanTemplateID = templateID;

            template.Name            = "新增项";
            template.IsReadOnly      = false;
            template.CapitalPlanType = capitalPlanType;
            template.CreateDate      = DateTime.Now;
            template.CreateUserID    = CurrentUserInfo.UserID;
            template.CreateUserName  = CurrentUserInfo.UserName;
            template._state          = "add";

            var res = entities.Set <S_F_CapitalPlanTemplate_Detail>().Add(template);

            entities.SaveChanges();
            return(Json(res));
        }
Пример #2
0
        public JsonResult MoveItem(string sourceID, string targetID, string dragAction)
        {
            var sourceNode = this.GetEntityByID <S_F_CapitalPlanTemplate_Detail>(sourceID);

            if (sourceNode == null)
            {
                throw new Formula.Exceptions.BusinessValidationException("没有找到指定内容,无法移动");
            }
            if (dragAction.ToLower() == "before")
            {
                var target = this.GetEntityByID <S_F_CapitalPlanTemplate_Detail>(targetID);
                if (target == null)
                {
                    throw new Formula.Exceptions.BusinessValidationException("没有找到指定内容,无法移动");
                }

                S_F_CapitalPlanTemplate_Detail targetPre = entities.Set <S_F_CapitalPlanTemplate_Detail>()
                                                           .Where(a => a.ParentID == target.ParentID && a.SortIndex < target.SortIndex)
                                                           .OrderByDescending(a => a.SortIndex).FirstOrDefault();

                if (targetPre != null)
                {
                    sourceNode.SortIndex = (targetPre.SortIndex + target.SortIndex) / 2;
                }
                else
                {
                    sourceNode.SortIndex = target.SortIndex - 1;
                }
            }
            else if (dragAction.ToLower() == "after")
            {
                var target = this.GetEntityByID <S_F_CapitalPlanTemplate_Detail>(targetID);
                if (target == null)
                {
                    throw new Formula.Exceptions.BusinessValidationException("没有找到指定内容,无法移动");
                }

                S_F_CapitalPlanTemplate_Detail targetNext = entities.Set <S_F_CapitalPlanTemplate_Detail>()
                                                            .Where(a => a.ParentID == target.ParentID && a.SortIndex > target.SortIndex)
                                                            .OrderBy(a => a.SortIndex).FirstOrDefault();

                if (targetNext != null)
                {
                    sourceNode.SortIndex = (targetNext.SortIndex + target.SortIndex) / 2;
                }
                else
                {
                    sourceNode.SortIndex = target.SortIndex + 1;
                }
            }
            this.entities.SaveChanges();
            return(Json(sourceNode));
        }
Пример #3
0
        public ActionResult TreeList()
        {
            string id = GetQueryString("ID");
            S_F_CapitalPlanTemplate planTemplate = entities.Set <S_F_CapitalPlanTemplate>().Find(id);

            if (planTemplate == null)
            {
                throw new Exception("未找到id为【" + id + "】的S_F_CapitalPlanTemplate");
            }

            //如果没有任何节点,插入CapitalPlanType枚举值对应的节点
            if (entities.Set <S_F_CapitalPlanTemplate_Detail>().Count(a => a.S_F_CapitalPlanTemplateID == id) == 0)
            {
                //初始
                {
                    S_F_CapitalPlanTemplate_Detail template = new S_F_CapitalPlanTemplate_Detail();
                    template.ID     = FormulaHelper.CreateGuid();
                    template.FullID = template.ID;
                    template.S_F_CapitalPlanTemplateID = id;
                    template.ParentID        = "";
                    template.Name            = "初期合计";
                    template.IsReadOnly      = true;
                    template.CapitalPlanType = CapitalPlanType.Initial.ToString();
                    template.CreateDate      = DateTime.Now;
                    template.CreateUserID    = CurrentUserInfo.UserID;
                    template.CreateUserName  = CurrentUserInfo.UserName;
                    template.SortIndex       = 0;
                    entities.Set <S_F_CapitalPlanTemplate_Detail>().Add(template);
                }
                //流入
                {
                    S_F_CapitalPlanTemplate_Detail template = new S_F_CapitalPlanTemplate_Detail();
                    template.ID     = FormulaHelper.CreateGuid();
                    template.FullID = template.ID;
                    template.S_F_CapitalPlanTemplateID = id;
                    template.ParentID        = "";
                    template.Name            = "经营现金流入";
                    template.IsReadOnly      = true;
                    template.CapitalPlanType = CapitalPlanType.In.ToString();
                    template.CreateDate      = DateTime.Now;
                    template.CreateUserID    = CurrentUserInfo.UserID;
                    template.CreateUserName  = CurrentUserInfo.UserName;
                    template.SortIndex       = 1;
                    entities.Set <S_F_CapitalPlanTemplate_Detail>().Add(template);
                }
                //支出
                {
                    S_F_CapitalPlanTemplate_Detail template = new S_F_CapitalPlanTemplate_Detail();
                    template.ID     = FormulaHelper.CreateGuid();
                    template.FullID = template.ID;
                    template.S_F_CapitalPlanTemplateID = id;
                    template.ParentID        = "";
                    template.Name            = "经营性现金支出";
                    template.IsReadOnly      = true;
                    template.CapitalPlanType = CapitalPlanType.Out.ToString();
                    template.CreateDate      = DateTime.Now;
                    template.CreateUserID    = CurrentUserInfo.UserID;
                    template.CreateUserName  = CurrentUserInfo.UserName;
                    template.SortIndex       = 2;
                    entities.Set <S_F_CapitalPlanTemplate_Detail>().Add(template);
                }
                //总计
                {
                    S_F_CapitalPlanTemplate_Detail template = new S_F_CapitalPlanTemplate_Detail();
                    template.ID     = FormulaHelper.CreateGuid();
                    template.FullID = template.ID;
                    template.S_F_CapitalPlanTemplateID = id;
                    template.ParentID        = "";
                    template.Name            = "现金余缺";
                    template.IsReadOnly      = true;
                    template.CapitalPlanType = CapitalPlanType.Total.ToString();
                    template.CreateDate      = DateTime.Now;
                    template.CreateUserID    = CurrentUserInfo.UserID;
                    template.CreateUserName  = CurrentUserInfo.UserName;
                    template.SortIndex       = 3;
                    entities.Set <S_F_CapitalPlanTemplate_Detail>().Add(template);
                }


                entities.SaveChanges();
            }

            //供选择的不包含CapitalPlanType.Total
            var dt = EnumBaseHelper.GetEnumTable(typeof(CapitalPlanType));

            //DataRow dr = dt.Select("value='" + CapitalPlanType.Total.ToString() + "'")[0];
            //dt.Rows.Remove(dr);
            ViewBag.CapitalPlanType = JsonHelper.ToJson(dt);;
            return(View());
        }