public static Case MapToCase(this LibraryVolunteeringEnquiry model, int eventCode, string classification)
        {
            var description = new DescriptionBuilder()
                              .Add("Selected Interests", model.InterestList, ", ")
                              .Add("Selected Locations", model.PreferredLocationList, ", ")
                              .Add("Hours", model.NumberOfHours.ToString())
                              .Add("Days can't work", model.NotAvailableList, ", ");

            if (!string.IsNullOrEmpty(model.AdditionalInfo))
            {
                description.Add("Extra Information", model.AdditionalInfo);
            }

            return(new Case
            {
                EventCode = eventCode,
                Classification = classification,
                EventTitle = "Volunteering",
                Description = description.Build(),
                AssociatedWithBehaviour = AssociatedWithBehaviourEnum.Individual,
                Customer = new Customer
                {
                    Forename = model.FirstName,
                    Surname = model.LastName,
                    Email = model.Email,
                    Telephone = model.Phone,
                    Address = new Address
                    {
                        AddressLine1 = model.CustomersAddress.AddressLine1,
                        AddressLine2 = model.CustomersAddress.AddressLine2,
                        AddressLine3 = model.CustomersAddress.Town,
                        Postcode = model.CustomersAddress.Postcode,
                        Reference = model.CustomersAddress.PlaceRef,
                        UPRN = model.CustomersAddress.PlaceRef
                    }
                }
            });
        }
Exemple #2
0
        public static Case MapToCase(this ContactSTARTRequest request, int eventCode)
        {
            var description = new DescriptionBuilder();

            if (request.RefererPerson != null && !request.IsAboutSelf)
            {
                description
                .Add("(Lagan) Referrer", new[] { request.RefererPerson.FirstName, request.RefererPerson.LastName })
                .Add("Connection to the Referee", request.RefererPerson.ConnectionAbout)
                .Add("Contact number", request.RefererPerson.PhoneNumber)
                .Add(string.Empty);
            }

            description
            .Add("Client")
            .Add("Name", new[] { request.RefereePerson.FirstName, request.RefereePerson.LastName })
            .Add("Date of Birth", request.RefereePerson.DateOfBirth.ToShortDateString());

            if (!string.IsNullOrEmpty(request.RefereePerson.EmailAddress))
            {
                description.Add("Email", request.RefereePerson.EmailAddress);
            }

            if (!string.IsNullOrEmpty(request.RefereePerson.PhoneNumber))
            {
                description
                .Add("Tel", request.RefereePerson.PhoneNumber)
                .Add("Call Time", request.RefereePerson.TimeSlot);
            }

            if (request.RefereePerson.Address.IsAutomaticallyFound)
            {
                description.Add("Address", request.RefereePerson.Address.SelectedAddress);
            }
            else
            {
                description.Add("Address", new[] {
                    request.RefereePerson.Address.AddressLine1,
                    request.RefereePerson.Address.AddressLine2,
                    request.RefereePerson.Address.Town,
                    request.RefereePerson.Address.Postcode
                }, ", ");
            }

            description.Add("Primary concern", request.AreaOfConcern);

            if (!string.IsNullOrEmpty(request.MoreInfomation))
            {
                description.Add("Details", request.MoreInfomation);
            }

            return(new Case
            {
                CaseTitle = request.AreaOfConcern.Trim(),
                Classification = $"Public Health > START > {request.AreaOfConcern.Trim()}",
                EventCode = eventCode,
                AssociatedWithBehaviour = AssociatedWithBehaviourEnum.Individual,
                RaisedByBehaviour = RaisedByBehaviourEnum.Individual,
                Customer = new Customer
                {
                    Forename = request.RefereePerson.FirstName,
                    Surname = request.RefereePerson.LastName,
                    Email = request.RefereePerson.EmailAddress,
                    Telephone = request.RefereePerson.PhoneNumber,
                    DateOfBirth = request.RefereePerson.DateOfBirth,
                    Address = new Address
                    {
                        AddressLine1 = request.RefereePerson.Address.AddressLine1,
                        AddressLine2 = request.RefereePerson.Address.AddressLine2,
                        AddressLine3 = request.RefereePerson.Address.Town,
                        Postcode = request.RefereePerson.Address.Postcode,
                        Reference = request.RefereePerson.Address.PlaceRef,
                        UPRN = request.RefereePerson.Address.PlaceRef
                    }
                },
                Description = description.Build(),
            });
        }