Esempio n. 1
0
        /// <summary>
        /// 批量新增
        /// </summary>
        /// <param name="entitylist"></param>
        /// <returns></returns>
        public virtual OperateStatus InsertBatchs(IList <TEntity> entitylist)
        {
            //操作状态信息
            var status = new OperateStatus();

            try
            {
                if (entitylist.Count < 1)
                {
                    status.Message = "无添加的数据";
                    return(status);
                }
                foreach (var entity in entitylist)
                {
                    //指定状态
                    ActiveContext.Entry(entity).State = EntityState.Added;
                }

                //提交数据库
                int k = ActiveContext.SaveChanges();
                //成功
                status.IsSuccessful = true;
            }
            catch (Exception ex)
            {
                //错误信息
                status.Message = ex.Message;
                status.Data    = ex;
            }
            return(status);
        }
Esempio n. 2
0
        /// <summary>
        /// 指定字段更新
        /// </summary>
        /// <param name="entity">实体</param>
        /// <param name="fileds">指定字段集合</param>
        public virtual OperateStatus UpdateByEntityFields(TEntity entity, List <string> fileds)
        {
            var status = new OperateStatus();

            if (entity != null && fileds != null)
            {
                try
                {
                    ////附加数据
                    //DbSet.Attach(entity);
                    // //绑定
                    // var SetEntry = ((IObjectContextAdapter)ActiveContext).ObjectContext.ObjectStateManager.GetObjectStateEntry(entity);
                    //foreach (var t in fileds)
                    //{
                    //    //指定具体更新字段
                    //    SetEntry.SetModifiedProperty(t);
                    //}

                    //context.Entry(模型).Property(“隐藏属性“).CurrentValue = DateTime.Now;


                    ActiveContext.SaveChanges();

                    //成功
                    status.IsSuccessful = true;
                }
                catch (Exception ex)
                {
                    //错误信息
                    status.Message = ex.Message;
                    status.Data    = ex;
                }
            }
            return(status);
        }
Esempio n. 3
0
        /// <summary>
        /// 修改对象
        /// </summary>
        /// <param name="entity"></param>
        public virtual OperateStatus Update(TEntity entity)
        {
            //操作状态信息
            var status = new OperateStatus();

            try
            {
                var     entry          = ActiveContext.Entry(entity);
                TEntity attachedEntity = DbSet.Find(entity.Id);
                if (attachedEntity != null)
                {
                    var attachedEntry = ActiveContext.Entry(attachedEntity);
                    attachedEntry.CurrentValues.SetValues(entity);
                }
                else
                {
                    entry.State = EntityState.Modified;
                }
                ActiveContext.SaveChanges();

                //成功
                status.IsSuccessful = true;
            }
            catch (Exception ex)
            {
                //错误信息
                status.Message = ex.Message;
                status.Data    = ex;
            }
            return(status);
        }
        /// <summary>
        ///     保存权限信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <OperateStatus> SavePermission(SystemPermissionSaveInput input)
        {
            var operateStatus = new OperateStatus();

            try
            {
                IList <SystemPermission> systemPermissions = input.Permissiones.Select(per => new SystemPermission
                {
                    PrivilegeAccess      = (byte)input.PrivilegeAccess,
                    PrivilegeAccessValue = per,
                    PrivilegeMasterValue = input.PrivilegeMasterValue,
                    PrivilegeMaster      = (byte)input.PrivilegeMaster,
                    PrivilegeMenuId      = input.PrivilegeMenuId
                }).ToList();

                //删除该角色的权限信息
                await _permissionRepository.DeletePermissionByPrivilegeMasterValue(input.PrivilegeAccess, input.PrivilegeMasterValue, input.PrivilegeMenuId);

                if (input.PrivilegeMaster == EnumPrivilegeMaster.人员)
                {
                    //删除对应人员数据
                    await _permissionUsernRepository.DeletePermissionUser(input.PrivilegeMaster, input.PrivilegeMasterValue);

                    //判断是否具有权限
                    if (!systemPermissions.Any())
                    {
                        operateStatus.ResultSign = ResultSign.Successful;
                        operateStatus.Message    = Chs.Successful;
                        return(operateStatus);
                    }
                    //插入权限人员数据
                    var permissionUser = new SystemPermissionUser
                    {
                        PrivilegeMaster       = (byte)input.PrivilegeMaster,
                        PrivilegeMasterUserId = input.PrivilegeMasterValue,
                        PrivilegeMasterValue  = input.PrivilegeMasterValue
                    };
                    await _permissionUsernRepository.InsertAsync(permissionUser);
                }

                //是否具有权限数据
                if (!systemPermissions.Any())
                {
                    operateStatus.ResultSign = ResultSign.Successful;
                    operateStatus.Message    = Chs.Successful;
                    return(operateStatus);
                }
                //插入数据库
                await _permissionRepository.BulkInsertAsync(systemPermissions);

                operateStatus.ResultSign = ResultSign.Successful;
                operateStatus.Message    = Chs.Successful;
                return(operateStatus);
            }
            catch (Exception ex)
            {
                operateStatus.Message = ex.Message;
                return(operateStatus);
            }
        }
        public JsonResult CheckLogin(BaseUser loginuser)
        {
            OperateStatus op = new OperateStatus {
                IsSuccessful = false, Message = "初始异常!"
            };

            string checkVerify = DEncrypt.Get16_Md5Lower(loginuser.Code, null);

            if (HttpContext.Session.GetString("Login_VerifyCode") == null || checkVerify != HttpContext.Session.GetString("Login_VerifyCode").ToString())
            {
                op.IsSuccessful = false;
                op.Message      = "验证码不正确,请重新输入!";
            }
            else
            {
                op = ouDal.CheckLogin(loginuser);
                if (op.IsSuccessful)
                {
                    op.IsSuccessful = true;
                    op.Message      = "登录成功!欢迎您!";
                    //记录Cookie
                    UserHelper.WriteUserTokenCookie(loginuser.LoginName);
                }
                else
                {
                    op.IsSuccessful = false;
                    op.Message      = op.Message ?? "用户名或密码错误!";
                }
            }
            return(Json(op));
        }
Esempio n. 6
0
        /// <summary>
        /// 批量新增
        /// </summary>
        /// <param name="entitylist"></param>
        /// <returns></returns>
        public virtual OperateStatus InsertBatchs(IList <T> entitylist)
        {
            //操作状态信息
            var status = new OperateStatus();

            try
            {
                if (entitylist.Count < 1)
                {
                    status.Message = "无添加的数据";
                    return(status);
                }
                foreach (var entity in entitylist)
                {
                    //指定状态
                    ActiveContext.Entry(entity).State = EntityState.Added;
                }

                //提交数据库
                int k = ActiveContext.SaveChanges();
                //成功
                status.IsSuccessful = true;
            }
            catch (DbEntityValidationException ex)
            {
                //错误信息
                status.Message = ex.Message;
                //获取详细验证错误
                status.MultipleMessage = GetDetailErrorString(ex);
            }
            return(status);
        }
Esempio n. 7
0
        public JsonResult ScheduleJob(ScheduleJobInput input)
        {
            var status = new OperateStatus();

            try
            {
                if (!input.ReplaceExists)
                {
                    //if (RemoteShedulerManager.CheckExists(new TriggerKey(input.TriggerName, input.TriggerGroup)))
                    //{
                    //    status.Message = "指定的触发器已经存在,请重新指定名称";
                    //    return Json(status);
                    //}
                    if (RemoteShedulerManager.CheckExists(new JobKey(input.JobName, input.JobGroup)))
                    {
                        status.Message = "指定的任务已经存在,请重新指定名称";
                        return(Json(status));
                    }
                }
                input.IsSave = true;
                RemoteShedulerManager.ScheduleJob(input);
                status.ResultSign = ResultSign.Successful;
                status.Message    = "保存调度作业成功";
            }
            catch (Exception ex)
            {
                status.Message = ex.Message;
            }
            return(Json(status));
        }
Esempio n. 8
0
        /// <summary>
        /// 指定字段更新
        /// </summary>
        /// <param name="entity">实体</param>
        /// <param name="fileds">指定字段集合</param>
        public virtual OperateStatus UpdateByEntityFields(T entity, List <string> fileds)
        {
            var status = new OperateStatus();

            if (entity != null && fileds != null)
            {
                try
                {
                    //附加数据
                    DbSet.Attach(entity);
                    //绑定
                    var SetEntry = ((IObjectContextAdapter)ActiveContext).ObjectContext.ObjectStateManager.GetObjectStateEntry(entity);
                    foreach (var t in fileds)
                    {
                        //指定具体更新字段
                        SetEntry.SetModifiedProperty(t);
                    }
                    ActiveContext.SaveChanges();

                    //成功
                    status.IsSuccessful = true;
                }
                catch (DbEntityValidationException ex)
                {
                    //错误信息
                    status.Message = ex.Message;
                    status.Data    = ex;
                }
            }
            return(status);
        }
