public async Task <IActionResult> Edit(int id, [Bind("id,jobNumber,name,sex,password,idNumber,phone,address,State,birthday")] OperatorEntity operatorEntity)
        {
            if (id != operatorEntity.id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(operatorEntity);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OperatorEntityExists(operatorEntity.id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(operatorEntity));
        }
        public ActionResult AddInfo(OperatorEntity operatorEntity)
        {
            _context.OperatorEntity.Add(operatorEntity);

            _context.SaveChanges();

            return(RedirectToAction(nameof(Index)));
        }
示例#3
0
        public static Entity Hang(Entity a, Entity b)
        {
            var res = new OperatorEntity("powf", Const.PRIOR_POW);

            res.Children.Add(a);
            res.Children.Add(b);
            return(res);
        }
        public async Task <IActionResult> Create([Bind("id,jobNumber,name,sex,password,idNumber,phone,address,State,birthday")] OperatorEntity operatorEntity)
        {
            if (ModelState.IsValid)
            {
                _context.Add(operatorEntity);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(operatorEntity));
        }
    // Start is called before the first frame update
    void Start()
    {
        WheelSteering = GameObject.Find("steeringwheel").GetComponent <OperatorEntity>();
        Breaker       = GameObject.Find("breaker").GetComponent <OperatorEntity>();
        GasPedal      = GameObject.Find("gaspedal").GetComponent <OperatorEntity>();

        fixWheelSteering = WheelSteering.transform.position - this.transform.position;
        fixBreaker       = Breaker.transform.position - this.transform.position;
        fixGasPedal      = GasPedal.transform.position - this.transform.position;

        m_Camera           = this.GetComponent <Camera>();
        m_OrthographicSize = m_Camera.orthographicSize;
    }
        public void GetSendAppMessage(List <SendAppMessageModel> sendAppMessageModels)
        {
            foreach (var item in sendAppMessageModels)
            {
                CustomerInfoEntity customerInfoEntity = _customerInfoDal.GetCustomerByExpression(x => x.Cid == item.Cid);
                CorporationEntity  corporationEntity  = _corporationDal.GetContactInfoByExpression(x => x.CorpId == customerInfoEntity.CorpID);
                OperatorEntity     operatorEntity     =
                    base.Context.Set <OperatorEntity>().Where(n =>
                                                              n.Oid.ToUpper() == corporationEntity.ResponsibleOid).FirstOrDefault();
                item.Email = operatorEntity?.Email;

                item.SendContent = corporationEntity.CorpName + " 公司已生成订单 " + item.OrderId + ",请差旅顾问及时处理!";
            }
        }
示例#7
0
        public OperatorModel GetOperatorByOid(string oid)
        {
            if (string.IsNullOrEmpty(oid))
            {
                return(null);
            }
            OperatorEntity operatorEntity =
                _operatorDal.Query <OperatorEntity>(n => n.Oid.ToUpper() == oid.ToUpper()).FirstOrDefault();

            if (operatorEntity == null)
            {
                return(null);
            }

            return(Mapper.Map <OperatorEntity, OperatorModel>(operatorEntity));
        }
示例#8
0
        /// <summary>
        /// Linear multi hanging
        /// (1 + (1 + (1 + 1)))
        /// </summary>
        /// <param name="children"></param>
        /// <param name="opName"></param>
        /// <param name="opPrior"></param>
        /// <returns></returns>
        internal static Entity MultiHangLinear(List <Entity> children, string opName, int opPrior)
        {
            if (children.Count == 0)
            {
                throw new TreeException("At least 1 child required");
            }
            if (children.Count == 1)
            {
                return(children[0]);
            }
            Entity res = new OperatorEntity(opName, opPrior);

            res.Children.Add(children[0]);
            res.Children.Add(MultiHangLinear(children.GetRange(1, children.Count - 1), opName, opPrior));
            return(res);
        }
示例#9
0
 public int InsertOperatorEntity(OperatorEntity oe)
 {
     try
     {
         string sqlstr = $"insert into dbo.Operator(Ope_Account,Ope_Name,Ope_Password,Ope_IfUse,Ope_RevisionTime,Ope_Cmst_ID,Ope_Rol_ID,Ope_IfSysAccount)values('{oe.Account}','{oe.OperatorName}','{oe.Password}','{oe.IfUse}','{oe.UpdateTime}',{oe.CmstID},{oe.RoleID},'{oe.IfSysAccount}')";
         int    ret    = SqlDataHelper.ExecuteNonQuery(SqlDataHelper.GetConnection(), CommandType.Text, sqlstr);
         if (ret > 0)
         {
             return(1);
         }
         return(-1);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#10
0
    public void SetGame()
    {
        Car1 = GameObject.Find("car1").GetComponent <CarEntity>();
        Car2 = GameObject.Find("car2").GetComponent <CarEntity>();

        m_WheelSteering = GameObject.Find("steeringwheel").GetComponent <OperatorEntity>();
        m_Breaker       = GameObject.Find("breaker").GetComponent <OperatorEntity>();
        m_GasPedal      = GameObject.Find("gaspedal").GetComponent <OperatorEntity>();

        m_Camera = GameObject.Find("Main Camera").GetComponent <TracingCameraEntity>();
        m_Camera.targetObject = Car1;

        //找到hierarchy中的車子放入List & 鏡頭功能並鎖定車一

        m_Cars.Add(Car1);
        m_Cars.Add(Car2);
        m_SelectCar = m_Cars[0];
    }
示例#11
0
        public void Delete(int deleteDataID)
        {
            var deleteInfoDataID = deleteDataID;

            OperatorEntity operatorEntity = _context.OperatorEntity.Find(deleteInfoDataID);

            _context.OperatorEntity.Remove(operatorEntity);
            _context.SaveChanges();

            //return RedirectToAction(nameof(Index));

            //var cookie = Request["key"];
            //var deleteData = ViewData["deleteData"];

            //int a = 2;
            //int b = 3;
            //_context.OperatorEntity.Remove(operatorEntity);
            // _context.SaveChanges();
        }
示例#12
0
        /// <summary>
        /// 获得权限范围用户ID
        /// </summary>
        /// <param name="operators">当前登陆用户信息</param>
        /// <param name="isWrite">可写入</param>
        /// <returns></returns>
        public string GetDataAuthorUserId(OperatorEntity operators, bool isWrite = false)
        {
            string authorSql = this.GetDataAuthor(operators, isWrite);

            if (string.IsNullOrEmpty(authorSql))
            {
                return("");
            }

            List <UserEntity> userList = this.BaseRepository().FindList <UserEntity>(authorSql).ToList();
            StringBuilder     user     = new StringBuilder("");

            foreach (UserEntity item in userList)
            {
                user.Append(item.Id);
                user.Append(",");
            }

            return(user.ToString());
        }
示例#13
0
        /// <summary>
        /// 获得权限范围用户ID
        /// </summary>
        /// <param name="operators">当前登陆用户信息</param>
        /// <param name="isWrite">可写入</param>
        /// <returns></returns>
        public string GetDataAuthorUserId(OperatorEntity operators, bool isWrite = false)
        {
            string         res  = string.Empty;
            IDbTransaction tran = null;

            Logger(this.GetType(), "GetDataAuthorUserId-获得权限范围用户ID", () =>
            {
                using (var conn = this.BaseRepository().GetBaseConnection())
                {
                    tran = conn.BeginTransaction();

                    string authorSql = authorizeService.GetDataAuthor(operators, isWrite);
                    if (string.IsNullOrEmpty(authorSql))
                    {
                        res = "";
                    }

                    List <UserEntity> userList = this.BaseRepository().FindList <UserEntity>(conn, authorSql, tran).ToList();
                    StringBuilder user         = new StringBuilder("");

                    foreach (UserEntity item in userList)
                    {
                        user.Append(item.Id);
                        user.Append(",");
                    }

                    res = user.ToString();

                    tran.Commit();
                }
            }, e =>
            {
                Trace.WriteLine(e.Message);
            });
            return(res);
        }
示例#14
0
 /// <summary>
 /// 获得可读数据权限范围SQL
 /// </summary>
 /// <param name="operators">当前登陆用户信息</param>
 /// <param name="isWrite">可写入</param>
 /// <returns></returns>
 public string GetDataAuthor(OperatorEntity operators, bool isWrite = false)
 {
     throw new NotImplementedException();
 }
示例#15
0
        /// <summary>
        /// 审批结果通知
        /// </summary>
        /// <param name="sendAppMessageModel"></param>
        private void GetAuditResultMessage(SendAppMessageModel sendAppMessageModel)
        {
            if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.AduitOrder)
            {
                CorpAduitOrderEntity corpAduitOrderEntity =
                    _corpAduitOrderDal.Find <CorpAduitOrderEntity>(sendAppMessageModel.OrderId);

                if (corpAduitOrderEntity == null)
                {
                    return;
                }

                List <CorpAduitOrderDetailEntity> corpAduitOrderDetailEntities =
                    _corpAduitOrderDetailDal.Query <CorpAduitOrderDetailEntity>(
                        n => n.AduitOrderId == sendAppMessageModel.OrderId, true).ToList();
                if (corpAduitOrderDetailEntities == null || corpAduitOrderDetailEntities.Count == 0)
                {
                    return;
                }

                string orderType = corpAduitOrderDetailEntities[0].OrderType.ValueToDescription <OrderSourceTypeEnum>();
                string orderId   = corpAduitOrderDetailEntities[0].OrderId.ToString();
                if (sendAppMessageModel.SendType == SendAppMessageTypeEnum.AuditResultNotice)
                {
                    if (corpAduitOrderEntity.Status == (int)CorpAduitOrderStatusEnum.J)
                    {
                        sendAppMessageModel.SendContent = string.Format("您的{0}{1}{2}被审批人驳回,请您确认", orderType,
                                                                        (orderType.Contains("申请") ? "" : "订单"), orderId);
                    }
                    else if (corpAduitOrderEntity.Status == (int)CorpAduitOrderStatusEnum.F)
                    {
                        sendAppMessageModel.SendContent = string.Format("您的{0}{1}{2}已完成审批,准备为您{3}", orderType,
                                                                        (orderType.Contains("申请") ? "" : "订单"), orderId, (orderType.Contains("退票") ? "退票" : "出票"));

                        if (!orderType.Contains("退票") && orderType.Contains("机票") &&
                            sendAppMessageModel.SendAppMessageType == SendAppMessageTypeEnum.SendRunPrintFltTicketEmail)
                        {
                            FltOrderEntity fltOrderEntity =
                                base.Context.Set <FltOrderEntity>().Find(Convert.ToInt32(orderId));
                            if (fltOrderEntity != null)
                            {
                                string oid = string.IsNullOrEmpty(fltOrderEntity.CreateOid)
                                    ? "sys"
                                    : fltOrderEntity.CreateOid.ToUpper();

                                OperatorEntity operatorEntity =
                                    base.Context.Set <OperatorEntity>().Where(n =>
                                                                              n.Oid.ToUpper() == oid).FirstOrDefault();

                                sendAppMessageModel.IsRunOutTicket = true;
                                sendAppMessageModel.Email          = operatorEntity?.Email;

                                string isServer = AppSettingsHelper.GetAppSettings(AppSettingsEnum.IsServer);
                                string url      = string.Format(
                                    "http://192.168.1.117/orderprocess/Flt_order.asp?orderid={0}",
                                    orderId);
                                if (isServer == "T")
                                {
                                    url = string.Format("http://192.168.1.188/orderprocess/Flt_order.asp?orderid={0}",
                                                        orderId);
                                }
                                sendAppMessageModel.SendContent = string.Format("订单<a href='{0}'>{1}</a>已审核,请出票", url,
                                                                                orderId);
                                sendAppMessageModel.EmailTitle = string.Format("订单{0}已审核,请出票", orderId);
                            }
                        }
                    }
                    else if (corpAduitOrderEntity.Status > (int)CorpAduitOrderStatusEnum.N)
                    {
                        sendAppMessageModel.SendContent = string.Format("您的{0}{1}{2}已通过审批,待下级为您继续审批", orderType,
                                                                        (orderType.Contains("申请") ? "" : "订单"), orderId);
                    }
                }
                else if (sendAppMessageModel.SendType == SendAppMessageTypeEnum.AuditOrderDeleteNotice)
                {
                    sendAppMessageModel.SendContent = string.Format("您的{0}{1}{2}由于已经取消,所以审批自动过期", orderType,
                                                                    (orderType.Contains("申请") ? "" : "订单"), orderId);
                }
            }
        }
示例#16
0
        private void SaveData()
        {
            //保存任务
            NowTask.TaskName    = tbxTaskName.Text;
            NowTask.Description = tbxTaskDes.Text;
            if (rbtShareUser.Checked)
            {
                NowTask.OperRule = "1";
            }
            else
            if (rbtEveryUser.Checked)
            {
                NowTask.OperRule = "2";
            }
            NowTask.SaveUpdateTask();

            //保存任务处理者
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllOperator(this.UserInfo, NowTask.TaskId);
            foreach (ListViewItem lt in lvExOper.Items)
            {
                var oper = new OperatorEntity
                {
                    OperatorId  = lt.SubItems[1].Text,
                    WorkFlowId  = NowTask.WorkFlowId,
                    WorkTaskId  = NowTask.TaskId,
                    Description = lt.Text
                };
                switch (lt.SubItems[2].Text)
                {
                case "包含":
                    oper.InorExclude = 1;
                    break;

                case "排除":
                    oper.InorExclude = 0;
                    break;
                }

                oper.OperType    = Convert.ToInt16(lt.SubItems[3].Text);
                oper.Relation    = Convert.ToInt16(lt.SubItems[4].Text);
                oper.OperContent = lt.SubItems[5].Text;
                oper.OperDisplay = lt.SubItems[6].Text;
                RDIFrameworkService.Instance.WorkFlowTemplateService.InsertOperator(this.UserInfo, oper);
            }

            //保存任务变量
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllTaskVar(this.UserInfo, NowTask.TaskId);
            foreach (ListViewItem lt in lvExVar.Items)
            {
                var isSysVar = SystemVarData.IsSystemVar(lt.Text);
                if (isSysVar)
                {
                    continue;          //跳过系统变量
                }
                var tmpTaskVar = new TaskVarEntity
                {
                    VarName      = lt.Text,
                    WorkFlowId   = NowTask.WorkFlowId,
                    WorkTaskId   = NowTask.TaskId,
                    TaskVarId    = lt.SubItems[1].Text,
                    VarType      = lt.SubItems[2].Text,
                    VarModule    = lt.SubItems[3].Text,
                    DataBaseName = lt.SubItems[4].Text,
                    TableName    = lt.SubItems[5].Text,
                    TableField   = lt.SubItems[6].Text,
                    InitValue    = lt.SubItems[7].Text,
                    AccessType   = lt.SubItems[8].Text,
                    SortField    = lt.SubItems[9].Text
                };
                RDIFrameworkService.Instance.WorkFlowTemplateService.InsertTaskVar(this.UserInfo, tmpTaskVar);
            }

            //保存任务命令
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllCommands(this.UserInfo, NowTask.TaskId);
            foreach (ListViewItem lt in lvExCommand.Items)
            {
                var taskCommand = new WorkTaskCommandsEntity
                {
                    WorkFlowId  = NowTask.WorkFlowId,
                    WorkTaskId  = NowTask.TaskId,
                    CommandName = lt.Text,
                    CommandId   = lt.SubItems[1].Text,
                    Description = lt.SubItems[2].Text
                };
                RDIFrameworkService.Instance.WorkFlowTemplateService.InsertWorkTaskCommands(this.UserInfo, taskCommand);
            }
            //保存关联表单
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllControls(this.UserInfo, NowTask.TaskId);
            RDIFrameworkService.Instance.WorkFlowTemplateService.SetWorkTaskUserCtrls(this.UserInfo, UserControlId, NowTask.WorkFlowId, NowTask.TaskId);
            MessageBoxHelper.ShowSuccessMsg("保存成功!");
        }
        private void SaveData()
        {
            //保存任务
            NowTask.TaskName    = tbxTaskName.Text;
            NowTask.Description = tbxTaskDes.Text;

            if (rbtShareUser.Checked)
            {
                NowTask.OperRule = "1";
            }
            else
            if (rbtEveryUser.Checked)
            {
                NowTask.OperRule = "2";
            }
            NowTask.SaveUpdateTask();
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllOperator(this.UserInfo, NowTask.TaskId);
            //保存处理者
            foreach (ListViewItem lt in lvExOper.Items)
            {
                var oper = new OperatorEntity
                {
                    OperatorId  = lt.SubItems[1].Text,
                    WorkFlowId  = NowTask.WorkFlowId,
                    WorkTaskId  = NowTask.TaskId,
                    Description = lt.Text,
                    OperType    = Convert.ToInt16(lt.SubItems[3].Text),
                    Relation    = Convert.ToInt16(lt.SubItems[4].Text),
                    OperContent = lt.SubItems[5].Text,
                    OperDisplay = lt.SubItems[6].Text
                };

                switch (lt.SubItems[2].Text)
                {
                case "包含":
                    oper.InorExclude = 1;
                    break;

                case "排除":
                    oper.InorExclude = 0;
                    break;
                }

                RDIFrameworkService.Instance.WorkFlowTemplateService.InsertOperator(this.UserInfo, oper);
            }

            //保存任务命令
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllCommands(this.UserInfo, NowTask.TaskId);
            foreach (ListViewItem lt in lvExCommand.Items)
            {
                var taskCommand = new WorkTaskCommandsEntity
                {
                    WorkFlowId  = NowTask.WorkFlowId,
                    WorkTaskId  = NowTask.TaskId,
                    CommandName = lt.Text,
                    CommandId   = lt.SubItems[1].Text,
                    Description = lt.SubItems[2].Text
                };
                RDIFrameworkService.Instance.WorkFlowTemplateService.InsertWorkTaskCommands(this.UserInfo, taskCommand);
            }


            //保存关联表单
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllControls(this.UserInfo, NowTask.TaskId);
            RDIFrameworkService.Instance.WorkFlowTemplateService.SetWorkTaskUserCtrls(this.UserInfo, UserControlId, NowTask.WorkFlowId, NowTask.TaskId);

            //保存事件
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkFlowEvent(this.UserInfo, NowTask.TaskId);
            var ev = new WorkFlowEventEntity
            {
                Guid       = BusinessLogic.NewGuid(),
                WorkFlowId = NowTask.WorkFlowId,
                WorkTaskId = NowTask.TaskId
            };
            var us = "";

            ev.RmMsg   = cbxRmMessage.Checked ? 1 : 0;
            ev.RmEmail = cbxRmMail.Checked ? 1 : 0;
            ev.RmSms   = cbxRmSms.Checked ? 1 : 0;

            us = "";
            if (lbxRmMsgToUsers.Items.Count > 0)
            {
                for (var i = 0; i < lbxRmMsgToUsers.Items.Count - 1; i++)
                {
                    us = us + lbxRmMsgToUsers.Items[i].ToString() + ",";
                }
                us = us + lbxRmMsgToUsers.Items[lbxRmMsgToUsers.Items.Count - 1];
            }
            ev.RmToUsers = us;
            RDIFrameworkService.Instance.WorkFlowTemplateService.InsertWorkFlowEvent(this.UserInfo, ev);
        }
示例#18
0
        /// <summary>
        /// 获得可读数据权限范围SQL
        /// </summary>
        /// <param name="operators">当前登陆用户信息</param>
        /// <param name="isWrite">可写入</param>
        /// <returns></returns>
        public string GetDataAuthor(OperatorEntity operators, bool isWrite = false)
        {
            //如果是系统管理员直接给所有数据权限
            if (operators.IsSystem)
            {
                return("");
            }

            string        userId        = operators.UserId;
            StringBuilder whereSb       = new StringBuilder(" SELECT Id FROM Base_User WHERE 1=1 ");
            string        strAuthorData = "";

            if (isWrite)
            {
                strAuthorData = @"   SELECT    *
                                        FROM      Base_AuthorizeData
                                        WHERE     IsRead = 0 AND
                                        ObjectId IN (
                                                SELECT  ObjectId
                                                FROM    Base_UserRelation
                                                WHERE   Id = @Id)";
            }
            else
            {
                strAuthorData = @"   SELECT    *
                                        FROM      Base_AuthorizeData
                                        WHERE
                                        ObjectId IN (
                                                SELECT  ObjectId
                                                FROM    Base_UserRelation
                                                WHERE   Id = @Id)";
            }

            DbParameter[] parameter =
            {
                DbParameters.CreateDbParameter(DbParameters.CreateDbParmCharacter() + "Id", userId, DbType.String)
            };
            whereSb.Append(string.Format("AND( Id ='{0}'", userId));

            IEnumerable <AuthorizeDataEntity> listAuthorizeData = this.BaseRepository().FindList <AuthorizeDataEntity>(strAuthorData, parameter);

            foreach (AuthorizeDataEntity item in listAuthorizeData)
            {
                switch (item.AuthorizeType)
                {
                case 0:    //0代表最大权限
                    return("");

                case 2:    //本人及下属
                    whereSb.Append("  OR ManagerId ='{0}'");
                    break;

                case 3:    //所在部门
                    whereSb.Append(@"  OR DepartmentId = (SELECT DepartmentId FROM Base_User WHERE Id ='{0}')");
                    break;

                case 4:    //所在公司
                    whereSb.Append(@"  OR OrganizeId = (SELECT OrganizeId  FROM Base_User WHERE Id ='{0}' )");
                    break;

                    //case 5:
                    //    whereSb.Append(string.Format(@"  OR DepartmentId = '{1}' OR OrganizeId = '{1}'", userId, item.ResourceId));
                    //    break;
                }
            }
            whereSb.Append(")");
            return(whereSb.ToString());
        }
示例#19
0
        /// <summary>
        /// Parses the function interpreting "Math.Sqr" as sqr
        /// TODO
        /// </summary>
        /// <param name="linq"></param>
        /// <returns></returns>
        private static Entity InnerParse(Expression linq)
        {
            var unary  = linq as UnaryExpression;
            var binary = linq as BinaryExpression;

            switch (linq.NodeType)
            {
            case ExpressionType.Lambda:
                return(InnerParse((linq as LambdaExpression).Body));

            case ExpressionType.Constant:
                return(new NumberEntity(new Number((linq as ConstantExpression).Value)));

            case ExpressionType.Parameter:
                return(new VariableEntity((linq as ParameterExpression).Name));

            case ExpressionType.Negate:
                return(-1 * InnerParse(unary.Operand));

            case ExpressionType.UnaryPlus:
                return(1 * InnerParse(unary.Operand));

            case ExpressionType.Add:
                return(InnerParse(binary.Left) + InnerParse(binary.Right));

            case ExpressionType.Subtract:
                return(InnerParse(binary.Left) - InnerParse(binary.Right));

            case ExpressionType.Multiply:
                return(InnerParse(binary.Left) * InnerParse(binary.Right));

            case ExpressionType.Divide:
                return(InnerParse(binary.Left) / InnerParse(binary.Right));

            case ExpressionType.Power:
                return(MathS.Pow(InnerParse(binary.Left), InnerParse(binary.Right)));

            case ExpressionType.Call:
                var method     = linq as MethodCallExpression;
                var children   = method.Arguments.Select(InnerParse).ToList();
                var methodInfo = method.Method;
                var name       = methodInfo.Name.ToLower() + "f";
                if (name == "powf")     // The only operator that acts as function
                {
                    var op = new OperatorEntity(name, Const.PRIOR_POW)
                    {
                        Children = children
                    };
                    return(op);
                }
                else if (SynonymFunctions.SynFunctions.ContainsKey(name))
                {
                    return(SynonymFunctions.SynFunctions[name](children));
                }
                else
                {
                    var func = new FunctionEntity(name)
                    {
                        Children = children
                    };
                    return(func);
                }

            default:
                throw new ParseException("Parse error");
            }
        }
示例#20
0
        /// <summary>
        /// Inverts operator and returns a set
        /// x^2 = a
        /// => x = sqrt(a)
        /// x = -sqrt(a)
        /// </summary>
        /// <param name="func"></param>
        /// <param name="value"></param>
        /// <param name="x"></param>
        /// <returns></returns>
        public static Set InvertOperatorEntity(OperatorEntity func, Entity value, Entity x)
        {
            Entity a, un;
            int    arg;

            if (func.Children[0].FindSubtree(x) != null)
            {
                a   = func.Children[1];
                un  = func.Children[0];
                arg = 0;
            }
            else
            {
                a   = func.Children[0];
                un  = func.Children[1];
                arg = 1;
            }
            var n = Utils.FindNextIndex(func + value, "n");

            switch (func.Name)
            {
            case "sumf":
                // x + a = value => x = value - a
                return(FindInvertExpression(un, value - a, x));

            case "minusf":
                if (arg == 0)
                {
                    // x - a = value => x = value + a
                    return(FindInvertExpression(un, value + a, x));
                }
                else
                {
                    // a - x = value => x = a - value
                    return(FindInvertExpression(un, a - value, x));
                }

            case "mulf":
                // x * a = value => x = value / a
                return(FindInvertExpression(un, value / a, x));

            case "divf":
                if (arg == 0)
                {
                    // x / a = value => x = a * value
                    return(FindInvertExpression(un, value * a, x));
                }
                else
                {
                    // a / x = value => x = a / value
                    return(FindInvertExpression(un, a / value, x));
                }

            case "powf":
                if (arg == 0)
                {
                    // x ^ a = value => x = value ^ (1/a)
                    if (a.entType == Entity.EntType.NUMBER && a.GetValue().IsInteger())
                    {
                        var res = new Set();
                        foreach (var root in Number.GetAllRoots(1, a.GetValue().AsIntegerNumber()).FiniteSet())
                        {
                            res.AddRange(FindInvertExpression(un, root * MathS.Pow(value, 1 / a), x));
                        }
                        return(res);
                    }
                    else
                    {
                        return(FindInvertExpression(un, MathS.Pow(value, 1 / a), x));
                    }
                }
                else
                {
                    // a ^ x = value => x = log(a, value)
                    return(FindInvertExpression(un, MathS.Log(a, value) + 2 * MathS.i * n * MathS.pi, x));
                }

            default:
                throw new SysException("Unknown operator");
            }
        }
示例#21
0
        public ActionResult CheckLogin(string username, string password, string verifycode, int autologin)
        {
            ActionResult res = null;

            Logger(this.GetType(), "登录验证-CheckLogin", () =>
            {
                #region 验证码验证
                string code        = Md5Helper.Md5(verifycode.ToLower());
                string sessionCode = SessionHelper.GetSession <string>("session_verifycode");
                if (string.IsNullOrEmpty(sessionCode) || code != sessionCode)
                {
                    res = Error("验证码错误,请重新输入");
                }
                #endregion

                #region 账户验证
                else
                {
                    JsonObjectStatus status;
                    UserEntity user = _userBll.CheckLogin(username, password, out status);
                    if (status != JsonObjectStatus.Success || user == null)
                    {
                        res = Error(status.GetEnumDescription());
                    }
                    else
                    {
                        string objId = _permissionBll.GetObjectString(user.UserId);

                        OperatorEntity operators = new OperatorEntity
                        {
                            UserId        = user.UserId,
                            Code          = user.EnCode,
                            Account       = user.Account,
                            UserName      = user.RealName ?? user.NickName,
                            Password      = user.Password,
                            Secretkey     = user.Secretkey,
                            CompanyId     = user.OrganizeId,
                            DepartmentId  = user.DepartmentId,
                            IPAddress     = NetHelper.Ip,
                            IPAddressName = NetHelper.GetAddressByIP(NetHelper.Ip),
                            ObjectId      = objId,
                            LoginTime     = DateTime.Now,
                            Token         = DESEncryptHelper.Encrypt(CommonHelper.GetGuid(), user.Secretkey)
                        };

                        //写入当前用户数据权限
                        AuthorizeDataModel dataAuthorize = new AuthorizeDataModel
                        {
                            ReadAutorize        = _authorizeBll.GetDataAuthor(operators),
                            ReadAutorizeUserId  = _authorizeBll.GetDataAuthorUserId(operators),
                            WriteAutorize       = _authorizeBll.GetDataAuthor(operators, true),
                            WriteAutorizeUserId = _authorizeBll.GetDataAuthorUserId(operators, true)
                        };
                        operators.DataAuthorize = dataAuthorize;
                        //判断是否系统管理员
                        operators.IsSystem = user.Account == "System";

                        //写入登录信息
                        OperatorProvider.Provider.AddCurrent(operators);

                        res = Success("登录成功", user, "/Home/AdminDefault");
                    }
                }
                #endregion
            }, e =>
            {
                res = Error("系统异常:" + e.Message);
            }, () =>
            {
                SessionHelper.RemoveSession("session_verifycode");
            });
            return(res);
        }
示例#22
0
 public IActionResult Test(OperatorEntity operatorEntity)
 {
     Console.WriteLine("提交测试");
     return(Content("hello"));
 }
示例#23
0
        private void SaveData()
        {
            //保存任务
            NowTask.TaskName    = tbxTaskName.Text;
            NowTask.Description = tbxTaskDes.Text;
            NowTask.IsJumpSelf  = cbxJumpSelf.Checked;
            if (rbtShareUser.Checked)
            {
                NowTask.OperRule = "1";
            }
            else
            if (rbtEveryUser.Checked)
            {
                NowTask.OperRule = "2";
            }
            NowTask.SaveUpdateTask();
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllOperator(this.UserInfo, NowTask.TaskId);
            //保存处理者
            foreach (ListViewItem lt in lvExOper.Items)
            {
                var oper = new OperatorEntity
                {
                    OperatorId  = lt.SubItems[1].Text,
                    WorkFlowId  = NowTask.WorkFlowId,
                    WorkTaskId  = NowTask.TaskId,
                    Description = lt.Text,
                    OperType    = Convert.ToInt16(lt.SubItems[3].Text),
                    Relation    = Convert.ToInt16(lt.SubItems[4].Text),
                    OperContent = lt.SubItems[5].Text,
                    OperDisplay = lt.SubItems[6].Text
                };

                switch (lt.SubItems[2].Text)
                {
                case "包含":
                    oper.InorExclude = 1;
                    break;

                case "排除":
                    oper.InorExclude = 0;
                    break;
                }
                RDIFrameworkService.Instance.WorkFlowTemplateService.InsertOperator(this.UserInfo, oper);
            }
            //保存任务变量
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllTaskVar(this.UserInfo, NowTask.TaskId);
            foreach (ListViewItem lt in lvExVar.Items)
            {
                var isSysVar = SystemVarData.IsSystemVar(lt.Text);
                if (isSysVar)
                {
                    continue;          //跳过系统变量
                }
                var tmpTaskVar = new TaskVarEntity
                {
                    VarName      = lt.Text,
                    WorkFlowId   = NowTask.WorkFlowId,
                    WorkTaskId   = NowTask.TaskId,
                    TaskVarId    = lt.SubItems[1].Text,
                    VarType      = lt.SubItems[2].Text,
                    VarModule    = lt.SubItems[3].Text,
                    DataBaseName = lt.SubItems[4].Text,
                    TableName    = lt.SubItems[5].Text,
                    TableField   = lt.SubItems[6].Text,
                    InitValue    = lt.SubItems[7].Text,
                    AccessType   = lt.SubItems[8].Text,
                    SortField    = lt.SubItems[9].Text
                };

                RDIFrameworkService.Instance.WorkFlowTemplateService.InsertTaskVar(this.UserInfo, tmpTaskVar);
            }

            //保存任务命令
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllCommands(this.UserInfo, NowTask.TaskId);

            foreach (ListViewItem lt in lvExCommand.Items)
            {
                var taskCommand = new WorkTaskCommandsEntity
                {
                    WorkFlowId  = NowTask.WorkFlowId,
                    WorkTaskId  = NowTask.TaskId,
                    CommandName = lt.Text,
                    CommandId   = lt.SubItems[1].Text,
                    Description = lt.SubItems[2].Text
                };

                RDIFrameworkService.Instance.WorkFlowTemplateService.InsertWorkTaskCommands(this.UserInfo, taskCommand);
            }

            //保存关联表单
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllControls(this.UserInfo, NowTask.TaskId);
            RDIFrameworkService.Instance.WorkFlowTemplateService.SetWorkTaskUserCtrls(this.UserInfo, UserControlId, NowTask.WorkFlowId, NowTask.TaskId);

            //保存控制权限
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkTaskAllPower(this.UserInfo, NowTask.WorkFlowId, NowTask.TaskId);

            if (cbxReturn.Checked)
            {
                RDIFrameworkService.Instance.WorkFlowTemplateService.SetWorkTaskPower(this.UserInfo, WorkConst.WorkTask_Return, NowTask.WorkFlowId, NowTask.TaskId);
            }
            if (cbxReturnry.Checked)//任意退回
            {
                RDIFrameworkService.Instance.WorkFlowTemplateService.SetWorkTaskPower(this.UserInfo, WorkConst.WorkTask_Returnry, NowTask.WorkFlowId, NowTask.TaskId);
            }
            if (cbxAssign.Checked)
            {
                RDIFrameworkService.Instance.WorkFlowTemplateService.SetWorkTaskPower(this.UserInfo, WorkConst.WorkTask_Assign, NowTask.WorkFlowId, NowTask.TaskId);
            }
            if (cbxDyAssignNext.Checked)
            {
                RDIFrameworkService.Instance.WorkFlowTemplateService.SetWorkTaskPower(this.UserInfo, WorkConst.WorkTask_DyAssignNext, NowTask.WorkFlowId, NowTask.TaskId);
            }

            //保存超时配置
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkOutTime(this.UserInfo, NowTask.TaskId);

            var ot = new WorkOutTimeEntity
            {
                Guid       = BusinessLogic.NewGuid(),
                WorkFlowId = NowTask.WorkFlowId,
                WorkTaskId = NowTask.TaskId,
                Days       = Convert.ToInt16(tbxDay1.Value),
                Days1      = Convert.ToInt16(tbxDay2.Value),
                Days2      = Convert.ToInt16(tbxDay3.Value),
                Hours      = Convert.ToInt16(tbxHour1.Value),
                Hours1     = Convert.ToInt16(tbxHour2.Value),
                Hours2     = Convert.ToInt16(tbxHour3.Value),
                Minutes    = Convert.ToInt16(tbxMinute1.Value),
                Minutes1   = Convert.ToInt16(tbxMinute2.Value),
                Minutes2   = Convert.ToInt16(tbxMinute3.Value),
                OverTime   = chkEnableTimeOut.Checked ? 1 : 0
            };

            RDIFrameworkService.Instance.WorkFlowTemplateService.InsertWorkOutTime(this.UserInfo, ot);
            //保存事件
            RDIFrameworkService.Instance.WorkFlowTemplateService.DeleteWorkFlowEvent(this.UserInfo, NowTask.TaskId);

            var ev = new WorkFlowEventEntity
            {
                Guid       = BusinessLogic.NewGuid(),
                WorkFlowId = NowTask.WorkFlowId,
                WorkTaskId = NowTask.TaskId,
                OtMsg      = cbxOtMessage.Checked ? 1 : 0,
                OtSms      = cbxOtSms.Checked ? 1 : 0,
                OtEmail    = cbxOtMail.Checked ? 1 : 0
            };
            var us = "";

            if (lbxOtMsgToUsers.Items.Count > 0)
            {
                for (var i = 0; i < lbxOtMsgToUsers.Items.Count - 1; i++)
                {
                    us = us + lbxOtMsgToUsers.Items[i].ToString() + ",";
                }
                us = us + lbxOtMsgToUsers.Items[lbxOtMsgToUsers.Items.Count - 1];
            }
            ev.OtToUsers = us;
            ev.RmMsg     = cbxRmMessage.Checked ? 1 : 0;
            ev.RmEmail   = cbxRmMail.Checked ? 1 : 0;
            ev.RmSms     = cbxRmSms.Checked ? 1 : 0;

            us = "";
            if (lbxRmMsgToUsers.Items.Count > 0)
            {
                for (var i = 0; i < lbxRmMsgToUsers.Items.Count - 1; i++)
                {
                    us = us + lbxRmMsgToUsers.Items[i].ToString() + ",";
                }
                us = us + lbxRmMsgToUsers.Items[lbxRmMsgToUsers.Items.Count - 1];
            }
            ev.RmToUsers = us;
            RDIFrameworkService.Instance.WorkFlowTemplateService.InsertWorkFlowEvent(this.UserInfo, ev);
        }
示例#24
0
        /// <summary>
        /// 创建账套
        /// </summary>
        /// <param name="oe"></param>
        /// <returns></returns>
        public FeedbackInfomation SaveOrganization(OrganizationEntity oe)
        {
            FeedbackInfomation fi = new FeedbackInfomation();

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    //判断账套编号和名称是否重复
                    if (CheckCmstID(oe.CmstID))
                    {
                        fi.ErrorStatus     = STATUS_ADAPTER.SAVE_FAILED;
                        fi.Result          = oe;
                        fi.FeedbackMessage = "账套编号重复";
                        return(fi);
                    }
                    if (CheckCmstName(oe.CmstName))
                    {
                        fi.ErrorStatus     = STATUS_ADAPTER.SAVE_FAILED;
                        fi.Result          = oe;
                        fi.FeedbackMessage = "账套名称重复";
                        return(fi);
                    }
                    //保存账套信息
                    MyOrganizationDAL.InsertOrganization(oe);

                    //保存默认角色信息和角色操作
                    RoleEntity re = new RoleEntity();
                    re.CmstID   = oe.CmstID;
                    re.CsyID    = 1;
                    re.RoleName = "超级管理员";
                    re.IfUse    = true;
                    re          = MyOrganizationDAL.InsertRoleEtity(re);
                    re.Ros      = MyOrganizationDAL.SelectAllOperationList();
                    foreach (var ro in re.Ros)
                    {
                        MyOrganizationDAL.InsertRoleOperate(re.RoleID, ro.OperationID, re.CmstID);
                    }

                    //保存账套主管信息(系统默认账号)
                    OperatorEntity ope = new OperatorEntity();
                    ope.Account = oe.CmstSysAccount;
                    string str = Encrypt.Encrypt_MD5("000000");
                    ope.Password     = str;
                    ope.OperatorName = "系统管理员";
                    ope.IfSysAccount = true;
                    ope.RoleID       = re.RoleID;
                    ope.CmstID       = oe.CmstID;
                    ope.IfUse        = true;
                    ope.UpdateTime   = DateTime.Now;
                    if (MyOrganizationDAL.CheckedOperatorAccountRepeate(ope.Account, ope.OperatorID))
                    {
                        fi.ErrorStatus     = STATUS_ADAPTER.SAVE_FAILED;
                        fi.Result          = oe;
                        fi.FeedbackMessage = "账套主管重复";
                        return(fi);
                    }
                    MyOrganizationDAL.InsertOperatorEntity(ope);
                    scope.Complete();
                }
                fi.Result          = "";
                fi.ErrorStatus     = STATUS_ADAPTER.SAVE_SUCCESS;
                fi.FeedbackMessage = "";
                return(fi);
            }
            catch (Exception ex)
            {
                fi.Result          = "";
                fi.ErrorStatus     = STATUS_ADAPTER.SAVE_FAILED;
                fi.FeedbackMessage = ex.Message.ToString();
                return(fi);
            }
        }
