Example #1
0
        protected override async Task OnMessageActivityAsync(ITurnContext <IMessageActivity> turnContext, CancellationToken cancellationToken)
        {
            var activity = turnContext.Activity.AsMessageActivity();

            // For demo purposes, I am just using the hard-coded one.
            string userId   = "274dc4c7-0e94-46e3-86ce-ce9f141d8ad4";
            var    customer = await FlowHelper.GetFlowOutput(userId);

            string imageUrl = $"https://dev.virtualearth.net/REST/v1/Imagery/Map/Road/{customer.Address}/16?key=At-9uaLoghwXOeWXbc1bmz4XLcczj0hzL7YeBweBRr0Zx8BFIO9cl6XCU_Jj4sCw";
            var    url      = MapMaker.Process(imageUrl, "map");

            // There's an issue which will be looked by the community.
            Button button = new Button();

            button.Title         = "Navigate";
            button.OpenUrlAction = new OpenUrlAction()
            {
                Url = $"https://www.google.com/maps/search/?api=1&query={customer.Address}"
            };
            Button[] buttons = { button };

            var card = new GoogleBasicCard()
            {
                Content = new GoogleBasicCardContent()
                {
                    Title         = $"Home Delivery - {customer.Name}",
                    Subtitle      = customer.Address,
                    FormattedText = "Kindly note that the customer requested for a call before arrival",
                    Image         = new Image()
                    {
                        // Compression issue of an image, have to look into it later on.
                        Url = $"<temp url>"
                    },
                    Buttons = buttons,
                    Display = ImageDisplayOptions.DEFAULT
                },
            };

            activity.Text = $"You have to deliver a debit card for a new customer. You can reach him at {customer.MobileNumber}";

            turnContext.GoogleSetCard(card);

            await turnContext.SendActivityAsync(activity);
        }
Example #2
0
        public ActionResult GetPageDetailList(string keyword = null, string Depart = null, int page = 1, string sidx = "", string sord = "asc")
        {
            //取得按钮权限
            List <string> BtnList = FlowHelper.GetBtnAuthorityForPage("明细权限");

            ViewBag.BtnList = BtnList;
            #region 通过存储过程获得数据
            PageInfo pager = new PageInfo();
            pager.PageSize         = 50;
            pager.CurrentPageIndex = Math.Max(1, page);

            StringBuilder strSql = new StringBuilder(" 1=1");
            if (!string.IsNullOrWhiteSpace(keyword))
            {
                strSql.Append(" and (ModelName like '%" + keyword + "%' or PageName like '%" + keyword + "%')");
            }
            string tableName = "tblPageDetail";
            string orderBy   = "ModelName,PageName,DetailName";
            if (!string.IsNullOrWhiteSpace(sidx))
            {
                orderBy = sidx + " " + sord;
            }
            int    totalCount  = 0;
            string queryFields = "TblRcdId, ModelName,PageName,DetailName,Remark";
            string where = strSql.ToString();
            DataTable ds = DBContext.DataDecision.QueryPageByProc(tableName, orderBy, out totalCount, queryFields, where, pager.CurrentPageIndex, pager.PageSize);

            List <tblPageDetail> result = new List <tblPageDetail>();
            result = ds.ToList <tblPageDetail>();
            //添加序号
            CommExtension.AddXuHao(result, pager.PageSize, pager.CurrentPageIndex);



            #endregion
            jqGridData RM = new jqGridData();
            RM.page    = pager.CurrentPageIndex;
            RM.rows    = result;
            RM.total   = (totalCount % pager.PageSize == 0 ? totalCount / pager.PageSize : totalCount / pager.PageSize + 1);
            RM.records = totalCount;
            return(Json(RM, JsonRequestBehavior.AllowGet));
        }
Example #3
0
    protected void FV_Strategy_DataBound(object sender, EventArgs e)
    {
        ((HtmlGenericControl)this.FV_Strategy.FindControl("lStrategy")).InnerText = FlowHelper.GetFlowStrategyLabel(this.ModuleType);
        if (FlowCode != null && FlowCode != string.Empty)
        {
            Flow flow = (Flow)((FormView)sender).DataItem;

            com.Sconit.Control.CodeMstrDropDownList ddlStrategy = (com.Sconit.Control.CodeMstrDropDownList) this.FV_Strategy.FindControl("ddlStrategy");
            Literal lblFlowStrategy = (Literal)this.FV_Strategy.FindControl("lblFlowStrategy");
            lblFlowStrategy.Text = FlowHelper.GetFlowStrategyLabel(this.ModuleType) + ":";
            if (flow.FlowStrategy != null)
            {
                ddlStrategy.Text = flow.FlowStrategy;
            }
            else
            {
                ddlStrategy.Text = string.Empty;
            }
        }
    }
Example #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        this.lblFlow.Text = FlowHelper.GetFlowLabel(this.ModuleType) + ":";

        if (IsSupplier)
        {
            this.tbFlow.ServiceParameter = "string:" + this.CurrentUser.Code + ",bool:true,bool:false,bool:true,bool:false,bool:true,bool:true,string:" + BusinessConstants.PARTY_AUTHRIZE_OPTION_FROM;
        }
        else if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PROCUREMENT)
        {
            this.tbFlow.ServiceParameter = "string:" + this.CurrentUser.Code + ",bool:true,bool:false,bool:true,bool:false,bool:true,bool:true,string:" + BusinessConstants.PARTY_AUTHRIZE_OPTION_TO;
        }
        else if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_DISTRIBUTION)
        {
            this.tbFlow.ServiceParameter = "string:" + this.CurrentUser.Code + ",bool:false,bool:true,bool:true,bool:false,bool:false,bool:false,string:" + BusinessConstants.PARTY_AUTHRIZE_OPTION_FROM;
        }
        //else if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_TRANSFER)
        //{
        //    this.tbFlow.ServiceParameter = "string:" + this.CurrentUser.Code + ",bool:false,bool:false,bool:true,bool:false";
        //}
        //else if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PRODUCTION)
        //{
        //    this.tbFlow.ServiceParameter = "string:" + this.CurrentUser.Code + ",bool:false,bool:false,bool:false,bool:true";
        //}
        //else if (this.ModuleType == BusinessConstants.ORDER_MODULETYPE_VALUE_SUPPLIERDISTRIBUTION)
        //{
        //    this.tbFlow.ServiceParameter = "string:" + this.CurrentUser.Code + ",bool:true,bool:false,bool:false,bool:false";

        //    if (this.tbFlow.Text.Trim() == string.Empty)
        //    {
        //        IList<Flow> flowList = TheFlowMgr.GetFlowList(this.CurrentUser.Code, true, false, false, false, true, true, "from");

        //        if (flowList != null && flowList.Count > 0)
        //        {
        //            this.tbFlow.Text = flowList[0].Code;
        //            DoSearch();
        //        }
        //    }
        //}
    }
