public IHttpActionResult SaveAdult([FromBody] AdultApplicationDto application) { if (ModelState.IsValid) { return(Authorized(token => { try { _volunteerApplicationService.SaveAdult(application); } catch (Exception exception) { var apiError = new ApiErrorDto("Volunteer Application POST Failed", exception); throw new HttpResponseException(apiError.HttpResponseMessage); } return Ok(); })); } var errors = ModelState.Values.SelectMany(val => val.Errors).Aggregate("", (current, err) => current + err.ErrorMessage + " "); var dataError = new ApiErrorDto("SaveAdult Data Invalid", new InvalidOperationException("Invalid SaveAdult Data" + errors)); throw new HttpResponseException(dataError.HttpResponseMessage); }
public bool SaveAdult(AdultApplicationDto application) { var formId = _configurationWrapper.GetConfigIntValue("KidsClubAdultApplicant"); var opportunityResponseId = application.ResponseOpportunityId; _formFields = _formSubmissionService.GetFieldsForForm(formId); var formResponse = new MpFormResponse(); formResponse.ContactId = application.ContactId; //contact id of the person the application is for formResponse.FormId = formId; formResponse.OpportunityId = application.OpportunityId; // we know this from CMS formResponse.OpportunityResponseId = opportunityResponseId; formResponse.FormAnswers.Add(SetCustomField(application.FirstName, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.LastName, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.MiddleInitial, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Email, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.BirthDate, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.PreviousName, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.NameForNameTag, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(TranslateGender(application.Gender), opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(TranslateMaritalStatus(application.MaritalStatus), opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.SpouseName, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.SpouseGender, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.HowLongAttending, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.WhatServiceDoYouAttend, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.StreetAddress, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.City, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.State, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Zip, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.MobilePhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.HomePhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.CompanyName, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Position, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.WorkPhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Child1Name, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Child1Birthdate, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Child2Name, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Child2Birthdate, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Child3Name, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Child3Birthdate, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Child4Name, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Child4Birthdate, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.EverBeenArrest, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AddictionConcern, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.NeglectingChild, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.PsychiatricDisorder, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.SexuallyActiveOutsideMarriage, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.ReligionSearchingForAnswers, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.ReligionReceivedJesus, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.ReligionFocusingOnObedience, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.ReligionReplicating, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.SpiritualOrientationExplain, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.WhatPromptedApplication, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.SpecialTalents, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AvailabilityWeek, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AvailabilityWeekend, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AvailabilityWeekendSite, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AreaOfInterestServingInClassroom, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AreaOfInterestWelcomingNewFamilies, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AreaOfInterestHelpSpecialNeeds, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AreaOfInterestTech, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AreaOfInterestRoomPrep, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AreaOfInterestAdminTasks, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AreaOfInterestShoppingForSupplies, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AreaOfInterestCreatingWeekendExperience, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.WhatAgeBirthToTwo, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.WhatAgeThreeToPreK, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.WhatAgeKToFifth, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference1Name, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference1TimeKnown, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference1HomePhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference1MobilePhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference1WorkPhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference1Email, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference1Association, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference1Occupation, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference2Name, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference2TimeKnown, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference2HomePhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference2MobilePhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference2WorkPhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference2Email, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference2Association, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference2Occupation, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference3Name, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference3TimeKnown, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference3HomePhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference3MobilePhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference3WorkPhone, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference3Email, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference3Association, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Reference3Occupation, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.Agree, opportunityResponseId)); formResponse.FormAnswers.Add(SetCustomField(application.AgreeDate, opportunityResponseId)); var response = _formSubmissionService.SubmitFormResponse(formResponse); return(response != 0); }