Esempio n. 9
0
        public virtual OperateStatus Delete(Guid Id)
        {
            //状态信息
            var status = new OperateStatus();

            try
            {
                //读取批量删除数据集合
                var entity = DbQuery.FirstOrDefault(p => p.Id == Id);

                if (entity == null)
                {
                    status.Message = "删除的数据不存在";
                    return(status);
                }
                ActiveContext.Entry(entity).State = EntityState.Deleted;

                //提交数据库
                ActiveContext.SaveChanges();

                //执行成功
                status.IsSuccessful = true;
                status.Message      = "成功";
            }
            catch (Exception ex)
            {
                //错误信息
                status.Message = ex.Message;
            }
            return(status);
        }
        /// <summary>
        ///     批量生成代码
        /// </summary>
        /// <returns></returns>
        public async Task <OperateStatus> GeneratingParentIds()
        {
            OperateStatus operateStatus = new OperateStatus();

            try
            {
                //获取所有字典树
                var dics = (await GetAllEnumerableAsync()).ToList();

                var topDics = dics.Where(w => w.ParentId == Guid.Empty);
                foreach (var dic in topDics)
                {
                    dic.ParentIds = dic.DictionaryId.ToString();
                    await UpdateAsync(dic);
                    await GeneratingParentIds(dic, dics.ToList(), "");
                }
            }
            catch (Exception ex)
            {
                operateStatus.Message = ex.Message;
                return(operateStatus);
            }
            operateStatus.Message    = Chs.Successful;
            operateStatus.ResultSign = ResultSign.Successful;
            return(operateStatus);
        }
Esempio n. 11
0
        /// <summary>
        /// 修改对象
        /// </summary>
        /// <param name="entity"></param>
        public virtual OperateStatus Update(T entity)
        {
            //操作状态信息
            var status = new OperateStatus();

            try
            {
                var entry          = ActiveContext.Entry(entity);
                T   attachedEntity = DbSet.Find(entity.Id);
                if (attachedEntity != null)
                {
                    var attachedEntry = ActiveContext.Entry(attachedEntity);
                    attachedEntry.CurrentValues.SetValues(entity);
                }
                else
                {
                    entry.State = EntityState.Modified;
                }
                ActiveContext.SaveChanges();

                //成功
                status.IsSuccessful = true;
            }
            catch (DbEntityValidationException ex)
            {
                //错误信息
                status.Message = ex.Message;
                //获取详细验证错误
                status.MultipleMessage = GetDetailErrorString(ex);
            }
            return(status);
        }
Esempio n. 12
0
        /// <summary>
        /// 检查Model参数
        /// </summary>
        /// <returns></returns>
        protected OperateStatus CheckModelState()
        {
            OperateStatus operateStatus = new OperateStatus();

            if (!ModelState.IsValid)
            {
                var msg = string.Empty;
                foreach (var value in ModelState.Values)
                {
                    if (value.Errors.Count > 0)
                    {
                        foreach (var error in value.Errors)
                        {
                            msg = msg + error.ErrorMessage + ",";
                        }
                    }
                }
                operateStatus.Message = msg.TrimEnd(',');
            }
            else
            {
                operateStatus.ResultSign = ResultSign.Successful;
            }
            return(operateStatus);
        }
