Ejemplo n.º 1
0
 /// <summary>
 /// get resource node --TreeView for ag-grid
 /// </summary>
 /// <returns></returns>
 public ResourceNode GetResourceNodeAll()
 {
     try
     {
         var rootNode = new ResourceNode {
             ID = 0, ParentID = -1, ResourceName = "资源列表", group = true
         };
         var resourceList = QuickRepository.GetAll <ResourceEntity>().ToList <ResourceEntity>();
         var rootItems    = from a in resourceList
                            where a.ParentID == 0
                            select a;
         int            index           = 0;
         ResourceNode[] resourceTreeTop = new ResourceNode[rootItems.Count()];
         foreach (var item in rootItems)
         {
             ResourceNode[] childrenItems = GetResourceNodeListIteratedly(item.ID, resourceList);
             resourceTreeTop[index++] = CreateResourceNodeSingle(item, childrenItems);
         }
         rootNode.children = resourceTreeTop;
         return(rootNode);
     }
     catch (System.Exception ex)
     {
         throw;
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 同步订单
        /// </summary>
        /// <param name="entity"></param>
        public ProductOrderEntity SyncOrder(IDbConnection conn, IDbTransaction trans)
        {
            var entity = new ProductOrderEntity();
            var rnd    = new Random();

            entity.OrderCode   = string.Format("TB{0}", rnd.Next(100000, 999999).ToString());
            entity.Status      = (short)ProductOrderStatusEnum.Ready;
            entity.ProductName = pruducttype[rnd.Next(1, 7) - 1];
            entity.Quantity    = rnd.Next(1, 10);
            entity.UnitPrice   = 1000;
            entity.TotalPrice  = entity.Quantity * entity.UnitPrice;

            var a = rnd.Next(1, 10) - 1;

            entity.CustomerName = customertype[a];
            entity.Address      = addresstype[a];

            entity.Mobile      = rnd.Next(100000, 999999).ToString();
            entity.Remark      = shoptype[rnd.Next(1, 6) - 1];
            entity.CreatedTime = System.DateTime.Now;

            QuickRepository.Insert <ProductOrderEntity>(conn, entity, trans);

            return(entity);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// user register
        /// </summary>
        /// <param name="account"></param>
        public void Register(UserAccountEntity account)
        {
            //verify input validation
            var result     = ResponseResult.Default();
            var userEntity = QuickRepository.GetDefaultByName <UserAccountEntity>("LoginName", account.LoginName);

            if (userEntity != null)
            {
                throw new ApplicationException("用户名已经被占用,请重新存在!");
            }
            else if (string.IsNullOrEmpty(account.Password) || account.Password.Length < 6)
            {
                throw new ApplicationException("密码不能为空,或者长度不能小于6位!");
            }

            //create
            try
            {
                QuickRepository.Insert <UserAccountEntity>(account);
            }
            catch (System.Exception)
            {
                throw;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// change user password
        /// </summary>
        /// <param name="oldPassword">old password</param>
        /// <param name="newPassword">new password</param>
        public void ChangePassword(string loginName, string oldPassword, string newPassword)
        {
            UserAccountEntity userEntity = null;

            try
            {
                userEntity = QuickRepository.GetDefaultByName <UserAccountEntity>("LoginName", loginName);
                var isChecked = CheckPassword(userEntity, oldPassword);     //it's better to limit wrong password 3 or 6 times to prevent someone crack the account
                if (!isChecked)
                {
                    throw new ApplicationException("用户名和密码不匹配,请重试.");
                }
            }
            catch (System.ApplicationException ex)
            {
                throw new ApplicationException("修改密码发生错误!");
            }

            try
            {
                var saltText = string.Empty;
                EnumHashProvider hashProvider;
                var encryptedPwd = HashingAlgorithmUtility.GetEncryptedHashText(newPassword, out saltText, out hashProvider);

                userEntity.Password       = encryptedPwd;
                userEntity.PasswordFormat = (short)hashProvider;
                userEntity.PasswordSalt   = saltText;

                QuickRepository.Update <UserAccountEntity>(userEntity);
            }
            catch (System.ApplicationException ex)
            {
                throw;
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// reset password
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public string ResetPassword(int userID)
        {
            var session = SessionFactory.CreateSession();

            session.BeginTrans();
            try
            {
                var saltText = string.Empty;
                EnumHashProvider hashProvider;
                var r            = new Random();
                var newPassword  = r.Next(100000, 999999).ToString();
                var encryptedPwd = HashingAlgorithmUtility.GetEncryptedHashText(newPassword, out saltText, out hashProvider);

                var userEntity = QuickRepository.GetById <UserAccountEntity>(userID);
                userEntity.Password       = encryptedPwd;
                userEntity.PasswordFormat = (short)hashProvider;
                userEntity.PasswordSalt   = saltText;

                QuickRepository.Update <UserAccountEntity>(session.Connection, userEntity, session.Transaction);
                session.Commit();
                return(newPassword);
            }
            catch (System.Exception ex)
            {
                session.Rollback();
                throw new ApplicationException("用户密码修改发生错误!");
            }
            finally
            {
                session.Dispose();
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 设置当前登录用户
        /// </summary>
        public async Task SetCurrentUser(string oid, IHttpContextAccessor httpContextAccessor, ApplicationDbContext context)
        {
            CurrentUser.Configure(httpContextAccessor);

            var user = await QuickRepository.GetUserByOIDAsync(oid, context);

            if (user != null)
            {
                string role = string.Empty;
                switch (user.AccountType)
                {
                    case 0:
                        role = "Administrator";
                        break;
                    case 1:
                        role = "Instructor";
                        break;
                    case 2:
                        role = "Student";
                        break;
                }

                CurrentUser.UserAccount = user.Account;
                CurrentUser.UserId = user.Id;
                CurrentUser.UserImage = user.ImageSrc;
                CurrentUser.UserName = user.Name;
                CurrentUser.UserOID = user.IdentityUserOID;
                CurrentUser.UserRole = role;
                CurrentUser.UserPage = user.HomePage;
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// get paged data
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public List <UserLogEntity> GetPaged(UserLogQuery query, out int count)
        {
            IDbSession session = SessionFactory.CreateSession();

            try
            {
                var sortList = new List <DapperExtensions.ISort>();
                sortList.Add(new DapperExtensions.Sort {
                    PropertyName = "ID", Ascending = false
                });

                IPredicate predicate = null;
                count = QuickRepository.Count <UserLogEntity>(session.Connection, predicate);
                var list = QuickRepository.GetPaged <UserLogEntity>(session.Connection,
                                                                    query.PageIndex, query.PageSize, predicate, sortList, false).ToList();

                return(list);
            }
            catch (System.Exception)
            {
                throw;
            }
            finally
            {
                session.Dispose();
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 流程业务记录分页方法
        /// </summary>
        /// <param name="query"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public List <AppFlowEntity> GetPaged(AppFlowQuery query, out int count)
        {
            List <AppFlowEntity> list = null;
            var conn = SessionFactory.CreateConnection();

            try
            {
                var sortList = new List <DapperExtensions.ISort>();
                sortList.Add(new DapperExtensions.Sort {
                    PropertyName = "ID", Ascending = false
                });

                IFieldPredicate predicate = null;
                if (!string.IsNullOrEmpty(query.AppInstanceID))
                {
                    predicate = Predicates.Field <AppFlowEntity>(f => f.AppInstanceID, DapperExtensions.Operator.Eq, query.AppInstanceID);
                }

                count = QuickRepository.Count <AppFlowEntity>(conn, predicate);
                list  = QuickRepository.GetPaged <AppFlowEntity>(conn, query.PageIndex, query.PageSize,
                                                                 predicate, sortList, false).ToList();

                return(list);
            }
            catch (System.Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
            }
        }
Ejemplo n.º 9
0
        public Questionnaire Questionnaire(int userId, int advertiseId)
        {
            var questionnaireRepo = new QuickRepository <Questionnaire>();
            var questionnaire     =
                questionnaireRepo.FirstOrDefault(x => x.UserId == userId && x.AdvertiseId == advertiseId) ??
                questionnaireRepo.Add(new Questionnaire
            {
                AdvertiseId = advertiseId,
                UserId      = userId
            });

            List <Cluster> listCluster = Cached.Load("cached_listCluster",
                                                     key => new QuickRepository <Cluster>().ToList());
            List <Question> listQuestion = Cached.Load("cached_listQuestion",
                                                       key => new QuickRepository <Question>().ToList());
            List <Answer> listAnswer = new QuickRepository <Answer>()
                                       .Where(x => x.QuestionnaireId == questionnaire.Id)
                                       .ToList();
            List <Cluster> parsedClusters = listCluster.Select(x => {
                x.QuestionList = listQuestion.Where(
                    y => y.IdCluster == x.Id
                    ).ToList();
                x.AnswerList = listAnswer.Where(y =>
                                                x.QuestionList.Any(
                                                    z => z.Id == y.QuestionId
                                                    )
                                                ).ToList();
                return(x);
            }).ToList();

            questionnaire.ClusterList = parsedClusters;

            return(questionnaire);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// save user resource data
        /// </summary>
        /// <param name="entity"></param>
        public void SaveUserResourceList(List <UserResourceEntity> entityList)
        {
            int           userID = entityList[0].UserID;
            StringBuilder sbXml  = new StringBuilder();

            try
            {
                sbXml.Append("<data>");
                entityList.ForEach(info => {
                    sbXml.Append("<item>");
                    sbXml.Append("<UserID>" + info.UserID.ToString() + "</UserID>");
                    sbXml.Append("<ResourceID>" + info.ResourceID.ToString() + "</ResourceID>");
                    sbXml.Append("<PermissionType>" + info.PermissionType + "</PermissionType>");
                    sbXml.Append("<IsInherited>" + info.IsInherited + "</IsInherited>");
                    sbXml.Append("</item>");
                });
                sbXml.Append("</data>");
                var param = new DynamicParameters();
                param.Add("@userID", userID);
                param.Add("@permissionXML", sbXml.ToString());

                QuickRepository.ExecuteProc("dbo.pr_sys_UserResourceListSaveBatch", param);
            }
            catch (System.Exception ex)
            {
                //NLogWriter.Error("获取用户资源权限列表(用于用户管理,显示有效权限)失败!", ex);
                throw;
            }
        }
Ejemplo n.º 11
0
 /// <summary>
 /// get all role
 /// </summary>
 /// <returns></returns>
 public IList<RoleEntity> GetRoleAll()
 {
     var sql = @"SELECT 
                     *
                 FROM SysRole
                 ORDER BY RoleName";
     var list = QuickRepository.Query<RoleEntity>(sql).ToList();
     return list;
 }
Ejemplo n.º 12
0
 /// <summary>
 /// get user all data
 /// </summary>
 /// <returns></returns>
 public IList<UserAccountEntity> GetUserAll()
 {
     var sql = @"SELECT 
                     *
                 FROM SysUser
                 WHERE AccountType <> -1
                 ORDER BY ID DESC";
     var list = QuickRepository.Query<UserAccountEntity>(sql).ToList();
     return list;
 }
Ejemplo n.º 13
0
        /// <summary>
        /// delete role
        /// </summary>
        /// <param name="entity"></param>
        public void DeleteRole(RoleEntity entity)
        {
            var param = new DynamicParameters();
            param.Add("@roleID", entity.ID);

            using (var conn = SessionFactory.CreateConnection())
            {
                QuickRepository.ExecuteProc(conn, "pr_sys_RoleDelete", param);
            }
        }
Ejemplo n.º 14
0
        public List <HrsLeaveEntity> QueryLeave(HrsLeaveQuery query)
        {
            var sqlQuery = (from leave in QuickRepository.GetAll <HrsLeaveEntity>()
                            where leave.CreatedUserID == query.CreatedUserID
                            orderby leave.ID descending
                            select leave);
            var list = sqlQuery.ToList();

            return(list);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// save user
        /// </summary>
        /// <param name="entity"></param>
        public void SaveUser(UserEntity entity)
        {
            var param = new DynamicParameters();
            param.Add("@userID", entity.ID);
            param.Add("@userName", entity.UserName);

            using (var conn = SessionFactory.CreateConnection())
            {
                QuickRepository.ExecuteProc(conn, "pr_sys_UserSave", param);
            }
        }
Ejemplo n.º 16
0
 /// <summary>
 /// get user log record 100
 /// </summary>
 /// <returns></returns>
 public List <UserLogEntity> GetPaged100()
 {
     try
     {
         var sql  = "SELECT TOP 100 * FROM SysUserLog ORDER BY ID DESC";
         var list = QuickRepository.Query <UserLogEntity>(sql).ToList <UserLogEntity>();
         return(list);
     }
     catch (System.Exception ex)
     {
         throw;
     }
 }
Ejemplo n.º 17
0
 /// <summary>
 /// clear user resource data
 /// </summary>
 /// <param name="entity"></param>
 public void ClearUserResourceList(int userID)
 {
     try
     {
         var param = new DynamicParameters();
         param.Add("@userID", userID);
         QuickRepository.ExecuteProc("dbo.pr_sys_UserResourceListClear", param);
     }
     catch (System.Exception ex)
     {
         throw;
     }
 }
Ejemplo n.º 18
0
 /// <summary>
 /// lock user
 /// </summary>
 /// <param name="userID"></param>
 /// <returns></returns>
 public void Lock(int userID)
 {
     try
     {
         var user = QuickRepository.GetById <UserAccountEntity>(userID);
         user.Status = (byte)AccountStatusEnum.Locked;
         QuickRepository.Update <UserAccountEntity>(user);
     }
     catch (System.Exception)
     {
         throw new ApplicationException("锁定用户账号操作失败!");
     }
 }
Ejemplo n.º 19
0
 /// <summary>
 /// delete resource
 /// </summary>
 /// <param name="resourceID">资源ID</param>
 public void DeleteResource(int resourceID)
 {
     try
     {
         var param = new DynamicParameters();
         param.Add("@resourceID", resourceID);
         QuickRepository.ExecuteProc("pr_sys_ResourceListDeleteByID", param);
     }
     catch (System.Exception ex)
     {
         //NLogWriter.Error("删除资源数据,并且删除相关联的表中数据失败!", ex);
         throw;
     }
 }
Ejemplo n.º 20
0
 /// <summary>
 /// delete resource
 /// </summary>
 /// <param name="xmlEntity"></param>
 public void DeleteResource(XmlTransferEntity xmlEntity)
 {
     try
     {
         var param = new DynamicParameters();
         param.Add("@strXml", xmlEntity.xmlBody);
         QuickRepository.ExecuteProc("pr_prd_DeleteResourceBeth", param);
     }
     catch (System.Exception ex)
     {
         //NLogWriter.Error("删除资源数据,并且删除相关联的表中数据失败!", ex);
         throw;
     }
 }
Ejemplo n.º 21
0
 /// <summary>
 /// get user permission list
 /// </summary>
 /// <param name="userID"></param>
 /// <returns></returns>
 public List <UserPermissionEntity> GetUserPermissionList(int userID)
 {
     try
     {
         var param = new DynamicParameters();
         param.Add("@userID", userID);
         return(QuickRepository.ExecProcQuery <UserPermissionEntity>("dbo.pr_sys_UserResourceListGet", param)
                .ToList <UserPermissionEntity>());
     }
     catch (System.Exception ex)
     {
         throw;
     }
 }
Ejemplo n.º 22
0
        public Question ListQuestionByCluster(string questionnaireId, string clusterId)
        {
            var questionRepo = new QuickRepository <Question>();
            var clusterRepo  = new QuickRepository <Cluster>();
            var answerRepo   = new QuickRepository <Answer>();

            var answer   = answerRepo.Where(x => x.QuestionnaireId == questionnaireId).ToList();
            var question = questionRepo.Where(x => x.IdCluster == clusterId).ToList();


            var filterAdd = question.FirstOrDefault(x => !answer.Any(y => y.QuestionId == x.Id));


            return(filterAdd);
        }
Ejemplo n.º 23
0
 /// <summary>
 /// get role user data
 /// </summary>
 /// <returns></returns>
 public IList<RoleUserView> GetRoleUserAll()
 {
     var strSQL = @"SELECT 
                        ID,
                        RoleID,
                        RoleName,
                        RoleCode,
                        UserID,
                        UserName
                    FROM vw_SysRoleUserView
                    ORDER BY RoleID, UserID";
     
     var list = QuickRepository.Query<RoleUserView>(strSQL).ToList();
     return list;
 }
Ejemplo n.º 24
0
        /// <summary>
        /// clear role resource
        /// </summary>
        /// <param name="entity"></param>
        public void ClearRoleResourceList(RoleResourceEntity entity)
        {
            int roleID = entity.RoleID;

            try
            {
                var param = new DynamicParameters();
                param.Add("@roleID", roleID);
                QuickRepository.ExecuteProc("dbo.pr_sys_RoleResourceListClear", param);
            }
            catch (System.Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 25
0
        /// <summary>
        /// get all resource record
        /// </summary>
        /// <returns></returns>
        public List <ResourceEntity> GetResourceAll()
        {
            List <ResourceEntity> list = new List <ResourceEntity>();

            try
            {
                list = QuickRepository.GetAll <ResourceEntity>().ToList <ResourceEntity>();
                return(list);
            }
            catch (System.Exception ex)
            {
                //NLogWriter.Error("获取所有应用资源信息失败!", ex);
                throw;
            }
        }
Ejemplo n.º 26
0
        public ResponseResult CheckDispatched(int id)
        {
            //检查是否已经进入流程阶段
            var result      = ResponseResult.Default();
            var orderEntity = QuickRepository.GetById <ProductOrderEntity>(id);

            if (orderEntity.Status == 1)
            {
                result = ResponseResult.Success();
            }
            else
            {
                result = ResponseResult.Error("订单已经进入流程状态,不能再次派单!");
            }
            return(result);
        }
Ejemplo n.º 27
0
        /// <summary>
        /// query user of role
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public IList<RoleUserView> QueryUserByRole(RoleEntity query)
        {
            var strSQL = @"SELECT 
                               ID,
                               RoleID,
                               RoleName,
                               RoleCode,
                               UserID,
                               UserName
                           FROM vw_SysRoleUserView
                           WHERE RoleID=@roleID
                           ORDER BY RoleID";

            var list = QuickRepository.Query<RoleUserView>(strSQL, new { roleID = query.ID }).ToList();
            return list;
        }
Ejemplo n.º 28
0
        /// <summary>
        /// update user account
        /// </summary>
        /// <param name="account"></param>
        /// <returns></returns>
        public bool Update(UserAccountEntity account)
        {
            try
            {
                var user = QuickRepository.GetById <UserAccountEntity>(account.ID);
                user.Status      = account.Status;
                user.AccountType = account.AccountType;
                var isOk = QuickRepository.Update <UserAccountEntity>(user);

                return(isOk);
            }
            catch (System.Exception)
            {
                throw;
            }
        }
Ejemplo n.º 29
0
        public void Answer([FromBody] answerPost _answer)
        {
            var answerRepo   = new QuickRepository <Answer>();
            var questionRepo = new QuickRepository <Question>();

            answerRepo.Add(new Answer
            {
                QuestionId      = _answer.QuestionId,
                QuestionnaireId = _answer.QuestionnaireId,
                Value           = _answer.Value,
                Photo           = _answer.Photo
            });

            //var question = questionRepo.Where(x => x.Id == questionId).FirstOrDefault();

            //question = questionRepo.Where(x => x.Order == question.Order + 1).FirstOrDefault();
        }
Ejemplo n.º 30
0
        /// <summary>
        /// 写业务流程记录日志信息
        /// </summary>
        /// <param name="session"></param>
        /// <param name="runner"></param>
        /// <param name="activityName"></param>
        /// <param name="appInstanceID"></param>
        /// <param name="appInstanceCode"></param>
        /// <param name="remark"></param>
        private void Write(IDbSession session, WfAppRunner runner, string activityName,
                           string appInstanceID, string appInstanceCode = null, string remark = null)
        {
            //"派单", entity.ID.ToString(), entity.OrderCode, "完成派单")
            var flow = new AppFlowEntity();

            flow.AppInstanceID   = appInstanceID;
            flow.AppInstanceCode = appInstanceCode;
            flow.AppName         = runner.AppName;
            flow.ActivityName    = activityName;
            flow.ChangedTime     = System.DateTime.Now;
            flow.ChangedUserID   = runner.UserID;
            flow.ChangedUserName = runner.UserName;
            flow.Remark          = remark;

            QuickRepository.Insert <AppFlowEntity>(session.Connection, flow, session.Transaction);
        }