/// <summary>
        /// A boolean expression using one variable.
        /// returns always a boolean value result.
        ///
        /// The execution finish successfully.
        /// </summary>
        public static void A_Eq_12_true()
        {
            string expr = "A = 12";

            Console.WriteLine("\n====The expression is: " + expr);

            ExpressionEval evaluator = new ExpressionEval();

            //====1/decode the expression
            ParseResult parseResult = evaluator.Parse(expr);

            //====2/prepare the execution, provide all used variables: type and value, remove the previous result
            // scan all variables found in the expression (found the variable named 'a')
            int i = 0;

            foreach (ExprVarUsed exprVar in parseResult.ListExprVarUsed)
            {
                i++;
                Console.WriteLine("Var #" + i + "Name=" + exprVar.Name);
            }


            Console.WriteLine("Define variables: a:=12");
            evaluator.DefineVarInt("a", 12);

            //====3/Execute the expression
            ExecResult execResult = evaluator.Exec();

            //====4/get the result, its a bool value
            Console.WriteLine("Execution Result: " + execResult.ResultBool);
        }
Пример #2
0
        public void fct_OP_a_And__not_b_CP_retBool_true_ok()
        {
            ExpressionEval evaluator = new ExpressionEval();

            // definir langue: fr ou en, sert pour les opérateurs: ET/AND, OU/OR, NON/NOT.
            evaluator.SetLang(Language.En);

            string      expr        = "Fct(a and not b)";
            ParseResult parseResult = evaluator.Parse(expr);

            //====2/prepare the execution, provide all used variables and functions
            evaluator.DefineVarBool("a", true);
            evaluator.DefineVarBool("b", true);

            // link function body to function call
            evaluator.AttachFunction("Fct", Fct_RetNot);

            //====3/execute l'expression booléenne
            ExecResult execResult = evaluator.Exec();

            Assert.AreEqual(false, execResult.HasError, "The exec of the expression should finish with success");

            // check the final result value (is ExprExecFunctionCallBool override ExprExecValueBool)
            ExprExecValueBool valueBool = execResult.ExprExec as ExprExecValueBool;

            Assert.IsNotNull(execResult, "The result value should be a bool");
            Assert.AreEqual(true, valueBool.Value, "The result value should be: true");
        }
        /// <summary>
        /// Define a variable but the syntax name is wrong: has space.
        /// </summary>
        public static void DefineVarSyntaxName()
        {
            string expr = "Not(A)";

            Console.WriteLine("\n====The expression is: " + expr);

            ExpressionEval evaluator = new ExpressionEval();

            //====1/decode the expression
            ParseResult parseResult = evaluator.Parse(expr);

            //====2/prepare the execution, provide all used variables: type and value, remove the previous result
            Console.WriteLine("Define variables: A=12");
            evaluator.DefineVarBool("a", false);
            Console.WriteLine("Define wrong variable name: 'a b c'  -> don't stop the execution of the evaluation of the expression!");
            evaluator.DefineVarInt("a b c", 12);

            List <ExprError> listConfigError = evaluator.GetListErrorExprConfig();

            Console.WriteLine("DefineVar failed, err (VarNameSyntaxWrong): " + listConfigError[0].Code);

            //====3/Execute the expression
            ExecResult execResult = evaluator.Exec();

            //====4/get the result, its a bool value
            Console.WriteLine("Execution Result (true): " + execResult.ResultBool);
        }