Esempio n. 13
0
 /// <summary>
 ///     检查值是否相同
 /// </summary>
 /// <param name="operateStatus"></param>
 /// <returns></returns>
 protected JsonResult JsonForCheckSameValueValidator(OperateStatus operateStatus)
 {
     return(Json(new
     {
         valid = operateStatus.ResultSign == ResultSign.Successful
     }));
 }
        public JsonResult CreateFile(SystemCodeGenerationCreateFileViewModel model)
        {
            OperateStatus operateStatus = new OperateStatus();

            try
            {
                SystemCodeGenerationBaseInput baseInput = model.Base.ToObject <SystemCodeGenerationBaseInput>();
                //实体
                FileUtil.WriteFile(baseInput.EntityPath + "\\" + baseInput.Entity + ".cs", model.Entities);
                //DataAccess接口
                FileUtil.WriteFile(baseInput.DataAccessInterfacePath + "\\" + baseInput.DataAccessInterface + ".cs", model.DataAccessInterface);
                //DataAccess实现
                FileUtil.WriteFile(baseInput.DataAccessPath + "\\" + baseInput.DataAccess + ".cs", model.DataAccess);
                //Business接口
                FileUtil.WriteFile(baseInput.BusinessInterfacePath + "\\" + baseInput.BusinessInterface + ".cs", model.BusinessInterface);
                //Business实现
                FileUtil.WriteFile(baseInput.BusinessPath + "\\" + baseInput.Business + ".cs", model.Business);
                //控制器
                FileUtil.WriteFile(baseInput.ControllerPath + "\\" + baseInput.Controller + ".cs", model.Controller);
                //控制器
                FileUtil.WriteFile(baseInput.ControllerPath.Replace("Controllers", "Views") + "\\" + baseInput.Controller.Replace("Controller", "") + "\\" + baseInput.List + ".cshtml", model.List);
                //表单
                FileUtil.WriteFile(baseInput.ControllerPath.Replace("Controllers", "Views") + "\\" + baseInput.Controller.Replace("Controller", "") + "\\" + baseInput.Edit + ".cshtml", model.Edit);
            }
            catch (Exception ex)
            {
                operateStatus.Message = ex.Message;
                return(Json(operateStatus));
            }
            operateStatus.Message    = "生成成功";
            operateStatus.ResultSign = ResultSign.Successful;
            return(Json(operateStatus));
        }
        /// <summary>
        ///     删除菜单
        /// </summary>
        /// <param name="input"></param>
        public async Task <OperateStatus> DeleteMenu(IdInput input)
        {
            var OperateStatus = new OperateStatus();
            var Menu          = await GetById(input.Id);

            //判断是否存在
            if (Menu == default(SystemMenu))
            {
                OperateStatus.ResultSign = ResultSign.Error;
                OperateStatus.Message    = Chs.HaveDelete;
                goto Ending;
            }
            //是否可以删除
            if (!Menu.CanbeDelete)
            {
                OperateStatus.ResultSign = ResultSign.Error;
                OperateStatus.Message    = Chs.CanotDelete;
                goto Ending;
            }
            //是否存在下级菜单
            if ((await GetMenuByPid(input)).Any())
            {
                OperateStatus.ResultSign = ResultSign.Error;
                OperateStatus.Message    = string.Format(Chs.Error, ResourceSystem.具有下级项);
                goto Ending;
            }
            OperateStatus = await DeleteById(input.Id);

Ending:
            return(OperateStatus);
        }
