public FrontUserDto AddUser(FrontUserDto newUser)
 {
     try
     {
         if (null == newUser)
         {
             throw new KnownException("添加用户信息不存在!");
         }
         using (var db = new BCEnterpriseContext())
         {
             var entprise = db.Enterprises.Any(x => x.EnterpriseID.Equals(newUser.EnterpiseID) && !x.Deleted);
             if (!entprise)
             {
                 throw new KnownException("企业信息不存在或者已被禁用,请刷新重试");
             }
             var id    = AddFrontUser(newUser);
             var reDto = db.FrontUsers.FirstOrDefault(obj => obj.UserID == id);
             if (null == reDto)
             {
                 throw new KnownException("保存用户失败!");
             }
             return(reDto);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public bool UpdateFrontUserInfo(FrontUserDto frontUserDto)
        {
            try
            {
                if (null == frontUserDto)
                {
                    throw new KnownException("更新对象不能为空!");
                }
                using (var db = new BCEnterpriseContext())
                {
                    var q = db.FrontUsers.FirstOrDefault(obj => obj.UserID == frontUserDto.UserID);
                    if (null == q)
                    {
                        throw new KnownException("不存在该记录无法更新!");
                    }

                    q.Name       = frontUserDto.Name;
                    q.Mobile     = frontUserDto.Mobile;
                    q.UpdateTime = DateTime.Now;
                    return(0 < db.SaveChanges());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 3
0
 public bool UpdateUser(FrontUserDto user)
 {
     try
     {
         if (null == user)
         {
             throw new KnownException("用户信息为空,不能更新!");
         }
         using (var db = new BCEnterpriseContext())
         {
             var temp = db.FrontUsers.First(x => x.UserID == user.UserID);
             if (null == temp)
             {
                 throw new KnownException("该对象不存在");
             }
             if (!string.IsNullOrEmpty(user.Password))
             {
                 temp.Password = CryptoService.MD5Encrypt(user.Password);
             }
             temp.Closed     = user.Closed;
             temp.Mobile     = user.Mobile;
             temp.Name       = user.Name;
             temp.UpdateTime = DateTime.Now;
             return(0 < db.SaveChanges());
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Exemplo n.º 4
0
 public string CreateUser(FrontUserDto userDto)
 {
     try
     {
         if (null == userDto)
         {
             throw new KnownException("创建用户信息不存在,无法创建!");
         }
         using (var db = new BCEnterpriseContext())
         {
             if (string.IsNullOrEmpty(userDto.Password))
             {
                 throw new KnownException("密码不允许为空");
             }
             var uid  = Ioc.GetService <ML.BC.Services.Common.IUniqeIdGenerator>().GeneratorBackUserID();
             var user = new FrontUser()
             {
                 UserID     = uid,
                 Name       = userDto.Name,
                 Password   = CryptoService.MD5Encrypt(userDto.Password),
                 Mobile     = userDto.Mobile,
                 RegistDate = DateTime.Now,
                 Closed     = userDto.Closed,
                 UpdateTime = DateTime.Now
             };
             db.FrontUsers.Add(user);
             if (db.SaveChanges() > 0)
             {
                 return(user.UserID);
             }
             else
             {
                 return(null);
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public List <FrontUserDto> GetAllFrontUser(string enterpriseId, int pageSize, int pageIndex, out int count)
 {
     try
     {
         if (string.IsNullOrEmpty(enterpriseId))
         {
             return(GetFrontUserByPartialInfo(null, pageSize, pageIndex, out count));
         }
         else
         {
             var dto = new FrontUserDto()
             {
                 EnterpiseID = enterpriseId
             };
             return(GetFrontUserByPartialInfo(dto, pageSize, pageIndex, out count));
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public bool UpdateUser(FrontUserDto user)
 {
     return(UpdateFrontUser(user));
 }
        public string AddFrontUser(FrontUserDto frontUserDto)
        {
            try
            {
                if (null == frontUserDto)
                {
                    throw new KnownException("用户信息为空,无法添加!");
                }
                if (string.IsNullOrEmpty(frontUserDto.EnterpiseID) || string.IsNullOrEmpty(frontUserDto.Password) || null == frontUserDto.UserRoleIDs)
                {
                    throw new KnownException("关键信息缺失,无法新增用户!");
                }

                var makeId = Ioc.GetService <IUniqeIdGenerator>().GeneratorFrontUserID();
                frontUserDto.UserID     = makeId;
                frontUserDto.Password   = CryptoService.MD5Encrypt(frontUserDto.Password);
                frontUserDto.RegistDate = DateTime.Now;
                frontUserDto.LastDate   = DateTime.Now;
                frontUserDto.UpdateTime = DateTime.Now;

                using (var db = new BCEnterpriseContext())
                {
                    if (!db.Enterprises.Any(obj => obj.EnterpriseID == frontUserDto.EnterpiseID && !obj.Deleted))
                    {
                        throw new KnownException("没有相关企业信息或企业已被禁用!,不能添加用户,请尝试刷新后重试!");
                    }
                    if (null != frontUserDto.DepartmentID &&
                        (!db.Departments.Any(obj => obj.EnterpriseID == frontUserDto.EnterpiseID && obj.DepartmentID == frontUserDto.DepartmentID && !obj.Deleted)))
                    {
                        throw new KnownException("此企业下不存在该部门信息或已被删除,无法添加用户,请尝试刷新后重试!");
                    }
                    if (frontUserDto.UserRoleIDs.Count == 0)
                    {
                        throw new KnownException("必须为用户指定角色");
                    }
                    var r = (db.RFARoles.Where(o => frontUserDto.UserRoleIDs.Contains(o.RoleID) ? o.Available : true)).Select(o => o.RoleID).ToList();
                    if (!frontUserDto.UserRoleIDs.All(o => (r.Contains(o))))
                    {
                        throw new KnownException("指定的角色不存在,或已被删除,请尝试刷新后重试!");
                    }
                    using (TransactionScope transaction = new TransactionScope())
                    {
                        db.FrontUsers.Add(frontUserDto);
                        db.SaveChanges();
                        var result = SetFrontUserRoles(frontUserDto.UserID, frontUserDto.UserRoleIDs);
                        if (!result)
                        {
                            throw new KnownException("保存用户角色失败!");
                        }
                        else
                        {
                            transaction.Complete();
                            return(frontUserDto.UserID);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public List <FrontUserDto> GetFrontUserByPartialInfo(FrontUserDto model, int pageSize, int pageIndex, out int count)
        {
            try
            {
                if (null == model)
                {
                    model = new FrontUserDto();
                }
                using (var db = new BCEnterpriseContext())
                {
                    var query = db.FrontUsers.Where(
                        obj => (string.IsNullOrEmpty(model.EnterpiseID) ? true : obj.EnterpiseID == model.EnterpiseID) &&
                        (string.IsNullOrEmpty(model.Name) ? true : obj.Name.Contains(model.Name)));
                    count = query.Count();
                    int pageTotal;

                    if (pageSize > 0)
                    {
                        pageTotal = (count + pageSize - 1) / pageSize;
                    }
                    else
                    {
                        pageSize  = 10;
                        pageTotal = (count + pageSize - 1) / pageSize;
                    }

                    if (pageIndex > pageTotal)
                    {
                        pageIndex = pageTotal;
                    }
                    if (pageIndex < 1)
                    {
                        pageIndex = 1;
                    }

                    var list = query
                               .OrderBy(obj => obj.UserID)
                               .Skip(pageSize * (pageIndex - 1))
                               .Take(pageSize)
                               .Select(obj => new FrontUserDto()
                    {
                        UserID         = obj.UserID,
                        Name           = obj.Name,
                        EnterpiseID    = obj.EnterpiseID,
                        DepartmentID   = obj.DepartmentID,
                        Mobile         = obj.Mobile,
                        LastIP         = obj.LastIP,
                        LastDate       = obj.LastDate,
                        Password       = obj.Password,
                        UpdateTime     = obj.UpdateTime,
                        Closed         = obj.Closed,
                        RegistDate     = obj.RegistDate,
                        LoginByDesktop = obj.LoginByDesktop,
                        LoginByMobile  = obj.LoginByMobile
                    }).ToList();
                    return(list);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public bool UpdateFrontUser(FrontUserDto frontUserDto)
        {
            try
            {
                if (null == frontUserDto)
                {
                    throw new KnownException("用户信息为空,无法更新!");
                }
                if (string.IsNullOrEmpty(frontUserDto.EnterpiseID) || null == frontUserDto.UserRoleIDs)
                {
                    throw new KnownException("关键信息缺失,无法更新用户!");
                }

                using (var db = new BCEnterpriseContext())
                {
                    if (!db.Enterprises.Any(obj => obj.EnterpriseID == frontUserDto.EnterpiseID && !obj.Deleted))
                    {
                        throw new KnownException("没有相关企业信息或企业已被禁用!,不能更新用户,请尝试刷新后重试!");
                    }
                    if (null != frontUserDto.DepartmentID &&
                        (!db.Departments.Any(obj => obj.EnterpriseID == frontUserDto.EnterpiseID && obj.DepartmentID == frontUserDto.DepartmentID && !obj.Deleted)))
                    {
                        throw new KnownException("此企业下不存在该部门信息或已被删除,无法更新用户,请尝试刷新后重试!");
                    }
                    if (frontUserDto.UserRoleIDs.Count == 0)
                    {
                        throw new KnownException("必须为用户指定角色");
                    }
                    var r = (db.RFARoles.Where(o => frontUserDto.UserRoleIDs.Contains(o.RoleID) ? o.Available : true)).Select(o => o.RoleID).ToList();
                    if (!frontUserDto.UserRoleIDs.All(o => (r.Contains(o))))
                    {
                        throw new KnownException("指定的角色不存在,或已被删除,请尝试刷新后重试!");
                    }

                    using (TransactionScope transaction = new TransactionScope())
                    {
                        var query = db.FrontUsers.FirstOrDefault(obj => obj.UserID == frontUserDto.UserID);
                        if (!db.FrontUsers.Any(obj => obj.UserID == frontUserDto.UserID))
                        {
                            throw new KnownException("不存在该记录无法更新!");
                        }
                        if (!string.IsNullOrEmpty(frontUserDto.Password))
                        {
                            query.Password = CryptoService.MD5Encrypt(frontUserDto.Password);
                        }
                        query.Name         = frontUserDto.Name;
                        query.EnterpiseID  = frontUserDto.EnterpiseID;
                        query.DepartmentID = frontUserDto.DepartmentID;
                        query.Mobile       = frontUserDto.Mobile;
                        query.UpdateTime   = DateTime.Now;
                        query.Closed       = frontUserDto.Closed;
                        db.SaveChanges();

                        var result = SetFrontUserRoles(frontUserDto.UserID, frontUserDto.UserRoleIDs);
                        if (!result)
                        {
                            throw new KnownException("更新用户角色失败!");
                        }
                        else
                        {
                            transaction.Complete();
                            return(true);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }