private Volunteer PrepereVolunteerToUpdate(EditVolunteerViewModel editVolunteer, int currentUserId) { try { var volunteer = _volunteerManager.GetVolunteer(editVolunteer.VolunterId); // required fields volunteer.FirstName_VC = editVolunteer.FirstName; volunteer.Surname_VC = editVolunteer.LastName; volunteer.Email_VC = editVolunteer.Email; volunteer.Mobile_VC = editVolunteer.Mobile; volunteer.PhonePrefix_VC = editVolunteer.PhonePrefix; volunteer.DateOfBirth_DT = editVolunteer.DateOfBirth; volunteer.Gender_VC = editVolunteer.Gender; volunteer.Country_ID = editVolunteer.CountryId; volunteer.Address1_VC = editVolunteer.Address1; volunteer.Address2_VC = editVolunteer.Address2; volunteer.Address3_VC = editVolunteer.Address3; volunteer.Address4_VC = editVolunteer.Address4; volunteer.LastUpdated_DT = DateTime.Now; volunteer.LastUpdatedBy_ID = currentUserId; // not required fields if (editVolunteer.AdministratorPrivileges != null) { volunteer.IsAnAdministrator_BT = (bool)editVolunteer.AdministratorPrivileges; } if (editVolunteer.ReceiveEmailUpdates != null) { volunteer.ReceiveUpdates_BT = (bool)editVolunteer.ReceiveEmailUpdates; } if (editVolunteer.ManagedById != null) { volunteer.ManagedBy_ID = editVolunteer.ManagedById; } if (editVolunteer.RoleId != null) { volunteer.Role_ID = editVolunteer.RoleId; } if (editVolunteer.StartDate != null) { volunteer.StartDate_DT = editVolunteer.StartDate; } return(volunteer); } catch (Exception) { return(null); } }
public HttpResponseMessage Put([FromBody] EditVolunteerViewModel editVolunteer) { if (!ModelState.IsValid) { var errors = ModelState.Values .SelectMany(v => v.Errors) .Select(e => e.ErrorMessage).ToList(); return(Messages.ReturnBadRequestWithLabelErrors(errors)); } var token = TokenBase.ReadToken(HttpContext.Current); if (_validation.IsTokenAndOrganisationValid(token)) { var volunteer = PrepereVolunteerToUpdate(editVolunteer, token.VolunteerId); if (volunteer == null) { var response = new ResultObject(); response.Success = false; response.Errors.Add("10028"); return(Messages.ReturnUnauthorized(response)); } var resultUpdate = _volunteerManager.UpdateVolunteer(volunteer, token.VolunteerId); if (resultUpdate.Success) { _volunteerManager.ProcessCallbackAsync(token.OrganisationId, JsonConvert.SerializeObject(editVolunteer)); return(Messages.ReturnOk(resultUpdate)); } return(Messages.ReturnUnauthorized(resultUpdate)); } return(Messages.ReturnUnauthorized()); }