Пример #4
0
        private void btnDelRoom_Click(object sender, EventArgs e)
        {
            string strRoomIDs = "";

            foreach (DataGridViewRow row in dgvRoom.Rows)
            {
                if (row.Cells["Selected"].Value != null && (bool)row.Cells["Selected"].Value)
                {
                    strRoomIDs += row.Cells["RoomID"].Value.ToString() + ",";
                }
            }

            //验证有没有卡牌
            KnowledgeDesk.ActionHelper.WebAPIHelper webapi = new ActionHelper.WebAPIHelper();
            string     strErr  = "";
            string     strPost = "RoomIDs=" + strRoomIDs.TrimEnd(',');
            ExecResult result  = webapi.ExecuteResultList("http://119.29.105.131:8099/api/Car/QueryCarByRoomIDs", strPost, "Get", ref strErr);

            if (result.DTData.Rows.Count > 0)
            {
                MessageBox.Show("选择房间中存在卡牌,操作失败");
                return;
            }
            else
            {
                string     postpara  = "IDs=" + strRoomIDs.TrimEnd(',');
                ExecResult resultDel = webapi.ExecuteResultList("http://119.29.105.131:8099/api/Room/DelRoom", postpara, "Get", ref strErr);
                MessageBox.Show("操作成功");
                QueryRoom();
            }
        }
        public ExecResult Draft(RetractionsBillsEntity model)
        {
            IContributionInfoService service = ServiceContainer.Instance.Container.Resolve <IContributionInfoService>();
            ExecResult result = service.DraftContribution(model);

            return(result);
        }
        public ExecResult SaveFormat(ContributionInfoEntity model)
        {
            IContributionInfoService service = ServiceContainer.Instance.Container.Resolve <IContributionInfoService>();
            ExecResult result = service.SaveFormat(model);

            return(result);
        }
Пример #7
0
        public ExecResult IsValid()
        {
            if (this.IValidators == null || this.IValidators.Count == 0)
            {
                return(new ExecResult()
                {
                    Code = 1,
                    Success = true,
                    Message = "验证通过"
                });
            }

            List <ExecResult> tAllValidResultList = new List <ExecResult>(IValidators.Count);
            ExecResult        tFirstValidFalse    = null;

            foreach (var tIValidators in IValidators)
            {
                var result = tIValidators.IsValid();
                tAllValidResultList.Add(result);
                if (!result.Success && tFirstValidFalse == null)
                {
                    tFirstValidFalse = result;
                }
            }

            return(new ExecResult()
            {
                Code = tFirstValidFalse == null ? 1 : -1,
                Success = tFirstValidFalse == null,
                Message = tFirstValidFalse == null ? "验证通过" : tFirstValidFalse.Message,
                Data = tAllValidResultList
            });
        }
        public ExecResult ChangeStatus(ContributionInfoQuery query)
        {
            IContributionInfoService service = ServiceContainer.Instance.Container.Resolve <IContributionInfoService>();
            ExecResult result = service.ChangeStatus(query);

            return(result);
        }
 public bool UpdateFiltered(T model, ref ExecResult execRes)
 {
     ClearResult();
     if (Open(true))
     {
         try
         {
             model = UpdateFillBaseModel(model);
             object res = objMapper.Update(model, false, DataConditions);
             _Result.AffectedRow = (int)res;
             _Result.Message     = execRes.Message = "";
             _Result.Success     = execRes.Success = true;
         }
         catch (Exception e)
         {
             //TODO Log e
             _Result.Message = execRes.Message = "Update Failed" + e.Message;
             _Result.Success = execRes.Success = false;
         }
     }
     else
     {
         _Result.Message = execRes.Message = "Open Connection Failed";
         _Result.Success = execRes.Success = false;
     }
     Close(true);
     ClearFilter();
     return(_Result.Success);
 }
        /// <summary>
        /// error, the variables types mismatch.
        /// Can't compare an integer and a boolean.
        ///
        /// ====The expression is: (a=b)
        /// The expr '(a=b)' has errors, nb = 1
        /// Error code: ExprComparisonOperandsTypeMismatchIntExpected
        /// Error param: Position= 3
        ///
        /// </summary>
        public static void A_Eq_B_TypeMismatch()
        {
            string expr = "(a=b)";

            Console.WriteLine("\n====The expression is: " + expr);

            ExpressionEval evaluator = new ExpressionEval();

            // 1-decode the expression
            evaluator.Parse(expr);

            // 2-set variables
            evaluator.DefineVarInt("a", 12);
            evaluator.DefineVarBool("b", true);

            // 3-execute the expression
            ExecResult execResult = evaluator.Exec();

            // 4-check error
            if (execResult.HasError)
            {
                // display the error code
                Console.WriteLine("The expr '" + expr + "' has errors, nb=" + execResult.ListError.Count);
                ExprError error = execResult.ListError[0];
                Console.WriteLine("Error code: " + error.Code);

                // display the error parameter (the position of the wrong token)
                Console.WriteLine("Error param: " + error.ListErrorParam[0].Key + "= " + error.ListErrorParam[0].Value);

                return;
            }

            Console.WriteLine("The expr " + expr + " parse finished sucessfully!");
        }
 private bool Insert_(T model, bool withKey, ref ExecResult execRes)
 {
     ClearResult();
     if (Open(true))
     {
         try
         {
             object keys;
             model = InsertFillBaseModel(model);
             _Result.AffectedRow       = objMapper.Insert(model, out keys, DataConditions, withKey);
             _Result.LastInsertedKeyID = keys;
             _Result.Message           = execRes.Message = "";
             _Result.Success           = execRes.Success = true;
         }
         catch (Exception e)
         {
             //TODO Log e
             _Result.Message = execRes.Message = "Insert Failed" + e.Message;
             _Result.Success = execRes.Success = false;
         }
     }
     else
     {
         this._Result.Message = execRes.Message = "Open Connection Failed";
         this._Result.Success = execRes.Success = false;
     }
     Close(true);
     ClearFilter();
     return(_Result.Success);
 }
 public bool Delete(object key1, object key2, ref ExecResult execRes)
 {
     return(Delete(new List <object>()
     {
         key1, key2
     }, ref execRes));
 }
 public bool Delete(List <object> keys, ref ExecResult execRes)
 {
     ClearResult();
     if (Open(true))
     {
         try
         {
             _Result.AffectedRow = 0;
             _Result.AffectedRow = objMapper.Delete <T>(keys, DataConditions);
             _Result.Message     = execRes.Message = "";
             _Result.Success     = execRes.Success = true;
         }
         catch (Exception e)
         {
             //TODO Log e
             _Result.Message = execRes.Message = "Delete Failed" + e.Message;
             _Result.Success = execRes.Success = false;
         }
     }
     else
     {
         this._Result.Message = execRes.Message = "Open Connection Failed";
         this._Result.Success = execRes.Success = false;
     }
     Close(true);
     ClearFilter();
     return(_Result.Success);
 }
