Example #1
0
 public static void SaveWorkCaseEx(DataSet workCaseDs, string caseCode, string ActCode)
 {
     try
     {
         EntityData        entitydata = WorkFlowRule.SaveWorkFlowCaseData(workCaseDs, caseCode);
         StandardEntityDAO ydao       = new StandardEntityDAO("Standard_WorkFlowCase");
         ydao.BeginTrans();
         try
         {
             if (entitydata != null)
             {
                 for (int i = entitydata.Tables["WorkFlowAct"].Rows.Count - 1; i >= 0; i--)
                 {
                     if (ActCode == entitydata.Tables["WorkFlowAct"].Rows[i]["ActCode"].ToString())
                     {
                         entitydata.Tables["WorkFlowAct"].Rows[i].Delete();
                     }
                 }
                 ydao.SubmitEntity(entitydata);
             }
             ydao.CommitTrans();
         }
         catch (Exception exception)
         {
             ydao.RollBackTrans();
             throw exception;
         }
         entitydata.Dispose();
     }
     catch
     {
         throw;
     }
 }
Example #2
0
 public static void SaveContractAuditing(DataSet workCaseDs, EntityData applicationEntity, EntityData contractEntity, string caseCode)
 {
     try
     {
         EntityData        entitydata = WorkFlowRule.SaveWorkFlowCaseData(workCaseDs, caseCode);
         StandardEntityDAO ydao       = new StandardEntityDAO("Standard_WorkFlowCase");
         ydao.BeginTrans();
         try
         {
             try
             {
                 if (entitydata != null)
                 {
                     ydao.SubmitEntity(entitydata);
                 }
                 ydao.EntityName = "WorkFlow_Leave";
                 ydao.SubmitEntity(applicationEntity);
                 ydao.EntityName = "Standard_Contract";
                 ydao.SubmitEntity(contractEntity);
                 ydao.CommitTrans();
             }
             catch (Exception exception)
             {
                 ydao.RollBackTrans();
                 throw exception;
             }
         }
         finally
         {
             ydao.Dispose();
         }
         entitydata.Dispose();
     }
     catch
     {
         throw;
     }
 }
Example #3
0
 public static void SaveWorkCaseEx(DataSet workCaseDs, string caseCode)
 {
     try
     {
         EntityData        entitydata = WorkFlowRule.SaveWorkFlowCaseData(workCaseDs, caseCode);
         StandardEntityDAO ydao       = new StandardEntityDAO("Standard_WorkFlowCase");
         try
         {
             if (entitydata != null)
             {
                 ydao.SubmitEntity(entitydata);
             }
         }
         catch (Exception exception)
         {
             throw exception;
         }
         entitydata.Dispose();
     }
     catch
     {
         throw;
     }
 }
Example #4
0
 public LoadModel(CicotiWebApp.Data.ApplicationDbContext context, UserManager <ApplicationUser> userManager)
 {
     _context      = context;
     _userManager  = userManager;
     _workFlowRule = new WorkFlowRule(_context, _userManager);
 }
Example #5
0
 public void OutputWorkCase(DataSet ds, string CaseCode)
 {
     WorkFlowRule.SaveWorkFlowCase(ds, CaseCode);
 }