Esempio n. 16
0
        public async Task <JsonResult> SaveWorkflowFromPublic(WorkflowForm form)
        {
            string fileName = form.FormId + ".cshtml";
            //生成对应文件
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append(
                @"@using EIP.Common.Core.Auth;
                  @using EIP.Common.Core.Utils;
                  @{
                    PrincipalUser principalUser = FormAuthenticationExtension.Current(HttpContext.Current.Request);
                   }");
            stringBuilder.Append(form.Html);
            string formUrl = "~/Areas/Workflow/Views/Form/Designer/" + fileName;
            string file    = Server.MapPath(formUrl);

            //写入请求当前人员信息脚本

            FileUtil.WriteFile(file, stringBuilder.ToString());
            form.UpdateTime     = DateTime.Now;
            form.UpdateUserId   = CurrentUser.UserId;
            form.UpdateUserName = CurrentUser.Name;
            form.Url            = formUrl;
            OperateStatus operateStatus = await _workflowFormLogic.SaveWorkflowFromUrl(form);

            if (operateStatus.ResultSign == ResultSign.Successful)
            {
                operateStatus.Message = ResourceWorkflow.表单发布成功;
            }
            return(Json(operateStatus));
        }
Esempio n. 17
0
        /// <summary>
        ///     保存系统配置项信息
        /// </summary>
        /// <param name="doubleWays">系统配置项信息</param>
        /// <returns></returns>
        public async Task <OperateStatus> SaveConfig(IEnumerable <SystemConfigDoubleWay> doubleWays)
        {
            OperateStatus operateStatus = new OperateStatus();

            //更新
            try
            {
                foreach (var config in doubleWays)
                {
                    config.V = DEncryptUtil.HttpUtilityUrlEncode(config.V);
                    //更新对应值
                    var c = await GetByIdAsync(config.C);

                    c.Value = config.V;
                    if (await _configRepository.UpdateAsync(c) > 0)
                    {
                        GlobalParams.Set(c.Code, config.V);
                    }
                }
                operateStatus.Message    = Chs.Successful;
                operateStatus.ResultSign = ResultSign.Successful;
            }
            catch (Exception e)
            {
                LogWriter.WriteLog(FolderName.Exception, e);
            }
            return(operateStatus);
        }
        public ActionResult Main(string accountID, string signature, string msg_signature, string timestamp, string nonce, string echostr)
        {
            FileLogHelper.WriteInfo(string.Format("accountID:{0}\r\nsignature:{1}\r\ntimestamp:{2}\r\nnonce:{3}\r\nechostr:{4}\r\nmsg_signature:{5}",
                accountID, signature, timestamp, nonce, echostr, msg_signature));

            OperateStatus status;
            Guid aID;
            if (!Guid.TryParse(accountID, out aID))
            {
                status = new OperateStatus { ResultSign = ResultSign.Failed, Message = "账号不存在" };
            }
            else
            {
                AccountServiceModel model = new AccountServiceModel();
                var account = model.GetById(aID);
                if (account == null)
                {
                    return new ServiceResult(new OperateStatus { ResultSign = ResultSign.Failed, Message = "账户不存在" });
                }
                if (account.IsCorp)
                {
                    var func = FunctionFactory.GetFunctionInstance<Extentions.IFunction.Corp.Receive.IReceive>();
                    status = func.Main(account, msg_signature, timestamp, nonce, echostr);
                }
                else
                {
                    var func = FunctionFactory.GetFunctionInstance<Extentions.IFunction.Normal.Receive.IReceive>();
                    status = func.Main(account, signature, timestamp, nonce, echostr);
                }
            }

            FileLogHelper.WriteInfo(JsonConvert.SerializeObject(status));
            return new ServiceResult(status);
        }
Esempio n. 19
0
        public JsonResult CheckLogin(BaseUser loginuser)
        {
            JsonResult    json = new JsonResult();
            OperateStatus op   = new OperateStatus();

            string checkVerify = DEncrypt.Get16_Md5Lower(loginuser.Code, null);

            if (Session["Login_VerifyCode"] == null || checkVerify != Session["Login_VerifyCode"].ToString())
            {
                op.IsSuccessful = false;
                op.Message      = "验证码不正确,请重新输入!";
            }
            else
            {
                op = ouDal.CheckLogin(loginuser);
                if (op.IsSuccessful)
                {
                    //记录Cookie
                    //UserHelper.WrriteUserTokenCookie(loginuser.LoginName);
                    op.IsSuccessful = true;
                    op.Message      = "登录成功!欢迎您!";
                    //记录Cookie
                    UserHelper.WriteUserTokenCookie(loginuser.LoginName);
                }
                else
                {
                    op.IsSuccessful = false;
                    op.Message      = op.Message ?? "用户名或密码错误!";
                }
            }
            json.Data = op;
            return(json);
        }
Esempio n. 20
0
        /// <summary>
        ///     删除菜单及下级数据
        /// </summary>
        /// <param name="input">父级id</param>
        /// <returns></returns>
        public async Task <OperateStatus> DeleteMenu(IdInput input)
        {
            var operateStatus = new OperateStatus();

            //判断该项能否进行删除
            var menu = await GetByIdAsync(input.Id);

            if (menu != null && !menu.CanbeDelete)
            {
                operateStatus.ResultSign = ResultSign.Error;
                operateStatus.Message    = Chs.CanotDelete;
                return(operateStatus);
            }
            //查看是否具有下级
            if ((await GetMeunuByPId(input)).Any())
            {
                operateStatus.ResultSign = ResultSign.Error;
                operateStatus.Message    = ResourceSystem.具有下级项;
                return(operateStatus);
            }
            //查看该菜单是否已被特性占用
            var permissions = await _permissionLogic.GetSystemPermissionsByPrivilegeAccessAndValue(EnumPrivilegeAccess.菜单, input.Id);

            if (permissions.Any())
            {
                //获取被占用类型及值
                operateStatus.ResultSign = ResultSign.Error;
                operateStatus.Message    = ResourceSystem.已被赋予权限;
                return(operateStatus);
            }
            return(await DeleteAsync(new SystemMenu { MenuId = input.Id }));
        }
Esempio n. 21
0
        private void Border_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            var border = sender as UCNode;

            if (border == null)
            {
                return;
            }
            if (border != SelectedNodeBorder || border.IsSelected != true)
            {
                //变更选择的节点
                border.IsSelected = true;
                if (SelectedNodeBorder != null)
                {
                    SelectedNodeBorder.IsSelected = false;
                }
                SelectedNodeBorder = border;
            }
            if (_operateStatus == OperateStatus.None ||
                _operateStatus == OperateStatus.MoveNode ||
                _operateStatus == OperateStatus.SelectedLine)
            {
                _operateStatus = OperateStatus.SelectedNode;
            }
        }