Пример #14
0
        public ActionResult SendSms(MessageRecodeEntity model, bool IsAuthor, string ReciveUserStr)
        {
            ISiteConfigFacadeService service = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>();
            ExecResult result = new ExecResult();

            model.JournalID  = CurAuthor.JournalID;
            model.SendUser   = CurAuthor.AuthorID;
            model.MsgType    = 2;
            model.SendDate   = DateTime.Now;
            model.SendType   = 0;
            model.SMServices = 1;
            if (ReciveUserStr.EndsWith(","))
            {
                ReciveUserStr = ReciveUserStr.Substring(0, ReciveUserStr.Length - 1);
            }
            ReciveUserStr = ReciveUserStr.Replace(",", ",");
            if (!ReciveUserStr.Contains(",") && !IsAuthor)
            {
                model.ReciveAddress = ReciveUserStr;
                result = service.SendEmailOrSms(model);
            }
            else
            {
                var strList = ReciveUserStr.Split(',').Where(p => !string.IsNullOrWhiteSpace(p)).ToList();
                if (IsAuthor)
                {
                    result = service.SendEmailOrSms(strList.Select(p => TypeParse.ToLong(p)).ToList(), model);
                }
                else
                {
                    result = service.SendEmailOrSms(strList, model);
                }
            }
            return(Json(new { result = result.result, msg = result.msg }));
        }
Пример #15
0
        private ExecResult Execute(string action, string data)
        {
            var result = new ExecResult();

            switch (action.ToUpper())
            {
            case "SAVESTYLE":
                var rptData = JsonConvert.DeserializeObject <ReportStyle>(data);
                result = SaveStyle(rptData);
                break;

            case "GETTAGDETAIL":
                result = GetTagDetail(data);
                break;

            case "GETSPELL":
                result = GetSpell();
                break;

            case "GETSTYLE":
                result = GetRptStyle(JsonConvert.DeserializeObject <ReportStyle>(data));
                break;

            default:
                break;
            }

            return(result);
        }