Example #6
0
    /// ****************************************************************************
    /// <summary>
    /// 执行 sql 语句将查询结果帮定显示。


    /// </summary>
    /// ****************************************************************************
    private void LoadData1()
    {
        string     sql    = (string)this.ViewState["SqlString"];
        QueryAgent qa     = new QueryAgent();
        EntityData entity = qa.FillEntityData("WorkFlowAct", sql);

        qa.Dispose();



        //流程意见
        DataColumn Opinion = new DataColumn();

        Opinion.ColumnName   = "Opinion";
        Opinion.DefaultValue = "";
        Opinion.DataType     = System.Type.GetType("System.String");
        //流程同意否决项

        DataColumn Opinion1 = new DataColumn();

        Opinion1.ColumnName   = "OpinionConfirm";
        Opinion1.DefaultValue = "";
        Opinion1.DataType     = System.Type.GetType("System.String");
        //增加流程角色名

        DataColumn Opinion2 = new DataColumn();

        Opinion2.ColumnName   = "RoleName";
        Opinion2.DefaultValue = "";
        Opinion2.DataType     = System.Type.GetType("System.String");
        //结束
        DataColumn Opinion3 = new DataColumn();

        Opinion3.ColumnName   = "IsEnd";
        Opinion3.DefaultValue = "1";
        Opinion3.DataType     = System.Type.GetType("System.String");

        entity.CurrentTable.Columns.Add(Opinion);
        entity.CurrentTable.Columns.Add(Opinion1);
        entity.CurrentTable.Columns.Add(Opinion2);
        entity.CurrentTable.Columns.Add(Opinion3);
        WorkCase workCase = Rms.WorkFlow.WorkCaseManager.GetWorkCase(this.ViewState["_CaseCode"].ToString());

        System.Collections.IDictionaryEnumerator ie = workCase.GetOpinionEnumerator();
        string TaskCode = "";

        if (this.ActCode != "" && !this.Scout)
        {
            Act act = workCase.GetAct(this.ActCode);
            TaskCode = act.ToTaskCode;
        }
        while (ie.MoveNext())
        {
            Opinion Flowopinion = (Opinion)ie.Value;
            foreach (DataRow dr in entity.CurrentTable.Rows)
            {
                //获取当前辅助控制的状态

                ModuleState moduleState = this.Toobar.GetModuleState(WorkFlowRule.GetTaskOpinionTypeByActCode(dr["ActCode"].ToString()));
                //加载意见标题项

                Procedure procedure = DefinitionManager.GetProcedureDifinition(dr["ProcedureCode"].ToString(), true);
                Task      task      = procedure.GetTask(dr["ToTaskCode"].ToString());
                string    IsCopy    = dr["Copy"].ToString();

                //判断是否为结束

                if (task.TaskType == 2)
                {
                    dr["IsEnd"] = "0";
                }

                if (task != null)
                {
                    if (dr["TaskActorID"].ToString() != "")
                    {
                        TaskActor taskActor = task.GetTaskActor(dr["TaskActorID"].ToString());
                        if (taskActor.OpinionType + "" != "")
                        {
                            dr["RoleName"] = taskActor.OpinionType + "意见";
                        }
                        else
                        {
                            Role role = procedure.GetRole(taskActor.ActorCode);
                            if (role != null)
                            {
                                dr["RoleName"] = role.RoleName + "意见";
                            }
                        }
                    }
                    else
                    {
                        if (task.OpinionType + "" != "")
                        {
                            dr["RoleName"] = task.OpinionType + "意见";
                        }
                        else
                        {
                            Role role = procedure.GetRole(task.TaskRole);
                            if (role != null)
                            {
                                dr["RoleName"] = role.RoleName + "意见";
                            }
                        }
                    }
                }

                if (dr["ActCode"].ToString() == Flowopinion.ApplicationCode)
                {
                    //加载同意否决项

                    this.LoadOpinionConfirm(dr["ApplicationSubject"].ToString(), dr);


                    //加载默认用户
                    this.LoadImgSign(moduleState, dr["ActUserCode"].ToString(), dr);

                    //当前状态为End时

                    if (dr["Status"].ToString() == "End")
                    {
                        Act tmpAct = workCase.GetAct(dr["ActCode"].ToString());

                        // 1为抄送并且公开;2为抄送发起人;3为抄送人自己;4为当前用户拥有监控权限 以上4种情况将允许意见的出现

                        if (!(tmpAct.Copy == 1 && tmpAct.IsSleep == 0) || (tmpAct.ToTaskCode == TaskCode && tmpAct.FromUserCode == this.UserCode && tmpAct.Copy == 1) || tmpAct.ActUserCode == this.UserCode || this.IsScoutPopedom)
                        {
                            if (moduleState != ModuleState.Sightless && moduleState != ModuleState.Other)
                            {
                                //获取意见项

                                if (Flowopinion.OpinionText.Length > 0)
                                {
                                    //dr["Opinion"] = "<a href=\"#\" OnClick=\"javascript:WorkFlowCaseStateOpenOpinionView('" + Flowopinion.OpinionCode + "');\">" + Flowopinion.OpinionText.Substring(0, 50) + "...</a>";
                                    dr["Opinion"] = Flowopinion.OpinionText.Replace("\n", "<br>") + "&nbsp;&nbsp;";
                                    string tmpstr = DocumentRule.Instance().GetAttachListHtml("WorkFlowActOpinion", tmpAct.ActCode);
                                    if (tmpstr != "")
                                    {
                                        //dr["Opinion"] += " <img src=\"../Images/attach.gif\" style=\"border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none\" /></a><br>" + "附件:" + tmpstr;
                                        dr["Opinion"] += "<br>" + "附件:" + tmpstr;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        if (Request["Debug"] + "" == "1")
        {
            string    procedureCode = entity.GetString("ProcedureCode");
            Procedure procedure     = DefinitionManager.GetProcedureDifinition(procedureCode, true);

            /////////////////创建属性表///////////////////
            DataTable PropertyTable = RmsPM.BLL.WorkFlowRule.GetPropertyTable(workCase, procedure);

            this.DataGrid1.DataSource = entity;
            this.DataGrid1.DataBind();

            this.DataGrid2.DataSource = PropertyTable;
            this.DataGrid2.DataBind();
        }
        DataView dv;

        if (!((User)Session["user"]).HasOperationRight("090102"))
        {
            dv = new DataView(entity.CurrentTable, String.Format(" ActUserCode='{0}' or (FromUserCode='{0}' and Copy='1') or (Copy = '1' and IsSleep='1') or Copy='0'", UserCode), "", DataViewRowState.CurrentRows);
        }
        else
        {
            dv = new DataView(entity.CurrentTable);
        }
        this.DataGrid3.DataSource = dv;
        this.DataGrid3.DataBind();

        foreach (DataRow dr in entity.CurrentTable.Select())
        {
            Act tmpAct = workCase.GetAct(dr["ActCode"].ToString());
            if (dr["IsEnd"].ToString() == "0" || tmpAct.Copy == 1)
            {
                entity.CurrentTable.Rows.Remove(dr);
            }
        }
        this.DataGrid4.DataSource = entity.CurrentTable;
        this.DataGrid4.DataBind();

        if (dv.Count == 0)
        {
            this.Visible = false;
        }
        else
        {
            this.Visible = true;
            if (this.ActCode != "" && !this.Scout)
            {
                //Act act = workCase.GetAct(this.ActCode);
                //string TaskCode = act.ToTaskCode;
                for (int i = 0; i < DataGrid3.Items.Count; i++)
                {
                    //DataGrid3.Items[i].Cells[10].Text.Trim() == "ActCode" &&

                    if (DataGrid3.Items[i].Cells[11].Text.Trim() == TaskCode && DataGrid3.Items[i].Cells[12].Text.Trim() == this.UserCode && DataGrid3.Items[i].Cells[13].Text.Trim() == "1")
                    {
                        Act tmpact = workCase.GetAct(DataGrid3.Items[i].Cells[10].Text.Trim());
                        ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Checked = (tmpact.IsSleep == 1);
                        ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Visible = true;
                    }
                    else
                    {
                        ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Visible = false;
                        Act tmpact = workCase.GetAct(DataGrid3.Items[i].Cells[10].Text.Trim());
                        if (tmpact.IsSleep == 1 && tmpact.Copy == 1)
                        {
                            DataGrid3.Items[i].Cells[9].Text = "&nbsp;√";
                        }
                        else if (tmpact.IsSleep == 0 && tmpact.Copy == 1)
                        {
                            DataGrid3.Items[i].Cells[9].Text = "&nbsp;x";
                        }
                    }
                }
            }
            if (this.Scout)
            {
                for (int i = 0; i < DataGrid3.Items.Count; i++)
                {
                    ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Visible = false;
                    Act tmpact = workCase.GetAct(DataGrid3.Items[i].Cells[10].Text.Trim());
                    if (tmpact.IsSleep == 1 && tmpact.Copy == 1)
                    {
                        DataGrid3.Items[i].Cells[9].Text = "&nbsp;√";
                    }
                    else if (tmpact.IsSleep == 0 && tmpact.Copy == 1)
                    {
                        DataGrid3.Items[i].Cells[9].Text = "&nbsp;x";
                    }
                }
            }
        }
        entity.Dispose();
    }
Example #7
0
    /// ****************************************************************************
    /// <summary>
    /// 执行 sql 语句将查询结果帮定显示。


    /// </summary>
    /// ****************************************************************************
    private void LoadData()
    {
        string     sql    = (string)this.ViewState["SqlString"];
        QueryAgent qa     = new QueryAgent();
        EntityData entity = qa.FillEntityData("WorkFlowAct", sql);

        qa.Dispose();


        DataColumn Opinion = new DataColumn();

        Opinion.ColumnName   = "Opinion";
        Opinion.DefaultValue = "";
        Opinion.DataType     = System.Type.GetType("System.String");
        entity.CurrentTable.Columns.Add(Opinion);

        WorkCase workCase = Rms.WorkFlow.WorkCaseManager.GetWorkCase(this.ViewState["_CaseCode"].ToString());

        System.Collections.IDictionaryEnumerator ie = workCase.GetOpinionEnumerator();
        string TaskCode = "";

        if (this.ActCode != "" && !this.Scout)
        {
            Act act = workCase.GetAct(this.ActCode);
            TaskCode = act.ToTaskCode;
        }
        while (ie.MoveNext())
        {
            Opinion Flowopinion = (Opinion)ie.Value;
            foreach (DataRow dr in entity.CurrentTable.Rows)
            {
                if (dr["ActCode"].ToString() == Flowopinion.ApplicationCode)
                {
                    if (dr["Status"].ToString() == "End")
                    {
                        Act tmpAct = workCase.GetAct(dr["ActCode"].ToString());
                        if (!(tmpAct.Copy == 1 && tmpAct.IsSleep == 0) || (tmpAct.ToTaskCode == TaskCode && tmpAct.FromUserCode == this.UserCode && tmpAct.Copy == 1) || tmpAct.ActUserCode == this.UserCode || this.IsScoutPopedom)
                        {
                            if (Flowopinion.OpinionText.Length > 0)
                            {
                                ModuleState moduleState = this.Toobar.GetModuleState(WorkFlowRule.GetTaskOpinionTypeByActCode(dr["ActCode"].ToString()));
                                if (moduleState != ModuleState.Sightless && moduleState != ModuleState.Other)
                                {
                                    //dr["Opinion"] = "<a href=\"#\" OnClick=\"javascript:WorkFlowCaseStateOpenOpinionView('" + Flowopinion.OpinionCode + "');\">" + Flowopinion.OpinionText.Substring(0, 50) + "...</a>";
                                    dr["Opinion"] = Flowopinion.OpinionText.Replace("\n", "<br>") + "&nbsp;&nbsp;<a href=\"#\" OnClick=\"javascript:WorkFlowCaseStateOpenOpinionView('" + Flowopinion.OpinionCode + "');return false;\">[详细]";
                                    string tmpstr = DocumentRule.Instance().GetAttachListHtml("WorkFlowActOpinion", tmpAct.ActCode);
                                    if (tmpstr != "")
                                    {
                                        //dr["Opinion"] += " <img src=\"../Images/attach.gif\" style=\"border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none\" /></a><br>" + "附件:" + tmpstr;
                                        dr["Opinion"] += "</a><br>" + "附件:" + tmpstr;
                                    }
                                    else
                                    {
                                        dr["Opinion"] += "</a>";
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        if (Request["Debug"] + "" == "1")
        {
            string    procedureCode = entity.GetString("ProcedureCode");
            Procedure procedure     = DefinitionManager.GetProcedureDifinition(procedureCode, true);

            /////////////////创建属性表///////////////////
            DataTable PropertyTable = RmsPM.BLL.WorkFlowRule.GetPropertyTable(workCase, procedure);

            this.DataGrid1.DataSource = entity;
            this.DataGrid1.DataBind();

            this.DataGrid2.DataSource = PropertyTable;
            this.DataGrid2.DataBind();
        }
        DataView dv;

        if (!((User)Session["user"]).HasOperationRight("090102"))
        {
            dv = new DataView(entity.CurrentTable, String.Format(" ActUserCode='{0}' or (FromUserCode='{0}' and Copy='1') or (Copy = '1' and IsSleep='1') or Copy='0'", UserCode), "", DataViewRowState.CurrentRows);
        }
        else
        {
            dv = new DataView(entity.CurrentTable);
        }
        this.dgList.DataSource = dv;
        this.dgList.DataBind();

        if (dv.Count == 0)
        {
            this.Visible = false;
        }
        else
        {
            this.Visible = true;
            if (this.ActCode != "" && !this.Scout)
            {
                //Act act = workCase.GetAct(this.ActCode);
                //string TaskCode = act.ToTaskCode;
                for (int i = 0; i < dgList.Items.Count; i++)
                {
                    //dgList.Items[i].Cells[10].Text.Trim() == "ActCode" &&
                    if (dgList.Items[i].Cells[8].Text.Trim() == TaskCode && dgList.Items[i].Cells[9].Text.Trim() == this.UserCode && dgList.Items[i].Cells[10].Text.Trim() == "1")
                    {
                        Act tmpact = workCase.GetAct(dgList.Items[i].Cells[7].Text.Trim());
                        ((CheckBox)dgList.Items[i].FindControl("chkopinionshow")).Checked = (tmpact.IsSleep == 1);
                        ((CheckBox)dgList.Items[i].FindControl("chkopinionshow")).Visible = true;
                    }
                    else
                    {
                        ((CheckBox)dgList.Items[i].FindControl("chkopinionshow")).Visible = false;
                        Act tmpact = workCase.GetAct(dgList.Items[i].Cells[7].Text.Trim());
                        if (tmpact.IsSleep == 1 && tmpact.Copy == 1)
                        {
                            dgList.Items[i].Cells[6].Text = "&nbsp;公开";
                        }
                        else if (tmpact.IsSleep == 0 && tmpact.Copy == 1)
                        {
                            dgList.Items[i].Cells[6].Text = "&nbsp;未公开";
                        }
                    }
                }
            }
            if (this.Scout)
            {
                for (int i = 0; i < dgList.Items.Count; i++)
                {
                    ((CheckBox)dgList.Items[i].FindControl("chkopinionshow")).Visible = false;
                    Act tmpact = workCase.GetAct(dgList.Items[i].Cells[7].Text.Trim());
                    if (tmpact.IsSleep == 1 && tmpact.Copy == 1)
                    {
                        dgList.Items[i].Cells[6].Text = "&nbsp;公开";
                    }
                    else if (tmpact.IsSleep == 0 && tmpact.Copy == 1)
                    {
                        dgList.Items[i].Cells[6].Text = "&nbsp;未公开";
                    }
                }
            }
        }
        entity.Dispose();
    }
Example #8
0
        private static string GetUserEmailContent(string UserCode, string url, string contentflag)
        {
            string text4;

            try
            {
                string text5;
                string text = "";
                WorkFlowActStrategyBuilder builder = new WorkFlowActStrategyBuilder();
                if (contentflag == "1")
                {
                    builder.AddStrategy(new Strategy(WorkFlowActStrategyName.StatusBeginAndDealWith));
                }
                else
                {
                    builder.AddStrategy(new Strategy(WorkFlowActStrategyName.StatusBegin, "Begin"));
                }
                builder.AddStrategy(new Strategy(WorkFlowActStrategyName.InActUser, UserCode));
                builder.AddStrategy(new Strategy(WorkFlowActStrategyName.ActMeetOrder, ""));
                string queryString = builder.BuildMainQueryString();
                string text3       = "FromDate desc";
                if (text3 != "")
                {
                    queryString = queryString + " order by " + text3;
                }
                text = SystemRule.GetUserName(UserCode) + ",您好!<br/>  以下为您的待处理事宜:<br/>";
                QueryAgent agent = new QueryAgent();
                EntityData data  = agent.FillEntityData("WorkFlowAct", queryString);
                if (data.CurrentTable.Rows.Count != 0)
                {
                    text = text + "<table cellspacing=\"0\" cellpadding=\"0\" border=\"1\" width=\"100%\" style=\"font-size: 13px;color:Black;background-color:LightGoldenrodYellow;border-color:Tan;border-width:1px;border-style:solid;border-collapse:collapse;\"><tr style=\"background-color:Tan;font-weight:bold;font-size: 13px;height:23pt;\"><td align=\"center\">流水号</td><td align=\"center\">项目</td><td nowrap=\"nowrap\"  align=\"center\">流程名称</td><td align=\"center\" nowrap=\"nowrap\">任 务</td><td align=\"center\">主题</td><td align=\"center\" nowrap=\"nowrap\">发件人</a></td><td align=\"center\" nowrap=\"nowrap\">发件日期</a></td><td align=\"center\" nowrap=\"nowrap\">手送资料</a></td></tr>";
                    foreach (DataRow row in data.CurrentTable.Select())
                    {
                        text5 = text;
                        text  = text5 + "<tr style=\"font-size: 13px;height:23pt;\"><td>" + WorkFlowRule.GetWorkFlowNumber(row["CaseCode"].ToString()) + "</td><td><span>" + WorkFlowRule.GetWorkFlowCaseProjectName(row["CaseCode"].ToString()) + "</span></td><td>" + row["ProcedureName"].ToString() + "</td><td nowrap=\"nowrap\">" + row["ToTaskName"].ToString() + "</td><td>" + WorkFlowRule.GetWorkFlowCaseTitle(row["CaseCode"].ToString()) + "</td><td nowrap=\"nowrap\">" + SystemRule.GetUserName(row["FromUserCode"].ToString()) + "</td><td nowrap=\"nowrap\">" + WorkFlowRule.GetFormatExcedableDate((DateTime)row["FromDate"]) + "</td><td>" + WorkFlowRule.GetWorkFlowHandmade(row["CaseCode"].ToString()) + "</td></tr>";
                    }
                }
                else
                {
                    text = "";
                }
                data.Clear();
                object obj2 = ("Select B.Title,B.BiddingRemark1,BE.EmitDate,BE.EndDate,BE.PrejudicationDate,BE.State" + " From BiddingEmit BE") + " Inner Join Bidding B on BE.BiddingCode=B.BiddingCode" + " Inner Join BiddingOpen BO On BE.BiddingEmitCode=BO.BiddingEmitCode";
                queryString = string.Concat(new object[] { obj2, " Where BO.OpenerCode='", UserCode, "' And BE.state=0 And BE.PrejudicationDate Between DateAdd(day,1,'", DateTime.Today, "') And 'DateAdd(day,2,'", DateTime.Today, "')" });
                data        = agent.FillEntityData("BiddingOpen", queryString);
                if (data.CurrentTable.Rows.Count != 0)
                {
                    text = text + "<table cellspacing=\"0\" cellpadding=\"0\" border=\"1\" width=\"100%\" style=\"font-size: 13px;color:Black;background-color:LightGoldenrodYellow;border-color:Tan;border-width:1px;border-style:solid;border-collapse:collapse;\"><tr style=\"background-color:Tan;font-weight:bold;font-size: 13px;height:23pt;\"><td align=\"center\">拟定标段 </td><td align=\"center\">承办部门</td><td nowrap=\"nowrap\"  align=\"center\">发标日期</td><td align=\"center\" nowrap=\"nowrap\">截标日期</td><td align=\"center\">定标日期</td><td align=\"center\" nowrap=\"nowrap\">当前状态</a></td></tr>";
                    foreach (DataRow row in data.CurrentTable.Select())
                    {
                        text5 = text;
                        text  = text5 + "<tr style=\"font-size: 13px;height:23pt;\"><td>" + row["Title"].ToString() + "</td><td><span>" + row["BiddingRemark1"].ToString() + "</span></td><td>" + row["EmitDate"].ToString() + "</td><td nowrap=\"nowrap\">" + row["EndDate"].ToString() + "</td><td>" + row["PrejudicationDate"].ToString() + "</td><td nowrap=\"nowrap\">" + row["State"].ToString() + "</td></tr>";
                    }
                }
                else
                {
                    text = "";
                }
                agent.Dispose();
                data.Dispose();
                if (text != "")
                {
                    text5 = text;
                    text  = text5 + "</table> <br/> 请您登录“<a href=\"" + url + "\" target=\"_blank\">" + url + "</a>”进行处理,谢谢。";
                }
                text4 = text;
            }
            catch (Exception exception)
            {
                throw exception;
            }
            return(text4);
        }
Example #9
0
        /// <summary>
        /// 初始化数据库信息
        /// </summary>
        /// <param name="app"></param>
        /// <param name="env"></param>
        /// <param name="serviceProvider"></param>
        /// <param name="context"></param>
        public static void InitDatabase(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider, AppDbContext context)
        {
            var contentRoot  = env.ContentRootPath;
            var backupFolder = Path.Combine(contentRoot, "wwwroot", BackupFoler);

            if (!Directory.Exists(backupFolder))
            {
                Directory.CreateDirectory(backupFolder);
            }


            #region 积分参数初始值
            {
                var hierachies = context.MemberHierarchyParams.Where(x => x.IsInner == true).ToList();
                if (hierachies.Count <= 0)
                {
                    Console.WriteLine("Auto Create Inner Member Hierarchy Param");
                }

                if (hierachies.Where(x => x.Id == MemberHierarchyParamConst.FirstHierarchy).Count() <= 0)
                {
                    var param = new MemberHierarchyParam();
                    param.Id           = MemberHierarchyParamConst.FirstHierarchy;
                    param.Name         = "第一级";
                    param.Creator      = AppConst.BambooAdminId;
                    param.Modifier     = AppConst.BambooAdminId;
                    param.CreatedTime  = DateTime.Now;
                    param.ModifiedTime = DateTime.Now;
                    param.IsInner      = true;
                    context.MemberHierarchyParams.Add(param);
                }

                if (hierachies.Where(x => x.Id == MemberHierarchyParamConst.SecondHierarchy).Count() <= 0)
                {
                    var param = new MemberHierarchyParam();
                    param.Id           = MemberHierarchyParamConst.SecondHierarchy;
                    param.Name         = "第二级";
                    param.Creator      = AppConst.BambooAdminId;
                    param.Modifier     = AppConst.BambooAdminId;
                    param.CreatedTime  = DateTime.Now;
                    param.ModifiedTime = DateTime.Now;
                    param.IsInner      = true;
                    context.MemberHierarchyParams.Add(param);
                }

                if (hierachies.Where(x => x.Id == MemberHierarchyParamConst.ThirdHierarchy).Count() <= 0)
                {
                    var param = new MemberHierarchyParam();
                    param.Id           = MemberHierarchyParamConst.ThirdHierarchy;
                    param.Name         = "第三级";
                    param.Creator      = AppConst.BambooAdminId;
                    param.Modifier     = AppConst.BambooAdminId;
                    param.CreatedTime  = DateTime.Now;
                    param.ModifiedTime = DateTime.Now;
                    param.IsInner      = true;
                    context.MemberHierarchyParams.Add(param);
                }
                context.SaveChanges();
            }
            #endregion

            #region 初始化工作流基础信息
            {
                var rules = context.WorkFlowRules.ToList();

                if (rules.Where(x => x.Id == WorkFlowRuleConst.OrderWorkFlow).Count() <= 0)
                {
                    var rule = new WorkFlowRule();
                    rule.Id           = WorkFlowRuleConst.OrderWorkFlow;
                    rule.Name         = "订单流程";
                    rule.Creator      = AppConst.BambooAdminId;
                    rule.Modifier     = AppConst.BambooAdminId;
                    rule.CreatedTime  = DateTime.Now;
                    rule.ModifiedTime = DateTime.Now;
                    rule.IsInner      = true;
                    context.WorkFlowRules.Add(rule);
                }

                context.SaveChanges();
            }
            #endregion

            #region 初始化省市区信息
            {
                var filePath = Path.Combine(backupFolder, "national-urban.json");
                //从json恢复省市区信息
                if (File.Exists(filePath))
                {
                    if (context.NationalUrbans.Count() <= 0)
                    {
                        var strUrbans  = File.ReadAllText(filePath);
                        var urbanDatas = JsonConvert.DeserializeObject <List <NationalUrbanData> >(strUrbans);
                        if (urbanDatas != null)
                        {
                            Console.WriteLine("Auto Recover National Urban Data From Backup");
                            foreach (var province in urbanDatas)
                            {
                                var prov = new NationalUrban();
                                prov.Id                = province.value;
                                prov.Name              = Regex.Replace(province.label, @"\s", string.Empty);
                                prov.CodeNumber        = Convert.ToInt32(province.value);
                                prov.NationalUrbanType = NationalUrbanTypeConst.Province;
                                prov.CreatedTime       = DateTime.Now;
                                prov.Creator           = AppConst.BambooAdminId;
                                prov.ModifiedTime      = prov.CreatedTime;
                                prov.Modifier          = AppConst.BambooAdminId;
                                context.NationalUrbans.Add(prov);

                                if (province.children != null)
                                {
                                    foreach (var city in province.children)
                                    {
                                        var cit = new NationalUrban();
                                        cit.Id                = city.value;
                                        cit.Name              = Regex.Replace(city.label, @"\s", string.Empty);
                                        cit.CodeNumber        = Convert.ToInt32(city.value);
                                        cit.NationalUrbanType = NationalUrbanTypeConst.City;
                                        cit.CreatedTime       = DateTime.Now;
                                        cit.Creator           = AppConst.BambooAdminId;
                                        cit.ModifiedTime      = cit.CreatedTime;
                                        cit.Modifier          = AppConst.BambooAdminId;
                                        cit.ParentId          = prov.Id;
                                        context.NationalUrbans.Add(cit);

                                        if (city.children != null)
                                        {
                                            foreach (var county in city.children)
                                            {
                                                var count = new NationalUrban();
                                                count.Id                = county.value;
                                                count.Name              = Regex.Replace(county.label, @"\s", string.Empty);
                                                count.CodeNumber        = Convert.ToInt32(county.value);
                                                count.NationalUrbanType = NationalUrbanTypeConst.County;
                                                count.CreatedTime       = DateTime.Now;
                                                count.Creator           = AppConst.BambooAdminId;
                                                count.ModifiedTime      = count.CreatedTime;
                                                count.Modifier          = AppConst.BambooAdminId;
                                                count.ParentId          = cit.Id;
                                                context.NationalUrbans.Add(count);
                                            } //foreach
                                        }
                                    }         //foreach
                                }
                            }                 //foreach
                            context.SaveChanges();
                        }
                    }
                }
            }
            #endregion
        }
Example #10
0
 public void OutputDefinition(DataSet ds, string procedureCode)
 {
     WorkFlowRule.SaveWorkFlowProcedure(ds, procedureCode);
 }