Esempio n. 22
0
        /// <summary>
        ///     保存人员信息
        /// </summary>
        /// <param name="user">人员信息</param>
        /// <returns></returns>
        public async Task <OperateStatus> SaveUser(SystemUserSaveInput user)
        {
            OperateStatus operateStatus = new OperateStatus();

            if (string.IsNullOrWhiteSpace(user.Id.ToString()))
            {
                user.CreateTime = DateTime.Now;
                user.Password   = _3DESEncrypt.Encrypt("123456");
                var resultUser = await _systemUserRepository.InsertAsync(
                    new SystemUser(CombUtil.NewComb(), user.Code, user.Name, user.Password, user.Mobile,
                                   user.Email, user.FirstVisitTime, user.LastVisitTime, user.Remark, user.IsAdmin, user.CreateTime,
                                   user.IsFreeze, user.ImgUrl));

                if (resultUser != null)
                {
                    //添加用户到组织机构
                    operateStatus = await _permissionUserLogic.SavePermissionUser(EnumPrivilegeMaster.角色, user.RoleId,
                                                                                  new List <string> {
                        user.Id.ToString()
                    });

                    if (operateStatus.ResultSign == ResultSign.Successful)
                    {
                        return(operateStatus);
                    }
                }
                else
                {
                    return(operateStatus);
                }
            }
            else
            {
                //删除对应组织机构
                operateStatus = await _permissionUserLogic.DeletePrivilegeMasterUser(user.Id.ToString(), EnumPrivilegeMaster.角色);

                if (operateStatus.ResultSign == ResultSign.Successful)
                {
                    //添加用户到组织机构
                    operateStatus = await _permissionUserLogic.SavePermissionUser(EnumPrivilegeMaster.角色, user.RoleId, new List <string> {
                        user.Id.ToString()
                    });

                    if (operateStatus.ResultSign == ResultSign.Successful)
                    {
                        var userInfo = await _systemUserRepository.GetAsync(user.Id);

                        user.Password = userInfo.Password;
                        var result = await _systemUserRepository.UpdateAsync(user);

                        if (result != null)
                        {
                            operateStatus.Message    = "Success";
                            operateStatus.ResultSign = ResultSign.Successful;
                        }
                    }
                }
            }
            return(operateStatus);
        }
Esempio n. 23
0
        /// <summary>
        ///     批量生成代码
        /// </summary>
        /// <returns></returns>
        public async Task <OperateStatus> GeneratingCode()
        {
            OperateStatus operateStatus = new OperateStatus();

            try
            {
                //获取所有字典树
                var dics = (await GetAllEnumerableAsync()).ToList();

                var topDics = dics.Where(w => w.ParentId == Guid.Empty);
                foreach (var dic in topDics)
                {
                    dic.Code = PinYinUtil.GetFirst(dic.Name);
                    await UpdateAsync(dic);
                    await GeneratingCodeRecursion(dic, dics.ToList(), "");
                }
            }
            catch (Exception ex)
            {
                operateStatus.Message = string.Format(Chs.Error, ex.Message);
                return(operateStatus);
            }
            operateStatus.Message    = Chs.Successful;
            operateStatus.ResultSign = ResultSign.Successful;
            return(operateStatus);
        }