Пример #16
0
        public ActionResult AuthorSendSms(Int64 CID, Int32 Status, MessageRecodeEntity model)
        {
            var user = GetAuthorInfo(CID, Status);

            if (user == null)
            {
                return(Json(new { result = EnumJsonResult.failure.ToString(), msg = "获取接收人失败,发送短信失败!" }));
            }

            ISiteConfigFacadeService service = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>();
            ExecResult result = new ExecResult();

            model.JournalID = CurAuthor.JournalID;
            model.SendUser  = CurAuthor.AuthorID;
            model.MsgType   = 2;
            model.SendDate  = DateTime.Now;
            model.SendType  = 0;

            //通过稿件编号获取接收人、接受地址
            model.ReciveUser    = user.AuthorID;
            model.ReciveAddress = user.Mobile;

            result = service.SendEmailOrSms(model);
            return(Json(new { result = result.result, msg = result.msg }));
        }
Пример #17
0
        public static ExecResult <ElementData> Execute()
        {
            var result = new ExecResult <ElementData>();

            try
            {
                var form = new FSelectObject();
                form.LoadObjects();

                DialogResult res = form.ShowDialog();
                if (res != DialogResult.OK)
                {
                    result.code = (int)res;
                }
                else
                {
                    if (form.lvObjects.SelectedItems.Count > 0)
                    {
                        result.value = (ElementData)(form.lvObjects.SelectedItems[0]).Tag;
                    }
                    else
                    {
                        result.code    = -1;
                        result.message = "Не выбран объект";
                    }
                }
            }
            catch (Exception ex)
            {
                result.setException(ex);
            }

            return(result);
        }
Пример #18
0
        public ExecResult Del(Int64[] CID)
        {
            IContributionInfoService service = ServiceContainer.Instance.Container.Resolve <IContributionInfoService>();
            ExecResult result = service.DelContributionInfo(CID);

            return(result);
        }
Пример #19
0
        public ExecResult ChangeStatus(PayNoticeQuery query)
        {
            IPayNoticeService service = ServiceContainer.Instance.Container.Resolve <IPayNoticeService>();
            ExecResult        result  = service.ChangeStatus(query);

            return(result);
        }
Пример #20
0
        /// <summary>
        /// 取消作者为专家
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public ExecResult CancelAuthorExpert(AuthorDetailQuery query)
        {
            HttpClientHelper clientHelper = new HttpClientHelper();
            ExecResult       result       = clientHelper.Post <ExecResult, AuthorDetailQuery>(GetAPIUrl(APIConstant.AUTHOR_CANCELEXPERT), query);

            return(result);
        }
Пример #21
0
        static void ModelsGET(DbAgent agent)
        {
            DataSItem _selectedProcedure = new DataSItem();

            _selectedProcedure.Schema = "auto";
            _selectedProcedure.Name   = "Models_Get";

            DataSet ds = new DataSet();

            //  _selectedProcedure.FillPRocedureParamsFromSQLAgent(agent);
            ExecResult res = _selectedProcedure.ExecDataSet(agent, out ds);


            DataTable dt = ds.Tables[0];


            foreach (DataRow rw in dt.Rows)
            {
                foreach (var s in rw.ItemArray)
                {
                    Console.Write(s.ToString() + " - ");
                }
                Console.WriteLine();
                // Console.WriteLine(rw[0].ToString());
            }
        }
        public static void Not_OP_A_CP_A_Int_Err()
        {
            string expr = "Not(A)";

            Console.WriteLine("\n====The expression is: " + expr);

            ExpressionEval evaluator = new ExpressionEval();

            //====1/decode the expression
            ParseResult parseResult = evaluator.Parse(expr);

            //====2/prepare the execution, provide all used variables: type and value, remove the previous result
            Console.WriteLine("Define variables: A=12");
            evaluator.DefineVarInt("a", 12);

            //====3/Execute the expression
            ExecResult execResult = evaluator.Exec();

            if (execResult.HasError)
            {
                // error: VariableNotCreated
                Console.WriteLine("Execution Result failed, err: " + execResult.ListError[0].Code);

                // Key: VarName, Value: a
                Console.WriteLine("Execution Result failed, ParamKey: " + execResult.ListError[0].ListErrorParam[0].Key + ", ParamValue: " + execResult.ListError[0].ListErrorParam[0].Value);
                return;
            }

            //====4/get the result, its a bool value
            Console.WriteLine("Execution Result: " + execResult.ResultBool);
        }
        public void Double_Exposant_SepIsDot_true()
        {
            ExpressionEval evaluator = new ExpressionEval();

            // definir langue: fr ou en, sert pour les opérateurs: ET/AND, OU/OR, NON/NOT.
            evaluator.SetLang(Language.En);

            //evaluator.SetDoubleDecimalSeparator(ExpressionEvalDef.DoubleDecimalSeparator.Dot);

            string      expr        = "(a = 12.45E3)";
            ParseResult parseResult = evaluator.Parse(expr);

            Assert.IsFalse(parseResult.HasError, "the parse should finish successfully");

            //====2/prepare the execution, provide all used variables: type and value
            //ExprExecResult execResult = evaluator.InitExec();

            evaluator.DefineVarDouble("a", 12.45E3);

            //====3/execute l'expression booléenne
            ExecResult execResult = evaluator.Exec();

            Assert.AreEqual(false, execResult.HasError, "The exec of the expression should finish with success");

            // check the final result value
            Assert.IsTrue(execResult.ResultBool, "The result value should be true");
        }