Example #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        this.lblFlow.Text = FlowHelper.GetFlowLabel(this.ModuleType) + ":";
        if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PROCUREMENT)
        {
            this.lblParty.Text            = "${Reports.CSLoc.PartyFrom}:";
            this.tbParty.ServicePath      = "SupplierMgr.service";
            this.tbParty.ServiceMethod    = "GetSupplier";
            this.tbParty.ServiceParameter = "string:" + this.CurrentUser.Code;

            this.tbFlow.ServiceParameter = "string:" + this.CurrentUser.Code + ",bool:true,bool:false,bool:false,bool:false,bool:true,bool:true,string:" + BusinessConstants.PARTY_AUTHRIZE_OPTION_TO;
        }
        else if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_DISTRIBUTION)
        {
            this.lblParty.Text            = "${Reports.CSLoc.PartyTo}:";
            this.tbParty.ServicePath      = "CustomerMgr.service";
            this.tbParty.ServiceMethod    = "GetCustomer";
            this.tbParty.ServiceParameter = "string:" + this.CurrentUser.Code;

            this.tbFlow.ServiceParameter = "string:" + this.CurrentUser.Code + ",bool:false,bool:true,bool:false,bool:false,bool:false,bool:false,string:" + BusinessConstants.PARTY_AUTHRIZE_OPTION_FROM;
        }
    }
        public ActionResult GetPageResult(string keyword = null, int page = 1, int rows = 50, string sidx = "", string sord = "")
        {
            SystemServiceFactory       factory = new SystemServiceFactory();
            ISystemService             service = factory.GetInstance();
            SubPageResult <tblAdOrder> result  = new SubPageResult <tblAdOrder>();
            string LoginName = CurrentHelper.CurrentUser.User.LoginName;
            string Authority = FlowHelper.GetBusinessAuthority("订单查询");

            switch (Authority)
            {
            case "查看所有":
                result = service.GetSchedulePageResult(LoginName, keyword, page, rows, sidx, sord); break;

            case "查看下级":
                result = service.GetSchedulePageResultForMeUnderling(LoginName, keyword, page, rows, sidx, sord); break;

            default:
                result = service.GetSchedulePageResultForMe(LoginName, keyword, page, rows, sidx, sord);; break;
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Example #7
0
        public ActionResult Index()
        {
            List <string> BtnList = FlowHelper.GetBtnAuthorityForPage("页面访问统计");

            ViewBag.BtnList = BtnList;

            #region 暂时不用
            //if (!string.IsNullOrEmpty(startDate) && startDate != DateTime.Now.ToString())
            //{
            //    if (!string.IsNullOrEmpty(str_cdt))
            //    {
            //        str_cdt += "and EndDate>='" + startDate + "'";
            //    }
            //    else
            //    {
            //        str_cdt += "EndDate>='" + startDate + "'";
            //    }
            //}
            //if (!string.IsNullOrEmpty(endDate) && endDate != DateTime.Now.ToString())
            //{
            //    if (!string.IsNullOrEmpty(str_cdt))
            //    {
            //        str_cdt += "and EndDate<='" + endDate + "'";
            //    }
            //    else
            //    {
            //        str_cdt += "EndDate<='" + endDate + "'";
            //    }
            //}

            //StartTime = StartTime == null ? (DateTime.Now.AddMonths(-12).ToShortDateString()) : (StartTime);
            //EndTime = EndTime == null ? (DateTime.Now.ToShortDateString()) : (EndTime);
            //ViewData["StartTime"] = StartTime;
            //ViewData["EndTime"] = EndTime;
            #endregion
            return(View());
        }
Example #8
0
        public ActionResult GetFunctionalDataList(string Module_Name = "", string Group_Name = "", string Right_Name = "", int page = 1, int rows = 20, string sidx = "", string sord = "asc")
        {
            StringBuilder strSql = new StringBuilder(" 1=1");

            if (!string.IsNullOrWhiteSpace(Module_Name))
            {
                strSql.Append(" and Module_Name like '%" + Module_Name + "%'");
            }
            if (!string.IsNullOrWhiteSpace(Group_Name))
            {
                strSql.Append(" and Group_Name like '%" + Group_Name + "%'");
            }
            if (!string.IsNullOrWhiteSpace(Right_Name))
            {
                strSql.Append(" and Right_Name like '%" + Right_Name + "%'");
            }

            string where = strSql.ToString();
            whe          = where;
            string     orderBy = "module_id,group_id,right_Id";
            jqGridData RM      = FlowHelper.GetJqGridDataList <FunctionalAuthority>(where, orderBy, page, rows, sidx, sord);

            return(Json(RM, JsonRequestBehavior.AllowGet));
        }
Example #9
0
    public IconPicker(ModEntry mod, int x, int y, int width, int height, Action <CategoryIcon> onPick)
        : base(mod)
    {
        this.onPick = onPick;

        initialize(x, y, width, height);

        Flow = new(
            this,
            (int)Math.Ceiling(xPositionOnScreen + 16.0),
            (int)Math.Ceiling(yPositionOnScreen + 16.0),
            (int)Math.Ceiling(width - 16.0),
            (int)Math.Ceiling(height - 32.0)
            );

        btnPageUp      = Flow.btnPageUp;
        btnPageDown    = Flow.btnPageDown;
        FlowComponents = Flow.DynamicComponents;

        var builder = FlowHelper.Builder();

        for (int i = 0; i < 17; i++)
        {
            Rectangle  rect   = new(10 * i, 428, 10, 10);
            SpriteInfo sprite = new(Game1.mouseCursors, rect);

            builder.Sprite(sprite, scale: 3, onClick: (_, _, _) => {
                Pick(GameTexture.MouseCursors, rect);
                return(true);
            });
        }

        for (int iy = 0; iy < 5; iy++)
        {
            for (int ix = 0; ix < 6; ix++)
            {
                Rectangle  rect   = new(ix * 16, 624 + iy * 16, 16, 16);
                SpriteInfo sprite = new(Game1.mouseCursors, rect);

                builder.Sprite(sprite, scale: 3, onClick: (_, _, _) => {
                    Pick(GameTexture.MouseCursors, rect);
                    return(true);
                });
            }
        }

        Texture2D?emoji = SpriteHelper.GetTexture(GameTexture.Emoji);

        if (emoji is not null)
        {
            for (int iy = 0; iy < 14; iy++)
            {
                for (int ix = 0; ix < 14; ix++)
                {
                    Rectangle  rect   = new(ix * 9, iy * 9, 9, 9);
                    SpriteInfo sprite = new(emoji, rect);

                    builder.Sprite(sprite, scale: 3, onClick: (_, _, _) => {
                        Pick(GameTexture.Emoji, rect);
                        return(true);
                    });
                }
            }
        }

        Flow.Set(builder.Build());

        if (Game1.options.SnappyMenus)
        {
            snapToDefaultClickableComponent();
        }
    }
Example #10
0
        public JsonResult Create(Flow_FormContentModel model)
        {
            //当前的Form模版
            Flow_FormModel formModel = formBLL.GetById(model.FormId);

            //初始化部分数据
            model.Id         = ResultHelper.NewId;
            model.CreateTime = ResultHelper.NowTime;
            model.UserId     = GetUserId();
            model.Title      = formModel.Name;
            model.TimeOut    = DateTime.Now.AddDays(30);
            if (model != null && ModelState.IsValid)
            {
                //内容提交数据库
                if (formContentBLL.Create(ref errors, model))
                {
                    try
                    {
                        List <Flow_StepModel> stepModelList = stepBLL.GetList(ref setNoPagerAscBySort, model.FormId);
                        //查询步骤
                        int  listCount = stepModelList.Count();
                        bool IsEnd     = false;
                        //循环表单的所有步骤
                        for (int i = 0; i < listCount; i++)
                        {
                            string         nextStep  = "";
                            Flow_StepModel stepModel = stepModelList[i];
                            //获得步骤对应的规则
                            List <Flow_StepRuleModel> stepRuleModelList = stepRuleBLL.GetList(stepModel.Id);
                            //获取规则判断流转方向
                            foreach (Flow_StepRuleModel stepRuleModel in stepRuleModelList)
                            {
                                //获取需要判断的数值,比如请假天数
                                string val = new FlowHelper().GetFormAttrVal(stepRuleModel.AttrId, formModel, model);
                                //有满足流程结束的条件,判断请假天数是否处于这个规则内
                                if (!JudgeVal(stepRuleModel.AttrId, val, stepRuleModel.Operator, stepRuleModel.Result))
                                {
                                    //如果符合规则,判断是否还有下一步
                                    if (stepRuleModel.NextStep != "0")
                                    {
                                        //跳转后的下一步
                                        for (int j = 0; j < listCount; j++)
                                        {
                                            //看看当前步骤是哪一步
                                            if (stepModelList[j].Id == nextStep)
                                            {
                                                i = j;//跳到分支后的下一步,从这一步开始循环
                                                continue;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        IsEnd = true;
                                        continue;
                                    }
                                }
                            }
                            #region 插入步骤
                            //插入步骤审核表
                            Flow_FormContentStepCheckModel stepCheckModel = new Flow_FormContentStepCheckModel();
                            stepCheckModel.Id         = ResultHelper.NewId;
                            stepCheckModel.ContentId  = model.Id;
                            stepCheckModel.StepId     = stepModel.Id;
                            stepCheckModel.State      = (int)FlowStateEnum.Progress;
                            stepCheckModel.StateFlag  = false;//true此步骤审核完成
                            stepCheckModel.CreateTime = ResultHelper.NowTime;
                            stepCheckModel.IsEnd      = IsEnd;
                            stepCheckModel.IsCustom   = stepModel.FlowRule == (int)FlowRuleEnum.Customer ? true : false;

                            if (stepCheckBLL.Create(ref errors, stepCheckModel))//新建步骤成功
                            {
                                InsertChecker(model, i, stepModel, stepCheckModel);
                            }

                            if (IsEnd)//如果是最后一步就无需要下面继续了
                            {
                                break;
                            }
                            #endregion
                        }



                        LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",AttrA" + model.AttrA, "成功", "创建", "Flow_FormContent");
                        return(Json(JsonHandler.CreateMessage(1, Resource.InsertSucceed)));
                    }
                    catch (Exception ex)
                    {
                        //创建失败,删除表单
                        formContentBLL.Delete(ref errors, model.Id);
                        return(Json(JsonHandler.CreateMessage(0, Resource.InsertFail + "流程发生异常,请联系管理员")));
                    }
                }
                else
                {
                    string ErrorCol = errors.Error;
                    LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",AttrA" + model.AttrA + "," + ErrorCol, "失败", "创建", "Flow_FormContent");
                    return(Json(JsonHandler.CreateMessage(0, Resource.InsertFail + ErrorCol)));
                }
            }
            else
            {
                return(Json(JsonHandler.CreateMessage(0, Resource.InsertFail)));
            }
        }
Example #11
0
        public JsonResult Create(Flow_FormContentModel model)
        {
            model.Id         = ResultHelper.NewId;
            model.CreateTime = ResultHelper.NowTime;
            model.UserId     = GetUserId();

            if (model != null && ModelState.IsValid)
            {
                if (formContentBLL.Create(ref errors, model))
                {
                    //当前的Form模版
                    Flow_FormModel formModel = formBLL.GetById(model.FormId);

                    //创建成功后把步骤取出
                    List <Flow_StepModel> stepModelList = stepBLL.GetList(ref setNoPagerAscBySort, model.FormId);

                    //查询步骤
                    bool IsEnd = false;
                    foreach (Flow_StepModel stepModel in stepModelList)
                    {
                        List <Flow_StepRuleModel> stepRuleModelList = stepRuleBLL.GetList(stepModel.Id);
                        //获取规则判断流转方向
                        foreach (Flow_StepRuleModel stepRuleModel in stepRuleModelList)
                        {
                            string val = new FlowHelper().GetFormAttrVal(stepRuleModel.AttrId, formModel, model);

                            //有满足不流程结束的条件
                            if (!JudgeVal(stepRuleModel.AttrId, val, stepRuleModel.Operator, stepRuleModel.Result))
                            {
                                if (stepRuleModel.NextStep != "0")
                                {
                                    IsEnd = false;
                                }
                            }
                        }

                        //插入步骤审核表
                        Flow_FormContentStepCheckModel stepCheckModel = new Flow_FormContentStepCheckModel();
                        stepCheckModel.Id         = ResultHelper.NewId;
                        stepCheckModel.ContentId  = model.Id;
                        stepCheckModel.StepId     = stepModel.Id;
                        stepCheckModel.State      = 2;                                  //0不通过1通过2审核中
                        stepCheckModel.StateFlag  = false;                              //true此步骤审核完成
                        stepCheckModel.CreateTime = ResultHelper.NowTime;
                        stepCheckModel.IsEnd      = IsEnd;                              //是否流程的最后一步

                        if (formContentStepCheckBLL.Create(ref errors, stepCheckModel)) //新建步骤成功
                        {
                            //获得流转规则下的审核人员
                            List <string> userIdList = GetStepCheckMemberList(stepModel.Id, model.Id);
                            if (userIdList.Count > 0)
                            {
                                foreach (string userId in userIdList)
                                {
                                    //批量建立步骤审核人表
                                    Flow_FormContentStepCheckStateModel stepCheckStateModel = new Flow_FormContentStepCheckStateModel();
                                    stepCheckStateModel.Id          = ResultHelper.NewId;
                                    stepCheckStateModel.StepCheckId = stepCheckModel.Id;
                                    stepCheckStateModel.UserId      = userId;
                                    stepCheckStateModel.CheckFlag   = 2;
                                    stepCheckStateModel.Reamrk      = "";
                                    stepCheckStateModel.TheSeal     = "";
                                    stepCheckStateModel.CreateTime  = ResultHelper.NowTime;
                                    stepCheckStateBLL.Create(ref errors, stepCheckStateModel);
                                }
                            }
                        }

                        if (IsEnd)//如果是最后一步就无需要下面继续了
                        {
                            break;
                        }
                        IsEnd = true;
                    }

                    LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",AttrA" + model.AttrA, "成功", "创建", "Flow_FormContent");
                    return(Json(JsonHandler.CreateMessage(1, Suggestion.InsertSucceed)));
                }
                else
                {
                    string ErrorCol = errors.Error;
                    LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",AttrA" + model.AttrA + "," + ErrorCol, "失败", "创建", "Flow_FormContent");
                    return(Json(JsonHandler.CreateMessage(0, Suggestion.InsertFail + ErrorCol)));
                }
            }
            else
            {
                return(Json(JsonHandler.CreateMessage(0, Suggestion.InsertFail)));
            }
        }