示例#25
0
        public ActionResult CheckLogin(string username, string password, string verifycode, int autologin)
        {
            ActionResult res       = null;
            LogEntity    logEntity = new LogEntity
            {
                CategoryId     = (int)CategoryType.Login,
                OperateTypeId  = ((int)OperationType.Login).ToString(),
                OperateType    = OperationType.Login.GetEnumDescription(),
                OperateAccount = username,
                OperateUserId  = username,
                OperateTime    = DateTime.Now,
                IPAddress      = NetHelper.Ip,
                IPAddressName  = "",//NetHelper.GetAddressByIP(NetHelper.Ip),
                Browser        = NetHelper.Browser,
                Module         = ConfigHelper.GetValue("SoftName")
            };

            Logger(this.GetType(), "登录验证-CheckLogin", () =>
            {
                #region 验证码验证
                string code        = Md5Helper.Md5(verifycode.ToLower());
                string sessionCode = SessionHelper.GetSession <string>("session_verifycode");
                if (string.IsNullOrEmpty(sessionCode) || code != sessionCode)
                {
                    res = Error("验证码错误,请重新输入");
                }
                #endregion

                #region 账户验证
                else
                {
                    Tuple <UserEntity, JsonObjectStatus> tuple = userBll.CheckLogin(username, password);

                    JsonObjectStatus status = tuple.Item2;
                    UserEntity user         = tuple.Item1;
                    if (status != JsonObjectStatus.Success || user == null)
                    {
                        res = Error(status.GetEnumDescription());
                    }
                    else
                    {
                        string objId = permissionBll.GetObjectString(user.Id);

                        OperatorEntity operators = new OperatorEntity
                        {
                            UserId        = user.Id,
                            Code          = user.EnCode,
                            Account       = user.Account,
                            UserName      = user.RealName ?? user.NickName,
                            Password      = user.Password,
                            Secretkey     = user.Secretkey,
                            CompanyId     = user.OrganizeId,
                            DepartmentId  = user.DepartmentId,
                            IPAddress     = NetHelper.Ip,
                            IPAddressName = "",//NetHelper.GetAddressByIP(NetHelper.Ip),
                            ObjectId      = objId,
                            LoginTime     = DateTime.Now,
                            Token         = DESEncryptHelper.Encrypt(CommonHelper.GetGuid(), user.Secretkey)
                        };

                        //写入当前用户数据权限
                        string ReadAutorize        = authorizeBLL.GetDataAuthor(operators);
                        string ReadAutorizeUserId  = authorizeBLL.GetDataAuthorUserId(operators);
                        string WriteAutorize       = authorizeBLL.GetDataAuthor(operators, true);
                        string WriteAutorizeUserId = authorizeBLL.GetDataAuthorUserId(operators, true);

                        AuthorizeDataModel dataAuthorize = new AuthorizeDataModel
                        {
                            ReadAutorize        = ReadAutorize,
                            ReadAutorizeUserId  = ReadAutorizeUserId,
                            WriteAutorize       = WriteAutorize,
                            WriteAutorizeUserId = WriteAutorizeUserId
                        };
                        operators.DataAuthorize = dataAuthorize;
                        //判断是否系统管理员
                        operators.IsSystem = user.Account == "System";

                        //写入登录信息
                        OperatorProvider.Provider.AddCurrent(operators);

                        //写入日志
                        logEntity.ExecuteResult     = 1;
                        logEntity.ExecuteResultJson = "登录成功";
                        logBll.WriteLog(logEntity);

                        res = Success("登录成功", user, "/Home/AdminDefault");
                    }
                }
                #endregion
            }, e =>
            {
                CookieHelper.DelCookie("__autologin");//清除自动登录
                logEntity.ExecuteResult     = -1;
                logEntity.ExecuteResultJson = e.Message;
                logBll.WriteLog(logEntity);

                res = Error("系统异常:" + e.Message);
            }, () =>
            {
                SessionHelper.RemoveSession("session_verifycode");
            });
            return(res);
        }