Пример #24
0
        //
        //  Execution part of processor
        //
        internal void Execute()
        {
            Debug.Assert(_actionStack != null);

            while (_execResult == ExecResult.Continue)
            {
                ActionFrame frame = (ActionFrame)_actionStack.Peek();

                if (frame == null)
                {
                    Debug.Assert(_builder != null);
                    _builder.TheEnd();
                    ExecutionResult = ExecResult.Done;
                    break;
                }

                // Execute the action which was on the top of the stack
                if (frame.Execute(this))
                {
                    _actionStack.Pop();
                }
            }

            if (_execResult == ExecResult.Interrupt)
            {
                _execResult = ExecResult.Continue;
            }
        }
Пример #25
0
 public ABPController(IMapper imap, Ilog logger)
 {
     LOG         = logger;
     IM          = imap;
     ListMessage = new List <string>();
     ExecRes     = new ExecResult();
 }
Пример #26
0
        private void btnDelFloor_Click(object sender, EventArgs e)
        {
            string strFloorIDs = "";

            foreach (DataGridViewRow row in dgvFloor.Rows)
            {
                if (row.Cells["colSelected"].Value != null && (bool)row.Cells["colSelected"].Value)
                {
                    strFloorIDs += row.Cells["FloorID"].Value.ToString() + ",";
                }
            }
            if (string.IsNullOrEmpty(strFloorIDs))
            {
                MessageBox.Show("请选择楼层!");
                return;
            }
            //验证有没有房间
            KnowledgeDesk.ActionHelper.WebAPIHelper webapi = new ActionHelper.WebAPIHelper();
            string     strErr  = "";
            string     strPost = "FloorID=" + strFloorIDs.TrimEnd(',');
            ExecResult result  = webapi.ExecuteResultList("http://119.29.105.131:8099/api/Room/QueryRoomByFloorID", strPost, "Get", ref strErr);

            if (result.DTData.Rows.Count > 0)
            {
                MessageBox.Show("选择楼层中存在房间,操作失败");
                return;
            }
            else
            {
                ExecResult resultDel = webapi.ExecuteResultList("http://119.29.105.131:8099/api/Floor/DelFloor", strPost, "Get", ref strErr);
                MessageBox.Show("操作成功");
                QueryFloor();
            }
        }
Пример #27
0
        public ExecResult Del(SiteNoticeQuery query)
        {
            ExecResult         execResult = new ExecResult();
            ISiteNoticeService service    = ServiceContainer.Instance.Container.Resolve <ISiteNoticeService>();

            Int64[] NoticeIDs = query.NoticeIDs;
            if (NoticeIDs == null)
            {
                execResult.result = EnumJsonResult.failure.ToString();
                execResult.msg    = "没有删除任何数据!";
                return(execResult);
            }
            string msg    = string.Empty;
            bool   result = service.BatchDeleteSiteNotice(NoticeIDs);

            if (result)
            {
                execResult.result = EnumJsonResult.success.ToString();
                execResult.msg    = "删除成功!";
            }
            else
            {
                execResult.result = EnumJsonResult.failure.ToString();
                execResult.msg    = "删除失败!";
            }
            return(execResult);
        }