Example #12
0
        private async Task RunInternal(IProgress <ProgressReport> progress)
        {
            this.progress = progress;

            await Task.Run(() =>
            {
                ItemWorker[] startDesignerItems = GetStartDesignerItems();
                ItemWorker[] endDesignerItems   = GetEndDesignerItems();

                // Start starteritems
                foreach (ItemWorker item in startDesignerItems)
                {
                    ExecuteDesignerItem(item);
                }

                while (true)
                {
                    // Continously check if all items finished already
                    List <ItemWorker> unfinishedItemWorkers = itemWorkers.Where(t => t.DesignerItem.State != ItemState.Stopped && t.DesignerItem.State != ItemState.Error && t.DesignerItem.State != ItemState.NotExecuted).ToList();
                    if (unfinishedItemWorkers.Count == 0)
                    {
                        if (RunCompleted != null)
                        {
                            RunCompleted(this, new EventArgs());
                        }
                        break;
                    }

                    // Check if a new item can be started
                    List <ItemWorker> finishedItems = itemWorkers.Where(t => t.DesignerItem.State == ItemState.Stopped || t.DesignerItem.State == ItemState.Error || t.DesignerItem.State == ItemState.NotExecuted).ToList();
                    foreach (ItemWorker itemWorker in unfinishedItemWorkers.Where(t => t.DesignerItem.State == ItemState.Initialized))
                    {
                        // Initialize
                        bool newItemCanBeStarted = true;

                        // If not all incoming connections to the item are from finished items, the item may not be started
                        IEnumerable <ConnectionBase> incomingConnections = FlowHelper.GetIncomingConnections(itemWorker.DesignerItem.ID, connectionList);
                        foreach (ConnectionBase connection in incomingConnections)
                        {
                            if (finishedItems.Where(t => t.DesignerItem.ID == connection.SourceID).Count() == 0)
                            {
                                newItemCanBeStarted = false;
                            }
                        }

                        if (newItemCanBeStarted == true)
                        {
                            // Check if all incoming connection allow an execution
                            bool allowExecution_PreviousErrorTest = FlowHelper.AllowExecution_OnPreviousErrorTest(itemWorker, this.itemWorkers, this.connectionList);
                            bool allowExecution_PreviousItemNotSuccessfulOnErrorlineTest = FlowHelper.AllowExecution_PreviousStepNotSuccessfulOnErrorlineTest(itemWorker, this.itemWorkers, this.connectionList);
                            bool allowExecution_activeItem = itemWorker.Configuration.Status == StepExecutionStatus.Active;

                            if (allowExecution_PreviousErrorTest && allowExecution_PreviousItemNotSuccessfulOnErrorlineTest && allowExecution_activeItem)
                            {
                                ExecuteDesignerItem(itemWorker);
                            }
                            else
                            {
                                DoNotExecuteDesignerItem(itemWorker);
                            }
                        }
                    }

                    System.Threading.Thread.Sleep(200);
                }

                this.runLog.EndTime = DateTime.Now;

                string serializedRunLog = ConfigurationSerializer.SerializeObject(runLog, new Type [] {});
                ConfigurationFileHandler.SaveStringToFile("runLog.xml", this.runLog.RunLogPath, serializedRunLog);
            });
        }
