public JsonResult Edit(MentorEditRequestJsonModel mentorEditRequestJsonModel) { // Check if we need to upload new mentor avatar if (mentorEditRequestJsonModel.NewAvatar != null) { _usersProvider.SaveUserAvatar( mentorEditRequestJsonModel.Id, mentorEditRequestJsonModel.NewAvatar.InputStream, mentorEditRequestJsonModel.NewAvatar.ContentType); } else if (mentorEditRequestJsonModel.IsAvatarDeleting) { // If we need to delete an existing avatar _usersProvider.RemoveAvatarByUserId(mentorEditRequestJsonModel.Id); } // Update information about mentor var mentor = _mentorMapper.FromMentorEditRequestJsonModel(mentorEditRequestJsonModel); mentor = _mentorProvider.Update(mentor); mentor.User.Avatar = _usersProvider.GetAvatarByUserIdOrDefault(mentor.Id); var mentorEditResponseJsonModel = _mentorMapper.ToMentorEditResponseJsonModel(mentor); return(Json(mentorEditResponseJsonModel)); }