Esempio n. 24
0
        /// <summary>
        ///     保存用户权限类型
        /// </summary>
        /// <param name="privilegeMaster">类型</param>
        /// <param name="privilegeMasterUserId">业务表Id:如组织机构Id、组Id、岗位Id、人员Id等</param>
        /// <param name="privilegeMasterValue">权限类型:角色Id</param>
        /// <returns></returns>
        public async Task <OperateStatus> SavePermissionMasterValueBeforeDelete(EnumPrivilegeMaster privilegeMaster,
                                                                                Guid privilegeMasterUserId,
                                                                                IList <Guid> privilegeMasterValue)
        {
            var operateStatus = new OperateStatus();
            //删除
            await _permissionUsernRepository.DeletePermissionMaster(privilegeMaster, privilegeMasterUserId);

            IList <SystemPermissionUser> systemPermissionUsers =
                privilegeMasterValue.Select(roleId => new SystemPermissionUser
            {
                PrivilegeMaster       = (byte)privilegeMaster,
                PrivilegeMasterUserId = privilegeMasterUserId,
                PrivilegeMasterValue  = roleId
            }).ToList();

            if (systemPermissionUsers.Any())
            {
                //批量保存
                operateStatus = await InsertMultipleAsync(systemPermissionUsers);
            }
            else
            {
                operateStatus.ResultSign = ResultSign.Successful;
                operateStatus.Message    = Chs.Successful;
            }
            return(operateStatus);
        }
Esempio n. 25
0
        /// <summary>
        /// 更新实体对象
        /// </summary>
        /// <param name="entity">实体对象</param>
        /// <param name="status">操作状态</param>
        public virtual OperateStatus Update(T entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }
            if (entity.Id == Guid.Empty)
            {
                throw new ArgumentException("实体的Id为空");
            }
            //操作状态信息
            var status   = new OperateStatus();
            var original = GetById(entity.Id);

            if (original == null)
            {
                status = new OperateStatus
                {
                    Message = "更新的数据不存在"
                };
            }
            else
            {
                //执行更新
                status = repository.Update(entity);
                if (status.IsSuccessful)
                {
                    //指定成功默认返回结果值
                    status.Message = "成功";
                    status.Data    = entity;
                }
            }
            return(status);
        }
Esempio n. 26
0
        /// <summary>
        /// 删除实体对象
        /// </summary>
        /// <param name="id">实体对象Id</param>
        /// <param name="status">操作状态</param>
        public virtual OperateStatus Delete(Guid id)
        {
            //操作状态信息
            var status = new OperateStatus {
                IsSuccessful = false
            };

            if (id == Guid.Empty)
            {
                status.Message = "该数据不允许删除或不存在!";
                return(status);
            }
            T entity = GetById(id);

            if (entity == null)
            {
                status.Message = "删除的数据不存在";
            }
            else
            {
                status = repository.Delete(entity);
                if (status.IsSuccessful)
                {
                    //指定成功默认返回结果值
                    status.Message = "成功";
                }
            }
            return(status);
        }
Esempio n. 27
0
        /// <summary>
        ///     根据主键删除
        /// </summary>
        /// <param name="id">主键</param>
        /// <returns></returns>
        public virtual OperateStatus Delete(object id, bool throwException = false)
        {
            var operateStatus = new OperateStatus();

            try
            {
                //获取需要删除的数据
                var t = GetById(id);
                if (t == null)
                {
                    operateStatus.ResultSign = ResultSign.Error;
                    operateStatus.Message    = string.Format(Chs.Error, Chs.HaveDelete);
                    return(operateStatus);
                }
                var resultNum = Repository.Delete(id);
                operateStatus.ResultSign = resultNum > 0 ? ResultSign.Successful : ResultSign.Error;
                operateStatus.Message    = resultNum > 0 ? Chs.Successful : Chs.Error;
            }
            catch (Exception exception)
            {
                if (throwException)
                {
                    throw exception;
                }
                operateStatus.Message = string.Format(Chs.Error, exception.Message);
            }
            return(operateStatus);
        }
Esempio n. 28
0
        /// <summary>
        /// 保存修改后密码信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <OperateStatus> SaveChangePassword(SystemUserChangePasswordInput input)
        {
            var operateStatus = new OperateStatus();

            //后台再次验证是否一致
            if (!input.NewPassword.Equals(input.ConfirmNewPassword))
            {
                operateStatus.Message = "录入的新密码和确认密码不一致。";
                return(operateStatus);
            }
            //旧密码是否正确
            operateStatus = await CheckOldPassword(new CheckSameValueInput { Id = input.Id, Param = input.OldPassword });

            if (operateStatus.ResultSign == ResultSign.Error)
            {
                return(operateStatus);
            }
            //将传入的密码加密
            var encryptPwd = DEncryptUtil.Encrypt(input.NewPassword, _configOptions.Value.PasswordKey);

            if (await _userInfoRepository.ResetPassword(new SystemUserResetPasswordInput
            {
                EncryptPassword = encryptPwd,
                Id = input.Id
            }))
            {
                operateStatus.ResultSign = ResultSign.Successful;
                operateStatus.Message    = string.Format(ResourceSystem.重置密码成功, input.NewPassword);
            }
            return(operateStatus);
        }
