示例#1
0
 public IActionResult Insert([FromBody] UsersUpload user)
 {
     if (ModelState.IsValid)
     {
         var result = _service.Create(user);
         if (!result)
         {
             return(BadRequest());
         }
         var lastResult = _repoUsers.GetLastInserted();
         var uri        = Url.Action("Get", new { Id = lastResult.Id, Version = "1.0" });
         return(Created(uri, lastResult));
     }
     return(BadRequest());
 }
示例#2
0
        public IActionResult Update([Bind("Id, Name, Avatar, Email, Department, Process, Password, IsLeaderDepartment, IsLeaderProcess")] UsersUpload user)
        {
            if (ModelState.IsValid)
            {
                var result = _service.Update(user);

                if (!result)
                {
                    return(BadRequest());
                }

                return(Ok());
            }

            return(BadRequest());
        }
示例#3
0
        public bool Update(UsersUpload user)
        {
            bool result;

            if (string.IsNullOrWhiteSpace(user.Password))
            {
                result = _repoUsers.Update(user);
                return(result);
            }
            byte[] passwordHash, passwordSalt;
            CreatePasswordHash(user.Password, out passwordHash, out passwordSalt);
            var userDto = user.ToUserDto();

            userDto.PasswordHash = System.Convert.ToBase64String(passwordHash);
            userDto.PasswordSalt = System.Convert.ToBase64String(passwordSalt);

            result = _repoUsers.Update(userDto);

            return(result);
        }
示例#4
0
        public bool Create(UsersUpload user)
        {
            if (string.IsNullOrWhiteSpace(user.Password))
            {
                throw new Exception("Senha é obrigatória.");
            }
            List <Users> users = _repoUsers.GetAll().ToList();

            if (users.Any(x => x.Email == user.Email))
            {
                throw new Exception("Este email já está cadastrado.");
            }
            byte[] passwordHash, passwordSalt;
            CreatePasswordHash(user.Password, out passwordHash, out passwordSalt);
            var userDto = user.ToUserDto();

            userDto.PasswordHash = System.Convert.ToBase64String(passwordHash);
            userDto.PasswordSalt = System.Convert.ToBase64String(passwordSalt);

            var result = _repoUsers.Insert(userDto);

            return(result);
        }
示例#5
0
        public bool Update(UsersUpload item)
        {
            using (IDbConnection db = new SqlConnection(ConnectionString))
            {
                Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;
                if (db.State == ConnectionState.Closed)
                {
                    db.Open();
                }
                int result;
                if (item.Process == 0)
                {
                    result = db.Execute(@"UPDATE USERS SET NAME = @Name,
		                                     AVATAR = @Avatar,
				                             EMAIL = @Email,
				                             ID_DEPARTMENT = @Department,
				                             ID_PROCESS = null,
				                             IS_LEADER_DEPARTMENT = @IsLeaderDepartment,
				                             IS_LEADER_PROCESS = @IsLeaderProcess
				                             WHERE ID = @Id"                , item
                                        );
                }
                else
                {
                    result = db.Execute(@"UPDATE USERS SET NAME = @Name,
		                                     AVATAR = @Avatar,
				                             EMAIL = @Email,
				                             ID_DEPARTMENT = @Department,
				                             ID_PROCESS = @Process,
				                             IS_LEADER_DEPARTMENT = @IsLeaderDepartment,
				                             IS_LEADER_PROCESS = @IsLeaderProcess
				                             WHERE ID = @Id"                , item
                                        );
                }
                return(result > 0);
            }
        }