コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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());
        }