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