public IActionResult CreateReferral([FromBody] CreateReferralRequest request)
        {
            var validator  = new CreateReferralRequestValidator();
            var validation = validator.Validate(request);

            if (!validation.IsValid)
            {
                return(BadRequest(validation.ToString()));
            }

            _mashReferralUseCase.CreateNewMashReferral(request);

            return(CreatedAtAction(nameof(CreateReferral), "Successfully created new contact referral"));
        }
예제 #2
0
        public MashReferral CreateReferral(CreateReferralRequest request)
        {
            var referral = new Infrastructure.MashReferral
            {
                Referrer            = request.Referrer,
                RequestedSupport    = request.RequestedSupport,
                ReferralDocumentURI = request.ReferralUri,
                Stage             = "CONTACT",
                ReferralCreatedAt = _systemTime.Now,
                MashResidents     = new List <MashResident>(),
                CreatedBy         = request.Referrer,
                LastModifiedBy    = request.Referrer
            };

            foreach (var mashResident in request.MashResidents)
            {
                var resident = new MashResident
                {
                    FirstName      = mashResident.FirstName,
                    LastName       = mashResident.LastName,
                    Address        = mashResident.Address,
                    Ethnicity      = mashResident.Ethnicity,
                    Gender         = mashResident.Gender,
                    Postcode       = mashResident.Postcode,
                    School         = mashResident.School,
                    FirstLanguage  = mashResident.FirstLanguage,
                    DateOfBirth    = mashResident.DateOfBirth,
                    MashReferralId = referral.Id
                };
                referral.MashResidents.Add(resident);
            }

            _databaseContext.MashReferrals.Add(referral);
            _databaseContext.SaveChanges();
            return(referral.ToDomain());
        }
예제 #3
0
        public void Reset()
        {
            _mashReferralGateway.Reset();

            var referral1 = new CreateReferralRequest
            {
                Referrer         = "Police - red",
                RequestedSupport = "Safeguarding",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Sally", LastName = "Samuels"
                    }
                },
                ReferralUri = "hardcoded-referral-1-URI"
            };
            var referral2 = new CreateReferralRequest
            {
                Referrer         = "School",
                RequestedSupport = "Safeguarding",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Bert", LastName = "Bertram"
                    }, new MashResidentRequest()
                    {
                        FirstName = "Courtney", LastName = "Bushell"
                    }, new MashResidentRequest()
                    {
                        FirstName = "Jake", LastName = "Bucks"
                    }, new MashResidentRequest()
                    {
                        FirstName = "Frank", LastName = "Gallagher"
                    }
                },
                ReferralUri = "hardcoded-referral-2-URI"
            };
            var referral3 = new CreateReferralRequest
            {
                Referrer         = "Family",
                RequestedSupport = "Safeguarding",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Bertie", LastName = "Stephens"
                    }, new MashResidentRequest()
                    {
                        FirstName = "Katie", LastName = "Ryans"
                    }, new MashResidentRequest()
                    {
                        FirstName = "Hannah", LastName = "Stephens"
                    }
                },
                ReferralUri = "hardcoded-referral-3-URI"
            };
            var referral4 = new CreateReferralRequest
            {
                Referrer         = "Individual",
                RequestedSupport = "Early help",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Elysia", LastName = "Hughs"
                    }
                },
                ReferralUri = "hardcoded-referral-4-URI"
            };
            var referral5 = new CreateReferralRequest
            {
                Referrer         = "School",
                RequestedSupport = "Early help",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Benji", LastName = "Stephens"
                    }
                },
                ReferralUri = "hardcoded-referral-5-URI"
            };
            var referral6 = new CreateReferralRequest
            {
                Referrer         = "Police - green",
                RequestedSupport = "Early help",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Sophie", LastName = "Smith"
                    }
                },
                ReferralUri = "hardcoded-referral-6-URI"
            };
            var referral7 = new CreateReferralRequest
            {
                Referrer         = "Police - red",
                RequestedSupport = "Safeguarding",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Sally", LastName = "Stephens"
                    }
                },
                ReferralUri = "hardcoded-referral-7-URI"
            };
            var referral8 = new CreateReferralRequest
            {
                Referrer         = "Police - green",
                RequestedSupport = "Safeguarding",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Barry", LastName = "Smith"
                    }, new MashResidentRequest()
                    {
                        FirstName = "Bert", LastName = "Smith"
                    }, new MashResidentRequest()
                    {
                        FirstName = "Sally", LastName = "Smith"
                    }
                },
                ReferralUri = "hardcoded-referral-8-URI"
            };
            var referral9 = new CreateReferralRequest
            {
                Referrer         = "Police - red",
                RequestedSupport = "Safeguarding",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Sophie", LastName = "Owens"
                    }
                },
                ReferralUri = "Emotional abuse"
            };
            var referral10 = new CreateReferralRequest
            {
                Referrer         = "Police - green",
                RequestedSupport = "Safeguarding",
                MashResidents    = new List <MashResidentRequest>()
                {
                    new MashResidentRequest()
                    {
                        FirstName = "Max", LastName = "Smith"
                    }, new MashResidentRequest()
                    {
                        FirstName = "Georgie", LastName = "Smith"
                    }, new MashResidentRequest()
                    {
                        FirstName = "Hugh", LastName = "Smith"
                    }
                },
                ReferralUri = "hardcoded-referral-10-URI"
            };

            _mashReferralGateway.CreateReferral(referral1);
            _mashReferralGateway.CreateReferral(referral2);
            _mashReferralGateway.CreateReferral(referral3);
            _mashReferralGateway.CreateReferral(referral4);
            _mashReferralGateway.CreateReferral(referral5);
            _mashReferralGateway.CreateReferral(referral6);
            _mashReferralGateway.CreateReferral(referral7);
            _mashReferralGateway.CreateReferral(referral8);
            _mashReferralGateway.CreateReferral(referral9);
            _mashReferralGateway.CreateReferral(referral10);
        }
예제 #4
0
 public void CreateNewMashReferral(CreateReferralRequest request)
 {
     _mashReferralGateway.CreateReferral(request);
 }