Пример #28
0
        public void Exec_A_Diff_B_Int_True_Ok()
        {
            ExpressionEval evaluator = new ExpressionEval();

            // definir langue: fr ou en, sert pour les opérateurs: ET/AND, OU/OR, NON/NOT.
            evaluator.SetLang(Language.En);

            string      expr        = "(A<>B)";
            ParseResult parseResult = evaluator.Parse(expr);

            //====2/prepare the execution, provide all used variables: type and value
            //ExprExecResult execResult = evaluator.InitExec();

            evaluator.DefineVarInt("a", 10);
            evaluator.DefineVarInt("b", 12);

            //====3/execute l'expression booléenne
            ExecResult execResult = evaluator.Exec();

            Assert.AreEqual(false, execResult.HasError, "The exec of the expression should finish with success");

            // check the final result value
            ExprExecValueBool valueBool = execResult.ExprExec as ExprExecValueBool;

            Assert.IsNotNull(valueBool, "The result value should be a bool");
            Assert.AreEqual(true, valueBool.Value, "The result value should be: true");
        }
Пример #29
0
        public ExecResult Submission(ContributionInfoEntity model)
        {
            IContributionInfoService service = ServiceContainer.Instance.Container.Resolve <IContributionInfoService>();
            ExecResult result = service.AuthorPlatform(model);

            return(result);
        }
Пример #30
0
        /// <summary>
        /// 删除作者详细信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public ExecResult DelAuthorDetail(AuthorDetailQuery query)
        {
            HttpClientHelper clientHelper = new HttpClientHelper();
            ExecResult       result       = clientHelper.Post <ExecResult, AuthorDetailQuery>(GetAPIUrl(APIConstant.AUTHORDETAIL_DEL), query);

            return(result);
        }
Пример #31
0
		public static void ValidateResult(ExecResult r, string args)
		{
			if (r.ExitCode != 0)
			{
				var sb = new StringBuilder("Exec failed: ");
				sb.AppendLine("cmd: " + args);
				sb.AppendLine("exitcode: " + r.ExitCode);
				r.ForStdError(s => sb.AppendLine("stderr: " + s));
				r.ForStdOut(s => sb.AppendLine("stdout: " + s));

				throw new ApplicationException(sb.ToString());
			}
		}
Пример #32
0
 public static EtlRunResult Build(ExecResult result, IPackageEvents events)
 {
     switch (result)
     {
         case ExecResult.Failure:
             return Failure(events.Message);
         case ExecResult.Success:
             return Success(events.ExecutionTime);
         default:
             break;
     }
     throw new ArgumentException();
 }
Пример #33
0
        private ExecResult GetRptStyle(ReportStyle report)
        {
            //var rptName = report.RptName;
            var rptId = report.RptID;
            var treeId = report.TreeId;
            var orgId = report.OrgId;
            var bll = new BLL.BLLReport();
            var rpt = bll.GetRptStyle(rptId, treeId, orgId);

            var result = new ExecResult()
            {
                ResultData = JsonConvert.SerializeObject(rpt),
            };

            return result;
        }
Пример #34
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var action = Request.Form["act"] ?? string.Empty;
            var p = Request.Form["param"] ?? string.Empty;
            var result = new ExecResult();
            try
            {
                result = Execute(action, p);
            }
            catch (Exception ex)
            {
                result.Status = false;
                result.ErrMessage = "客户端参数错误:" + ex.Message;
                throw;
            }

            var strResult = JsonConvert.SerializeObject(result);
            Response.Clear();
            Response.Write(strResult);
            Response.End();
        }