Example #13
0
    protected void ODS_FlowDetail_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
    {
        flowDetail = (FlowDetail)e.InputParameters[0];
        Flow flow = TheFlowMgr.LoadFlow(FlowCode, true);

        flowDetail.Flow = flow;

        //seq
        if (flowDetail.Sequence == 0)
        {
            int seqInterval = int.Parse(TheEntityPreferenceMgr.LoadEntityPreference(BusinessConstants.ENTITY_PREFERENCE_CODE_SEQ_INTERVAL).Value);
            flowDetail.Sequence = seqInterval + FlowHelper.GetMaxFlowSeq(flow);
        }
        Controls_TextBox tbItemCode = (Controls_TextBox)(this.FV_FlowDetail.FindControl("tbItemCode"));
        Controls_TextBox tbUom      = (Controls_TextBox)(this.FV_FlowDetail.FindControl("tbUom"));

        if (tbItemCode != null && tbItemCode.Text.Trim() != string.Empty)
        {
            flowDetail.Item = TheItemMgr.LoadItem(tbItemCode.Text.Trim());
        }

        if (tbUom != null && tbUom.Text.Trim() != string.Empty)
        {
            flowDetail.Uom = TheUomMgr.LoadUom(tbUom.Text.Trim());
        }



        if (this.ModuleType == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_PROCUREMENT ||
            this.ModuleType == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_CUSTOMERGOODS ||
            this.ModuleType == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_SUBCONCTRACTING)
        {
            Controls_TextBox tbLocTo = (Controls_TextBox)this.FV_FlowDetail.FindControl("tbProcurementLocTo");
            if (tbLocTo != null && tbLocTo.Text.Trim() != string.Empty)
            {
                flowDetail.LocationTo = TheLocationMgr.LoadLocation(tbLocTo.Text.Trim());
            }
            if (this.ModuleType == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_PROCUREMENT ||
                this.ModuleType == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_SUBCONCTRACTING)
            {
                DropDownList ddlBillSettleTerm = (DropDownList)this.FV_FlowDetail.FindControl("ddlBillSettleTerm");
                if (ddlBillSettleTerm.SelectedIndex != -1)
                {
                    if (ddlBillSettleTerm.SelectedValue == string.Empty)
                    {
                        flowDetail.BillSettleTerm = null;
                    }
                    else
                    {
                        flowDetail.BillSettleTerm = ddlBillSettleTerm.SelectedValue;
                    }
                }

                com.Sconit.Control.CodeMstrDropDownList ddlBarCodeType = (com.Sconit.Control.CodeMstrDropDownList) this.FV_FlowDetail.FindControl("ddlBarCodeType");
                if (ddlBarCodeType.SelectedIndex != -1)
                {
                    flowDetail.BarCodeType = ddlBarCodeType.SelectedValue;
                }
            }
        }
        else if (this.ModuleType == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_DISTRIBUTION)
        {
            DropDownList ddlBillSettleTerm = (DropDownList)this.FV_FlowDetail.FindControl("ddlBillSettleTerm");
            if (ddlBillSettleTerm.SelectedIndex != -1)
            {
                if (ddlBillSettleTerm.SelectedValue == string.Empty)
                {
                    flowDetail.BillSettleTerm = null;
                }
                else
                {
                    flowDetail.BillSettleTerm = ddlBillSettleTerm.SelectedValue;
                }
            }

            DropDownList ddlOddShipOption = (DropDownList)this.FV_FlowDetail.FindControl("ddlOddShipOption");
            if (ddlOddShipOption.SelectedIndex != -1)
            {
                flowDetail.OddShipOption = ddlOddShipOption.SelectedValue;
            }
            Controls_TextBox tbLocFrom = (Controls_TextBox)this.FV_FlowDetail.FindControl("tbDistributionLocFrom");
            if (tbLocFrom != null && tbLocFrom.Text.Trim() != string.Empty)
            {
                flowDetail.LocationFrom = TheLocationMgr.LoadLocation(tbLocFrom.Text.Trim());
            }
            flowDetail.PackagingCode = ((System.Web.UI.HtmlControls.HtmlSelect) this.FV_FlowDetail.FindControl("tbPackagingCode")).Value;
            flowDetail.TransModeCode = ((System.Web.UI.HtmlControls.HtmlSelect) this.FV_FlowDetail.FindControl("tbTransModeCode")).Value;
        }
        else if (this.ModuleType == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_PRODUCTION)
        {
            Controls_TextBox tbBom = (Controls_TextBox)this.FV_FlowDetail.FindControl("tbBom");
            if (tbBom != null && tbBom.Text.Trim() != string.Empty)
            {
                flowDetail.Bom = TheBomMgr.LoadBom(tbBom.Text.Trim());
            }

            TextBox          tbBatchSize = (TextBox)this.FV_FlowDetail.FindControl("tbBatchSize");
            Controls_TextBox tbLocFrom   = (Controls_TextBox)this.FV_FlowDetail.FindControl("tbProductionLocFrom");
            if (tbBatchSize.Text.Trim() != string.Empty)
            {
                flowDetail.BatchSize = decimal.Parse(tbBatchSize.Text.Trim());
            }
            if (tbLocFrom != null && tbLocFrom.Text.Trim() != string.Empty)
            {
                flowDetail.LocationFrom = TheLocationMgr.LoadLocation(tbLocFrom.Text.Trim());
            }
            Controls_TextBox tbLocTo = (Controls_TextBox)this.FV_FlowDetail.FindControl("tbProductionLocTo");
            if (tbLocTo != null && tbLocTo.Text.Trim() != string.Empty)
            {
                flowDetail.LocationTo = TheLocationMgr.LoadLocation(tbLocTo.Text.Trim());
            }
            Controls_TextBox tbCustomer = (Controls_TextBox)this.FV_FlowDetail.FindControl("tbCustomer");
            if (tbCustomer != null && tbCustomer.Text.Trim() != string.Empty)
            {
                flowDetail.Customer = TheCustomerMgr.LoadCustomer(tbCustomer.Text.Trim());
            }

            com.Sconit.Control.CodeMstrDropDownList ddlBarCodeType = (com.Sconit.Control.CodeMstrDropDownList) this.FV_FlowDetail.FindControl("ddlBarCodeType");
            if (ddlBarCodeType.SelectedIndex != -1)
            {
                flowDetail.BarCodeType = ddlBarCodeType.SelectedValue;
            }
        }
        else if (this.ModuleType == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_TRANSFER)
        {
            DropDownList ddlOddShipOption = (DropDownList)this.FV_FlowDetail.FindControl("ddlOddShipOption");
            if (ddlOddShipOption.SelectedIndex != -1)
            {
                flowDetail.OddShipOption = ddlOddShipOption.SelectedValue;
            }

            Controls_TextBox tbLocFrom = (Controls_TextBox)this.FV_FlowDetail.FindControl("tbTransferLocFrom");
            if (tbLocFrom != null && tbLocFrom.Text.Trim() != string.Empty)
            {
                flowDetail.LocationFrom = TheLocationMgr.LoadLocation(tbLocFrom.Text.Trim());
            }
            Controls_TextBox tbLocTo = (Controls_TextBox)this.FV_FlowDetail.FindControl("tbTransferLocTo");
            if (tbLocTo != null && tbLocTo.Text.Trim() != string.Empty)
            {
                flowDetail.LocationTo = TheLocationMgr.LoadLocation(tbLocTo.Text.Trim());
            }
        }

        flowDetail.CreateDate     = DateTime.Now;
        flowDetail.CreateUser     = this.CurrentUser;
        flowDetail.LastModifyDate = DateTime.Now;
        flowDetail.LastModifyUser = this.CurrentUser;
        flowDetail.Version        = 0;
    }