Esempio n. 29
0
 /// <summary>
 ///     检查值是否相同
 /// </summary>
 /// <param name="operateStatus"></param>
 /// <returns></returns>
 protected JsonResult JsonForCheckSameValue(OperateStatus operateStatus)
 {
     return(Json(new
     {
         info = operateStatus.Message,
         status = operateStatus.ResultSign == ResultSign.Successful ? "y" : "n"
     }));
 }
Esempio n. 30
0
 /// <summary>
 /// 实例化操作结果
 /// </summary>
 /// <param name="data">数据</param>
 /// <param name="operateStatus">操作状态</param>
 /// <param name="message">返回信息</param>
 /// <param name="code">返回代码</param>
 /// <param name="otherJson">其他辅助参数,Json格式</param>
 public OperateResult(T data = default, OperateStatus operateStatus = OperateStatus.Unknow, string message = null, string code = null, string otherJson = null)
 {
     this.Data          = data;
     this.OperateStatus = operateStatus;
     this.Code          = code;
     this.Message       = message;
     this.OtherJson     = otherJson;
 }
Esempio n. 31
0
        public async Task <JsonResult> Login(SystemUserLoginInput input)
        {
            var    operateStatus = new OperateStatus();
            string tokenData     = String.Empty;
            //验证数据库信息
            var info = await _userInfoLogic.CheckUserByCodeAndPwd(input);

            if (info.Data != null)
            {
                ICollection <string> roles = new List <string>();
                if (info.Data.IsAdmin)
                {
                    //查询顶级组织机构
                    var orgs = (await _organizationLogic.GetSystemOrganizationByPid(new IdInput(Guid.Empty))).FirstOrDefault();
                    if (orgs != null)
                    {
                        info.Data.OrganizationId   = Guid.Parse(orgs.id.ToString());
                        info.Data.OrganizationName = orgs.text;
                    }
                    roles.Add("Admin");
                }
                var key       = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtConfig.Value.Secret));
                var header    = new JwtHeader(new SigningCredentials(key, SecurityAlgorithms.HmacSha256));
                var issuer    = _jwtConfig.Value.Issuer;
                var loginTime = DateTime.Now;
                var claims    = new[]
                {
                    new Claim("Name", info.Data.Name),
                    new Claim("Code", info.Data.Code),
                    new Claim("OrganizationId", info.Data.OrganizationId == Guid.Empty?"":info.Data.OrganizationId.ToString()),
                    new Claim("OrganizationName", info.Data.OrganizationName ?? ""),
                    new Claim("LoginId", info.Data.LoginId.ToString()),
                    new Claim(JwtRegisteredClaimNames.Jti, info.Data.UserId.ToString())
                }.Concat(roles.Select(role => new Claim("role", role)));
                JwtPayload payload = input.Remberme ? new JwtPayload(issuer, null, claims, null, loginTime.AddYears(1)) : new JwtPayload(issuer, null, claims, null, loginTime.AddMinutes(60));
                var        token   = new JwtSecurityToken(header, payload);
                operateStatus.ResultSign = ResultSign.Successful;
                tokenData = new JwtSecurityTokenHandler().WriteToken(token);
                WriteLoginLog(info.Data);
            }
            else
            {
                operateStatus.ResultSign = ResultSign.Error;
                operateStatus.Message    = info.Message;
            }
            return(Json(new
            {
                operateStatus.ResultSign,
                operateStatus.Message,
                Data = tokenData,
                OrganizationId = info.Data?.OrganizationId ?? Guid.Empty,
                UserName = info.Data != null ? info.Data.Name : "",
                OrganizationName = info.Data != null ? info.Data.OrganizationName : "",
                Code = info.Data != null ? info.Data.Code : "",
                HeadImage = info.Data != null ? info.Data.HeadImage : ""
            }));
        }
 public JsonResult RecordsDelete(Guid? id)
 {
     OperateStatus status;
     if (id.HasValue && id.Value != Guid.Empty)
     {
         bookRecordsModel.Delete(id.Value, out status);
     }
     else
     {
         status = new OperateStatus() { ResultSign = ResultSign.Failed, Message = "预订信息获取错误" };
     }
     return JsonForStatus(status);
 }