コード例 #1
0
ファイル: UserService.cs プロジェクト: Lanc3000/CRM
        private ObjUser Map(User user)
        {
            if (user == null)
            {
                return(null);
            }

            ObjUser objUser = new ObjUser
            {
                Id             = user.Id,
                Fio            = user.Fio,
                Position       = user.Position,
                Phone          = user.Phone,
                Email          = user.Email,
                Grade          = user.Grade,
                Skype          = user.Skype,
                Telegram       = user.Telegram,
                Other          = user.Other,
                PassHash       = user.PassHash,
                Role           = GetRoleByLogin(user.RoleId),
                RoleId         = user.RoleId,
                IsManager      = user.IsManager,
                AvatarFileName = user.AvatarFileName
            };

            return(objUser);
        }
コード例 #2
0
ファイル: UserService.cs プロジェクト: Lanc3000/CRM
        public ObjUser GetUserByEmail(string Email)
        {
            string lowerEmail = Email.ToLower();

            ObjUser model = null;
            var     User  = _userRepository.GetByEmail(lowerEmail);

            model = Map(User);

            return(model);
        }
コード例 #3
0
     public void CreateTest()
     {
         tbl_Users User = new tbl_Users();
         Mock<IUserRepository> MockIUserRepository = new Mock<IUserRepository>();
         MockIUserRepository.Setup(X => X.CreateUser(It.IsAny<tbl_Users>())).Returns(true);
 
         var Result = var Result = new UserController(ObjUser.Object).Create(User);;
 
         Assert.That(Result, //is a view result with expected view model);
         Assert.That(ObjUser.Verify(), Is.True); 
     }         
コード例 #4
0
ファイル: UserService.cs プロジェクト: Lanc3000/CRM
 private void UpdateMapping(ObjUser editUser, User dbUser)
 {
     dbUser.Fio            = editUser.Fio;
     dbUser.Email          = editUser.Email;
     dbUser.Grade          = editUser.Grade;
     dbUser.Other          = editUser.Other;
     dbUser.Phone          = editUser.Phone;
     dbUser.Position       = editUser.Position;
     dbUser.Skype          = editUser.Skype;
     dbUser.Telegram       = editUser.Telegram;
     dbUser.RoleId         = editUser.RoleId;
     dbUser.IsManager      = editUser.IsManager;
     dbUser.AvatarFileName = editUser.AvatarFileName;
 }
コード例 #5
0
        public IActionResult AddUser(ObjUser objUser)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.Roles = _userService.GetRoles();
                return(View(objUser));
            }
            var result = _userService.CreateUser(objUser);

            if (result.Success)
            {
                return(RedirectToActionOk("Details", "Users", new { id = result.Id }, "Пользователь успешно создан"));
            }

            return(RedirectToActionError("AddUser", result.ErrorMessage));
        }
コード例 #6
0
        public IActionResult Details(ObjUser newUser)
        {
            //if(!ModelState.IsValid)
            //{
            //    ViewBag.Roles = _userService.GetRoles();
            //    return View(newUser);
            //}
            var result = _userService.EditUser(newUser);

            if (result.Success)
            {
                Response.Cookies.Append("Name", newUser.Fio ?? "Ваше имя");
                Response.Cookies.Append("Position", newUser.Position ?? "Должность");
                return(RedirectToActionOk("Details", "Users", new { id = result.Id }, "Изменения сохранены"));
            }
            return(RedirectToActionError("Details", "Users", new { id = newUser.Id }, result.ErrorMessage));
        }
コード例 #7
0
ファイル: UserService.cs プロジェクト: Lanc3000/CRM
        public ServiceResult CreateUser(ObjUser obj)
        {
            try
            {
                obj.Email = obj.Email.Trim();
                var users = _userRepository.All();
                if (users.Any(x => string.Equals(x.Email, obj.Email)))
                {
                    return(ServiceResult.ErrorResult("Указанный Email уже зарегистрирован"));
                }

                obj.PassHash = HelperMd5.CalculateMD5Hash(obj.PassHash);

                //сохраняем аватар
                if (obj.file != null)
                {
                    var originalName = obj.file.FileName.Trim();

                    var extension = Path.GetExtension(originalName);
                    var fileName  = Guid.NewGuid().ToString("N") + extension;
                    var path      = Path.Combine(CoreConfiguration.PathAvatar, fileName);

                    _fileHelper.SaveFile(obj.file, path);
                    obj.AvatarFileName = fileName;
                }

                var model = Map(obj);


                _userRepository.Insert(model);
                _userRepository.SaveChanges();



                return(ServiceResult.SuccessResult(model.Id));
            }
            catch (Exception ex)
            {
                //_logger.LogError("Error with Create User : {0}", ex.Message);

                return(ServiceResult.ErrorResult("Ошибка при создании новго пользователя"));
            }
        }
コード例 #8
0
ファイル: UserService.cs プロジェクト: Lanc3000/CRM
        private User Map(ObjUser objUser)
        {
            User user = new User
            {
                Id             = objUser.Id,
                Fio            = objUser.Fio,
                Position       = objUser.Position,
                Phone          = objUser.Phone,
                Email          = objUser.Email,
                Grade          = objUser.Grade,
                Skype          = objUser.Skype,
                Telegram       = objUser.Telegram,
                Other          = objUser.Other,
                PassHash       = objUser.PassHash,
                RoleId         = objUser.RoleId,
                IsManager      = objUser.IsManager,
                AvatarFileName = objUser.AvatarFileName
            };

            return(user);
        }
コード例 #9
0
ファイル: UserService.cs プロジェクト: Lanc3000/CRM
        public ServiceResult EditUser(ObjUser obj)
        {
            try
            {
                obj.Email = obj.Email.Trim();
                var users = _userRepository.All();
                if (users.Any(x => string.Equals(x.Email, obj.Email) && x.Id != obj.Id))
                {
                    return(ServiceResult.ErrorResult("Указанный Email уже зарегистрирован"));
                }

                var model = _userRepository.Get(obj.Id);

                //сохраняем аватар
                if (obj.file != null)
                {
                    var originalName = obj.file.FileName.Trim();

                    var extension = Path.GetExtension(originalName);
                    var fileName  = Guid.NewGuid().ToString("N") + extension;
                    var path      = Path.Combine(CoreConfiguration.PathAvatar, fileName);

                    _fileHelper.SaveFile(obj.file, path);
                    obj.AvatarFileName = fileName;
                }

                UpdateMapping(obj, model);
                _userRepository.Update(model);
                _userRepository.SaveChanges();

                return(ServiceResult.SuccessResult(model.Id));
            }
            catch (Exception ex)
            {
                //_logger.LogError("Error editing user id = {0} / message  = {1}", obj.Id, ex.Message);
                return(ServiceResult.ErrorResult("Ошибка сохранения сотрудника"));
            }
        }
コード例 #10
0
ファイル: UserService.cs プロジェクト: Lanc3000/CRM
        public ObjUser Login(string email, string pass)
        {
            if (string.IsNullOrWhiteSpace(email) || string.IsNullOrWhiteSpace(pass))
            {
                return(null);
            }

            var passHash = HelperMd5.CalculateMD5Hash(pass);

            if (string.IsNullOrWhiteSpace(email) || string.IsNullOrWhiteSpace(passHash))
            {
                return(null);
            }

            string lowerEmail = email.ToLower();

            ObjUser model = null;
            var     User  = _userRepository.GetByEmailAndPassword(lowerEmail, passHash);

            model = Map(User);
            //_logger.LogInformation("Логин юзер");
            return(model);
        }