Example #14
0
 protected void Page_Load(object sender, EventArgs e)
 {
     this.lTitle.InnerText = FlowHelper.GetFlowRoutingLabel(this.ModuleType);
 }
Example #15
0
    private void dotbFlow_TextChanged(string flowCode)
    {
        try
        {
            Flow currentFlow = TheFlowMgr.LoadFlow(flowCode, true, true);
            if (currentFlow != null)
            {
                this.FlowCode = currentFlow.Code;
                this.FlowType = currentFlow.Type;

                this.cbReleaseOrder.Checked = currentFlow.IsAutoRelease;
                this.cbPrintOrder.Checked   = currentFlow.NeedPrintOrder;
                if (this.ScheduleDate.HasValue)
                {
                    if (isWinTime)
                    {
                        DateTime winTime = FlowHelper.GetWinTime(currentFlow, this.ScheduleDate.Value);
                        this.tbWinTime.Text = winTime.ToString("yyyy-MM-dd HH:mm");
                        double leadTime = currentFlow.LeadTime.HasValue ? (double)currentFlow.LeadTime.Value : 0;
                        this.tbStartTime.Text = winTime.AddHours(-leadTime).ToString("yyyy-MM-dd HH:mm");
                    }
                    else
                    {
                        double   leadTime = currentFlow.LeadTime.HasValue ? (double)currentFlow.LeadTime.Value : 0;
                        DateTime winTime  = FlowHelper.GetWinTime(currentFlow, this.ScheduleDate.Value.AddHours(leadTime));
                        this.tbWinTime.Text   = winTime.ToString("yyyy-MM-dd HH:mm");
                        this.tbStartTime.Text = winTime.AddHours(-leadTime).ToString("yyyy-MM-dd HH:mm");
                    }
                }

                this.hfLeadTime.Value = currentFlow.LeadTime.ToString();
                this.hfEmTime.Value   = currentFlow.EmTime.ToString();

                //  InitDetailParamater(orderHead);

                if (currentFlow.Type == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PRODUCTION)
                {
                    this.ltlShift.Text    = "${MasterData.WorkCalendar.Shift}:";
                    this.ltlShift.Visible = true;
                    this.ucShift.Visible  = true;
                    //this.tbScheduleTime.Visible = false;
                    this.BindShift(currentFlow);
                }
                else if (!enableDiscon && (currentFlow.Type == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_DISTRIBUTION ||
                                           currentFlow.Type == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_SUBCONCTRACTING ||
                                           currentFlow.Type == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_PROCUREMENT))
                {
                    this.ltlShift.Visible     = true;
                    this.ltlShift.Text        = "${MasterData.Order.OrderHead.SettleTime}:";
                    this.ucShift.Visible      = false;
                    this.tbSettleTime.Visible = true;
                    //this.tbScheduleTime.Visible = true;
                    this.tbSettleTime.Text = this.tbWinTime.Text;
                }
                else
                {
                    this.ltlShift.Visible     = false;
                    this.ucShift.Visible      = false;
                    this.tbSettleTime.Visible = false;
                }

                IList <MrpShipPlanView> mrpShipPlanViews = TheMrpShipPlanViewMgr.GetMrpShipPlanViews((isFlow ? this.flowOrLoc : null), (!isFlow ? this.flowOrLoc : null), this.itemCode, this.EffDate, null, null);

                DetachedCriteria criteria = DetachedCriteria.For <ExpectTransitInventoryView>();
                criteria.Add(Expression.Eq("EffectiveDate", this.EffDate));
                IList <ExpectTransitInventoryView> transitInventoryViews = this.TheCriteriaMgr.FindAll <ExpectTransitInventoryView>(criteria);


                ScheduleView scheduleView = TheMrpShipPlanViewMgr.TransferMrpShipPlanViews2ScheduleView(mrpShipPlanViews, transitInventoryViews, this.rblFlowOrLoc.SelectedValue, this.rblDateType.SelectedValue);

                string qty         = "Qty" + ColumnNum.ToString();
                string actQty      = "ActQty" + ColumnNum.ToString();
                string requiredQty = "RequiredQty" + ColumnNum.ToString();

                IList <ScheduleBody> scheduleBodyList = new List <ScheduleBody>();
                foreach (ScheduleBody body in scheduleView.ScheduleBodys)
                {
                    if (currentFlow.FlowDetails != null && currentFlow.FlowDetails.Count > 0)
                    {
                        var p = from det in currentFlow.FlowDetails
                                where det.Item.Code == body.Item
                                select det;

                        if (p != null && p.Count() > 0)
                        {
                            PropertyInfo qtyProp         = typeof(ScheduleBody).GetProperty(qty);
                            PropertyInfo actQtyProp      = typeof(ScheduleBody).GetProperty(actQty);
                            PropertyInfo requiredQtyProp = typeof(ScheduleBody).GetProperty(requiredQty);

                            body.Qty0         = (decimal)qtyProp.GetValue(body, null);
                            body.ActQty0      = (decimal)actQtyProp.GetValue(body, null);
                            body.RequiredQty0 = (decimal)requiredQtyProp.GetValue(body, null);

                            scheduleBodyList.Add(body);
                        }
                    }
                }

                this.GV_Order.DataSource = scheduleBodyList;
                this.GV_Order.DataBind();
            }
        }
        catch (BusinessErrorException ex)
        {
            this.ShowErrorMessage(ex);
        }
    }
Example #16
0
 public MatlController(NHibernate.ISession session, IMaterialFactory materialFactory, FlowHelper flowHelper, PalletizationHelper palletizationHelper, OpHelper opHelper, ILogger logger)
 {
     _logger              = logger;
     _materialFactory     = materialFactory;
     _opHelper            = opHelper;
     _flowHelper          = flowHelper;
     _palletizationHelper = palletizationHelper;
     _session             = session;
 }
Example #17
0
 protected void Page_Load(object sender, EventArgs e)
 {
     this.lblFlow.Text            = FlowHelper.GetFlowLabel(this.ModuleType);
     this.tbFlow.ServiceMethod    = FlowHelper.GetFlowServiceMethod(this.ModuleType);
     this.tbFlow.ServiceParameter = "string:" + this.CurrentUser.Code;
 }
Example #18
0
 public ActionResult Create()
 {
     ViewBag.TypeList  = FlowHelper.GetTypeSelectList("设备类型");
     ViewBag.OwnerList = FlowHelper.GetTypeSelectList("业主方");
     return(View());
 }
Example #19
0
        /// <summary>
        /// This method gets called by the runtime. Use this method to add services to the container.
        /// </summary>
        /// <param name="services">The <see cref="IServiceCollection"/> specifies the contract for a collection of service descriptors.</param>
        /// <seealso cref="IStatePropertyAccessor{T}"/>
        /// <seealso cref="https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/dependency-injection"/>
        /// <seealso cref="https://docs.microsoft.com/en-us/azure/bot-service/bot-service-manage-channels?view=azure-bot-service-4.0"/>
        public void ConfigureServices(IServiceCollection services)
        {
            var secretKey   = Configuration.GetSection("botFileSecret")?.Value;
            var botFilePath = Configuration.GetSection("botFilePath")?.Value;

            if (!File.Exists(botFilePath))
            {
                throw new FileNotFoundException($"The .bot configuration file was not found. botFilePath: {botFilePath}");
            }

            // Loads .bot configuration file and adds a singleton that your Bot can access through dependency injection.
            BotConfiguration botConfig = null;

            try
            {
                botConfig = BotConfiguration.Load(botFilePath, secretKey);
            }
            catch
            {
                var msg = @"Error reading bot file. Please ensure you have valid botFilePath and botFileSecret set for your environment.
        - You can find the botFilePath and botFileSecret in the Azure App Service application settings.
        - If you are running this bot locally, consider adding a appsettings.json file with botFilePath and botFileSecret.
        - See https://aka.ms/about-bot-file to learn more about .bot file its use and bot configuration.
        ";
                throw new InvalidOperationException(msg);
            }

            services.AddSingleton(sp => botConfig ?? throw new InvalidOperationException($"The .bot configuration file could not be loaded. botFilePath: {botFilePath}"));

            // Retrieve current endpoint.
            var environment = _isProduction ? "production" : "development";
            var service     = botConfig.Services.FirstOrDefault(s => s.Type == "endpoint" && s.Name == environment);

            if (service == null && _isProduction)
            {
                // Attempt to load development environment
                service = botConfig.Services.Where(s => s.Type == "endpoint" && s.Name == "development").FirstOrDefault();
            }

            if (!(service is EndpointService endpointService))
            {
                throw new InvalidOperationException($"The .bot file does not contain an endpoint with name '{environment}'.");
            }

            // Memory Storage is for local bot debugging only. When the bot
            // is restarted, everything stored in memory will be gone.
            IStorage dataStore = new MemoryStorage();

            // For production bots use the Azure Blob or
            // Azure CosmosDB storage providers. For the Azure
            // based storage providers, add the Microsoft.Bot.Builder.Azure
            // Nuget package to your solution. That package is found at:
            // https://www.nuget.org/packages/Microsoft.Bot.Builder.Azure/
            // Un-comment the following lines to use Azure Blob Storage
            // // Storage configuration name or ID from the .bot file.
            // const string StorageConfigurationId = "<STORAGE-NAME-OR-ID-FROM-BOT-FILE>";
            // var blobConfig = botConfig.FindServiceByNameOrId(StorageConfigurationId);
            // if (!(blobConfig is BlobStorageService blobStorageConfig))
            // {
            //    throw new InvalidOperationException($"The .bot file does not contain an blob storage with name '{StorageConfigurationId}'.");
            // }
            // // Default container name.
            // const string DefaultBotContainer = "<DEFAULT-CONTAINER>";
            // var storageContainer = string.IsNullOrWhiteSpace(blobStorageConfig.Container) ? DefaultBotContainer : blobStorageConfig.Container;
            // IStorage dataStore = new Microsoft.Bot.Builder.Azure.AzureBlobStorage(blobStorageConfig.ConnectionString, storageContainer);

            // Create and add conversation state.
            var conversationState = new ConversationState(dataStore);

            services.AddSingleton(conversationState);

            services.AddBot <BasicEchoBotBot>(options =>
            {
                options.CredentialProvider = new SimpleCredentialProvider(endpointService.AppId, endpointService.AppPassword);

                // Catches any errors that occur during a conversation turn and logs them to currently
                // configured ILogger.
                ILogger logger = _loggerFactory.CreateLogger <BasicEchoBotBot>();

                options.OnTurnError = async(context, exception) =>
                {
                    logger.LogError($"Exception caught : {exception}");
                    await context.SendActivityAsync("Sorry, it looks like something went wrong.");
                };
            });

            List <Flow> flows = FlowHelper.InitFlow(File.ReadAllText(@"flows.json", Encoding.UTF8));
        }
