public async Task <bool> EditMemberDetails(string email, EditMemberDetails editMemberDetails) { var member = await GetMemberByEmail(email); if (member == null) { return(false); } if (editMemberDetails.UserImage != null) { var path = Path.Combine( AppConstants.DataFilesPath, email, editMemberDetails.UserImage.FileName); await _fileService.SaveImage(path, editMemberDetails.UserImage); string thumbnailPath = _fileService.CreateThumbnailFromImage(path, editMemberDetails.UserImage.FileName); member.PhotoPath = path; member.PhotoThumbnailPath = thumbnailPath; } member.DateOfBirth = editMemberDetails.DateOfBirth; member.FirstName = editMemberDetails.FirstName; member.LastName = editMemberDetails.LastName; member.MemberPositions = new List <MemberPositions>(); if (editMemberDetails.PreferedPosition.HasValue) { member.MemberPositions.Add(new MemberPositions() { Position = new Position { Name = editMemberDetails.PreferedPosition.Value.ToString() } }); } member.Weight = editMemberDetails.Weight; member.Height = editMemberDetails.Height; _membersRepository.EditMember(member); return(true); }
public static async Task <HttpResponseMessage> EditMemberDetails(EditMemberDetails editMemberDetails) { var content = new MultipartFormDataContent(); if (editMemberDetails.File != null) { HttpContent fileStreamContent = new StreamContent(editMemberDetails.File); fileStreamContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "userImage", FileName = "person-placeholder.jpg" }; fileStreamContent.Headers.ContentType = new MediaTypeHeaderValue("application/jpeg"); content.Add(fileStreamContent, "userImage"); } AddStringContent(content, editMemberDetails); return(await _httpClient.PostAsync( string.Format(ApiConstants.EditMemberDetailsEndpoint, editMemberDetails.Email), content)); }
private async void EditDetails_Click(object sender, EventArgs e) { bool hasError = false; if (string.IsNullOrWhiteSpace(_firstName.Text)) { _firstName.Error = "Въведете Вашето име"; hasError = true; } if (string.IsNullOrWhiteSpace(_lastName.Text)) { _lastName.Error = "Въведете Вашата фамилия"; hasError = true; } Role role = (Role)Enum.Parse(typeof(Role), _account.Properties["roles"]); int selectedPosition = _positionsSpinner.SelectedItemPosition + 1; Position?position = string.Compare(role.ToString(), Role.Player.ToString(), true) == 0 ? (Position)selectedPosition : default(Position?); double.TryParse(_weight.Text, out double weightValue); double.TryParse(_height.Text, out double heightValue); if (weightValue == 0 && role == Role.Player) { _weight.Error = "Това поле е задължително за играчи"; hasError = true; } if (heightValue == 0 && role == Role.Player) { _height.Error = "Това поле е задължително за играчи"; hasError = true; } if (hasError) { return; } var editMemberDetails = new EditMemberDetails { Email = _account.Username, FirstName = _firstName.Text, LastName = _lastName.Text, PreferedPosition = position, Weight = position.HasValue ? weightValue : default(double?), Height = position.HasValue ? heightValue : default(double?), File = _imageStream, DateOfBirth = _dateOfBirth.DateTime }; AndHUD.Shared.Show(this, "Промяна…"); HttpResponseMessage httpResponse = await RestManager.EditMemberDetails(editMemberDetails); string response = await httpResponse.Content.ReadAsStringAsync(); if (httpResponse.IsSuccessStatusCode) { Intent intent = new Intent(this, typeof(UserProfileActivity)); AndHUD.Shared.Dismiss(this); StartActivity(intent); } else { AndHUD.Shared.Dismiss(this); Toast.MakeText(this, response, ToastLength.Long).Show(); } }
public async Task <IActionResult> EditMemberDetails([FromRoute] string email, [FromForm] EditMemberDetails editMemberDetails) { bool isSuccess = await _membersService.EditMemberDetails(email, editMemberDetails); if (isSuccess) { await _membersService.SaveChangesAsync(); return(Ok()); } return(BadRequest()); }