Пример #35
0
        private ExecResult Execute(string action, string data)
        {
            var result = new ExecResult();
            switch (action.ToUpper())
            {
                case "SAVESTYLE":
                    var rptData = JsonConvert.DeserializeObject<ReportStyle>(data);
                    result = SaveStyle(rptData);
                    break;
                case "GETTAGDETAIL":
                    result = GetTagDetail(data);
                    break;
                case "GETSPELL":
                    result = GetSpell();
                    break;
                case "GETSTYLE":
                    result = GetRptStyle(JsonConvert.DeserializeObject<ReportStyle>(data));
                    break;
                default:
                    break;
            }

            return result;
        }
Пример #36
0
        private ExecResult SaveStyle(ReportStyle rpt)
        {
            var bll = new BLL.BLLReport();
            var s = bll.SaveRptStyle(rpt);
            var objResult = new ExecResult()
            {
                Status = true,
            };
            if (s != string.Empty)
            {
                objResult.ErrMessage = s;
                objResult.Status = false;
            }

            return objResult;
        }
Пример #37
0
        private ExecResult GetTagDetail(string tagID)
        {
            ExecResult result = new ExecResult();

            return result;
        }
Пример #38
0
        private ExecResult GetSpell()
        {
            ExecResult result = new ExecResult();

            return result;
        }
Пример #39
0
        //
        //  Execution part of processor
        //
        internal void Execute() {
            Debug.Assert(this.actionStack != null);

            while (this.execResult == ExecResult.Continue) {
                ActionFrame frame = (ActionFrame) this.actionStack.Peek();

                if (frame == null) {
                    Debug.Assert(this.builder != null);
                    this.builder.TheEnd();
                    ExecutionResult = ExecResult.Done;
                    break;
                }

                // Execute the action which was on the top of the stack
                if (frame.Execute(this)) {
                    this.actionStack.Pop();
                }
            }

            if (this.execResult == ExecResult.Interrupt) {
                this.execResult = ExecResult.Continue;
            }
        }
Пример #40
0
		ExecResult TryExec(string args, IDictionary<string, string> envVars, string workingDir, CancellationToken ct)
		{
			var psi = new ProcessStartInfo(_exe, args);
			psi.CreateNoWindow = true;
			psi.RedirectStandardError = true;
			psi.RedirectStandardOutput = true;
			psi.RedirectStandardInput = true;
			psi.UseShellExecute = false;
			psi.WorkingDirectory = workingDir;

			if (envVars != null)
			{
				foreach (var envVar in envVars)
					psi.EnvironmentVariables.Add(envVar.Key, envVar.Value);
			}

			_log.WriteLine("START: {0} {1}", psi.FileName, psi.Arguments);

			Process p = null;

			IDisposable cancellationRegistration = null;
			if(ct.CanBeCanceled)
			{
				cancellationRegistration = ct.Register(() => {
					p.Kill();
				});
			}

			p = Process.Start(psi);
			Debug.Assert(p != null);

			var stdOut = "";
			var t1 = Task.Factory.StartNew(() => {
				var sb = new StringBuilder();

				while (!p.StandardOutput.EndOfStream)
				{
					var line = p.StandardOutput.ReadLine();
					sb.AppendLine(line);
					if (_log != null)
						_log.WriteLine("STDOUT: " + line);
				}
				stdOut = sb.ToString();
			});

			var stdErr = "";
			var t2 = Task.Factory.StartNew(() => {
				var sb = new StringBuilder();
				while (!p.StandardError.EndOfStream)
				{
					var line = p.StandardError.ReadLine();
					sb.AppendLine(line);
					if (_log != null)
						_log.WriteLine("STDERR: " + line);
				}
				stdErr = sb.ToString();
			});

			p.WaitForExit();
			t1.Wait();
			t2.Wait();

			if (_log != null)
			{
				_log.WriteLine("{0} {1}: {2}", Path.GetFileName(_exe), args, p.ExitCode);
				if (!string.IsNullOrWhiteSpace(stdOut))
					_log.WriteLine(stdOut);
				if (!string.IsNullOrWhiteSpace(stdErr))
					_log.WriteLine("stderr: " + stdErr);
			}

			var r = new ExecResult(p.ExitCode, stdOut, stdErr);

			p = null;
			if (cancellationRegistration != null)
				cancellationRegistration.Dispose();

			ct.ThrowIfCancellationRequested();

			if (_validate)
				ValidateResult(r, args);

			return r;
		}