Example #20
0
        public JsonResult Create(Flow_FormContentModel model)
        {
            //当前的Form模版
            Flow_FormModel formModel = formBLL.GetById(model.FormId);

            //初始化部分数据
            model.Id         = ResultHelper.NewId;
            model.CreateTime = ResultHelper.NowTime;
            model.UserId     = GetUserId();
            model.Title      = formModel.Name;
            model.TimeOut    = DateTime.Now.AddDays(30);
            if (model != null && ModelState.IsValid)
            {
                if (formContentBLL.Create(ref errors, model))
                {
                    //创建成功后把步骤取出
                    List <Flow_StepModel> stepModelList = stepBLL.GetList(ref setNoPagerAscBySort, model.FormId);
                    //查询步骤
                    int  listCount = stepModelList.Count();
                    bool IsEnd     = false;
                    for (int i = 0; i < listCount; i++)
                    {
                        string                    nextStep          = "";
                        Flow_StepModel            stepModel         = stepModelList[i];
                        List <Flow_StepRuleModel> stepRuleModelList = stepRuleBLL.GetList(stepModel.Id);
                        //获取规则判断流转方向
                        foreach (Flow_StepRuleModel stepRuleModel in stepRuleModelList)
                        {
                            string val = new FlowHelper().GetFormAttrVal(stepRuleModel.AttrId, formModel, model);
                            //有满足流程结束的条件
                            if (!JudgeVal(stepRuleModel.AttrId, val, stepRuleModel.Operator, stepRuleModel.Result))
                            {
                                if (stepRuleModel.NextStep != "0")
                                {
                                    //获得跳转的步骤
                                    nextStep = stepRuleModel.NextStep;
                                    //跳到跳转后的下一步
                                    for (int j = 0; j < listCount; j++)
                                    {
                                        if (stepModelList[j].Id == nextStep)
                                        {
                                            i = j;//跳到分支后的下一步
                                        }
                                    }
                                }
                                else
                                {
                                    //nextStep=0流程结束
                                    IsEnd = true;
                                }
                            }
                        }

                        #region 插入步骤
                        //插入步骤审核表
                        Flow_FormContentStepCheckModel stepCheckModel = new Flow_FormContentStepCheckModel();
                        stepCheckModel.Id         = ResultHelper.NewId;
                        stepCheckModel.ContentId  = model.Id;
                        stepCheckModel.StepId     = stepModel.Id;
                        stepCheckModel.State      = (int)FlowStateEnum.Progress;
                        stepCheckModel.StateFlag  = false;//true此步骤审核完成
                        stepCheckModel.CreateTime = ResultHelper.NowTime;
                        if (nextStep != "" && nextStep != "0")
                        {
                            stepCheckModel.IsEnd = (i == listCount) ? true : IsEnd;//是否流程的最后一步
                        }
                        else
                        {
                            stepCheckModel.IsEnd = (i == listCount - 1) ? true : IsEnd;//是否流程的最后一步
                        }

                        stepCheckModel.IsCustom = stepModel.FlowRule == (int)FlowRuleEnum.Customer ? true : false;
                        if (stepCheckBLL.Create(ref errors, stepCheckModel))//新建步骤成功
                        {
                            InsertChecker(model, i, stepModel, stepCheckModel);
                        }
                        #endregion
                        #region 插入分支步骤
                        if (nextStep != "" && nextStep != "0")
                        {
                            //不是最后一个审核人
                            if (listCount < 1 || i != listCount - 1)
                            {
                                IsEnd = false;
                            }
                            else
                            {
                                IsEnd = true;
                            }

                            stepCheckModel            = new Flow_FormContentStepCheckModel();
                            stepCheckModel.Id         = ResultHelper.NewId;
                            stepCheckModel.ContentId  = model.Id;
                            stepCheckModel.StepId     = stepModel.Id;
                            stepCheckModel.State      = (int)FlowStateEnum.Progress;
                            stepCheckModel.StateFlag  = false; //true此步骤审核完成
                            stepCheckModel.CreateTime = ResultHelper.NowTime;
                            stepCheckModel.IsEnd      = IsEnd; //是否流程的最后一步


                            stepCheckModel.IsCustom = stepModel.FlowRule == (int)FlowRuleEnum.Customer ? true : false;
                            if (stepCheckBLL.Create(ref errors, stepCheckModel))//新建步骤成功
                            {
                                InsertChecker(model, i, stepModel, stepCheckModel);
                            }
                        }
                        #endregion

                        if (IsEnd)//如果是最后一步就无需要下面继续了
                        {
                            break;
                        }
                        IsEnd = true;
                    }



                    LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",AttrA" + model.AttrA, "成功", "创建", "Flow_FormContent");
                    return(Json(JsonHandler.CreateMessage(1, Resource.InsertSucceed)));
                }
                else
                {
                    string ErrorCol = errors.Error;
                    LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",AttrA" + model.AttrA + "," + ErrorCol, "失败", "创建", "Flow_FormContent");
                    return(Json(JsonHandler.CreateMessage(0, Resource.InsertFail + ErrorCol)));
                }
            }
            else
            {
                return(Json(JsonHandler.CreateMessage(0, Resource.InsertFail)));
            }
        }
Example #21
0
 public ActionResult Create()
 {
     ViewBag.ServiceList    = FlowHelper.GetTypeSelectList("服务类型");
     ViewBag.DeployTypeList = GetDeployTypeList();
     return(View());
 }