示例#26
0
 /// <summary>
 /// 获得权限范围用户ID
 /// </summary>
 /// <param name="operators">当前登陆用户信息</param>
 /// <param name="isWrite">可写入</param>
 /// <returns></returns>
 public string GetDataAuthorUserId(OperatorEntity operators, bool isWrite = false)
 {
     return(authorizeService.GetDataAuthorUserId(operators, isWrite));
 }
示例#27
0
        /// <summary>
        /// 获得可读数据权限范围SQL
        /// </summary>
        /// <param name="operators">当前登陆用户信息</param>
        /// <param name="isWrite">可写入</param>
        /// <returns></returns>
        public string GetDataAuthor(OperatorEntity operators, bool isWrite = false)
        {
            string         res  = string.Empty;
            IDbTransaction tran = null;

            Logger(this.GetType(), "GetMemberList-获取成员列表", () =>
            {
                using (var conn = this.BaseRepository().GetBaseConnection())
                {
                    tran = conn.BeginTransaction();

                    //如果是系统管理员直接给所有数据权限
                    if (operators.IsSystem)
                    {
                        res = "";
                    }

                    string userId         = operators.UserId;
                    StringBuilder whereSb = new StringBuilder(" SELECT Id FROM Base_User WHERE 1=1 ");
                    string strAuthorData  = "";
                    if (isWrite)
                    {
                        strAuthorData = @"   SELECT    *
                                        FROM      Base_AuthorizeData
                                        WHERE     IsRead = 0 AND
                                        ObjectId IN (
                                                SELECT  ObjectId
                                                FROM    Base_UserRelation
                                                WHERE   UserId = @Id)";
                    }
                    else
                    {
                        strAuthorData = @"   SELECT    *
                                        FROM      Base_AuthorizeData
                                        WHERE
                                        ObjectId IN (
                                                SELECT  ObjectId
                                                FROM    Base_UserRelation
                                                WHERE   UserId = @Id)";
                    }
                    whereSb.Append(string.Format("AND ( Id ='{0}'", userId));

                    IEnumerable <AuthorizeDataEntity> listAuthorizeData = this.BaseRepository().FindList <AuthorizeDataEntity>(conn, strAuthorData, new { Id = userId }, tran);
                    foreach (AuthorizeDataEntity item in listAuthorizeData)
                    {
                        switch (item.AuthorizeType)
                        {
                        case 0:    //0代表最大权限

                            break;

                        case -2:    //本人及下属
                            whereSb.Append("  OR ManagerId ='{0}'");
                            break;

                        case -3:    //所在部门
                            whereSb.Append(@"  OR DepartmentId = (SELECT DepartmentId FROM Base_User WHERE Id ='{0}')");
                            break;

                        case -4:    //所在公司
                            whereSb.Append(@"  OR OrganizeId = (SELECT OrganizeId  FROM Base_User WHERE Id ='{0}' )");
                            break;

                        case -5:
                            whereSb.Append(string.Format(@"  OR DepartmentId = '{1}' OR OrganizeId = '{1}'", userId, item.ResourceId));
                            break;
                        }
                    }
                    whereSb.Append(")");
                    res = whereSb.ToString();

                    tran.Commit();
                }
            }, e =>
            {
                Trace.WriteLine(e.Message);
            });
            return(res);
        }