public async Task <IHttpActionResult> AddUser(UserCreateModel userModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } string imagePath = "/Files/no-image.png"; if (userModel.Content != null) { if (!ImageHelper.IsImage(userModel.Content)) { return(BadRequest("Image is not valid.")); } imagePath = await SaveImage(userModel.Content); var imageSize = userModel.Content.Buffer.Length; if (!ImageHelper.IsImageValid(imagePath, imageSize)) { var imageMappedPath = System.Web.HttpContext.Current.Server.MapPath(imagePath); if (File.Exists(imageMappedPath)) { File.Delete(imageMappedPath); } return(BadRequest("Image is not valid.")); } } var user = UserHelpers.ConvertUserModelToUser(userModel); user.PositionId = userModel.PositionId; user.IsActive = true; user.Image = new Image { ImageUrl = imagePath }; var result = await _unitOfWork.UsersManager.CreateAsync(user, userModel.Password); _unitOfWork.UsersManager.AddToRole(user.Id, "user"); var errorResult = GetErrorResult(result); return(errorResult ?? Ok(result)); }