public HttpResponseMessage Post(string applicationReference, Requirement requirement) { Check.If(applicationReference).IsNotNullOrEmpty(); Check.If(requirement).IsNotNull(); var result = _requirementService.CreateRequirement(applicationReference, Mapper.Map<Core.Objects.Requirement>(requirement)); if (result == null) { return new HttpResponseMessage {StatusCode = HttpStatusCode.InternalServerError}; } var response = new HttpResponseMessage {StatusCode = HttpStatusCode.Created}; response.Headers.Location = new Uri(Url.Link("GetRequirementForApplicationByReference", new {applicationReference, requirementReference = result})); return response; }
public static List<Summary> CreateSummaryModel(List<Core.Objects.Application> applications) { Check.If(applications).IsNotNull(); var result = new List<Summary>(); foreach (var application in applications) { var summary = new Summary(); summary.ApplicationReference = application.ApplicationReference; summary.ApplicationStatus = application.Status.ToString(); summary.Customers = new List<Customer>(); summary.PipelinePosition = application.PipelinePosition.ToString(); summary.Requirements = new List<Requirement>(); if (application.Customers.Count > 0) { foreach (var customer in application.Customers) { var ct = new Customer { RoleType = customer.RoleType.ToString(), AdditionalName = customer.Names.FirstOrDefault()?.AdditionalName, AgreesToBeCreditChecked = customer.AgreesToBeCreditChecked, AvailableNextStatuses = new List<string>(), CustomerReference = customer.CustomerReference, DateOfBirth = customer.DateOfBirth, Email = customer.Emails.FirstOrDefault(e => !e.DoNotUse)?.Address, FamilyName = customer.Names.FirstOrDefault(n => !n.DoNotUse)?.FamilyName }; ct.Email = customer.Emails.FirstOrDefault(e => !e.DoNotUse)?.Address; ct.FamilyName = customer.Names.FirstOrDefault(n => !n.DoNotUse)?.FamilyName; ct.Gender = customer.Gender.ToString(); ct.GivenName = customer.Names.FirstOrDefault(n => !n.DoNotUse)?.GivenName; ct.AdditionalName = customer.Names.FirstOrDefault(n => !n.DoNotUse)?.AdditionalName; ct.AgreesToBeCreditChecked = customer.AgreesToBeCreditChecked; ct.IsOptedIntoEmailMarketing = customer.IsOptedIntoEmailMarketing; ct.IsOptedIntoPhoneMarketing = customer.IsOptedIntoPhoneMarketing; ct.KnownAs = customer.Names.FirstOrDefault(n => !n.DoNotUse)?.KnownAs; ct.Title = customer.Names.FirstOrDefault(n => !n.DoNotUse)?.Title.ToString(); ct.Status = customer.Status.ToString(); ct.TelephoneNumber = customer.TelephoneNumbers.FirstOrDefault(t => !t.DoNotUse)?.Number; summary.Customers.Add(ct); } } if (application.Requirements.Count > 0) { foreach (var requirement in application.Requirements) { var req = new Requirement(); req.RequirementReference = requirement.RequirementReference; req.RequirementType = requirement.RequirementType.ToString(); req.Value = requirement.RequirementType.ToString(); summary.Requirements.Add(req); } } result.Add(summary); } return result; }
public HttpResponseMessage Put(string applicationReference, string requirementReference, Requirement requirement) { Check.If(applicationReference).IsNotNullOrEmpty(); Check.If(requirementReference).IsNotNullOrEmpty(); Check.If(requirement).IsNotNull(); var result = _requirementService.UpdateRequirement(applicationReference, requirementReference, Mapper.Map<Core.Objects.Requirement>(requirement)); return result ? new HttpResponseMessage {StatusCode = HttpStatusCode.OK} : new HttpResponseMessage {StatusCode = HttpStatusCode.InternalServerError}; }