コード例 #1
0
        public async Task <ETaskStatus> UpdateAddressHistory(FosteringCaseAddressHistoryUpdateModel model)
        {
            var builder = new FormFieldBuilder();

            CreateAddressHistoryIntegratedFormFields(builder, model.FirstApplicant.AddressHistory);

            if (model.SecondApplicant != null)
            {
                CreateAddressHistoryIntegratedFormFields(builder, model.SecondApplicant != null ? model.SecondApplicant?.AddressHistory : new List <PreviousAddress>(), true);
            }

            var addressHistoryTaskStatus = AddressHistoryTaskStatus(model.FirstApplicant.AddressHistory) &&
                                           (model.SecondApplicant == null || AddressHistoryTaskStatus(model.SecondApplicant.AddressHistory));

            builder.AddField(EFosteringApplicationForm.AddressHistory.GetFormStatusFieldName(), addressHistoryTaskStatus ? ETaskStatus.Completed.GetTaskStatus() : ETaskStatus.NotCompleted.GetTaskStatus());

            var response = await _verintServiceGateway.UpdateCaseIntegrationFormField(new IntegrationFormFieldsUpdateModel
            {
                CaseReference         = model.CaseReference,
                IntegrationFormFields = builder.Build(),
                IntegrationFormName   = _applicationFormName
            });

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception($"Application Service. UpdateAddressHistory: Failed to update. Verint service response: {response}");
            }

            return(addressHistoryTaskStatus ? ETaskStatus.Completed : ETaskStatus.NotCompleted);
        }
コード例 #2
0
        public async Task <ETaskStatus> UpdateLanguagesSpokenInYourHome(FosteringCaseLanguagesSpokenInYourHomeUpdateModel model)
        {
            var formFields = new FormFieldBuilder();
            var completed  = UpdateLanguagesSpokenInYourHomeIsValid(model);

            formFields
            .AddField("primarylanguage", model.PrimaryLanguage)
            .AddField("otherlanguages", model.OtherLanguages);

            formFields.AddField(EFosteringHomeVisitForm.LanguageSpokenInYourHome.GetFormStatusFieldName(),
                                completed ? ETaskStatus.Completed.GetTaskStatus() : ETaskStatus.NotCompleted.GetTaskStatus());

            var updateModel = new IntegrationFormFieldsUpdateModel
            {
                IntegrationFormName   = _integrationFormName,
                CaseReference         = model.CaseReference,
                IntegrationFormFields = formFields.Build()
            };

            var response = await _verintServiceGateway
                           .UpdateCaseIntegrationFormField(updateModel);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Update language-spoken-in-your-home failure");
            }

            return(completed ? ETaskStatus.Completed : ETaskStatus.NotCompleted);
        }
コード例 #3
0
        private void CreateCouncillorsDetailsIntegratedFormFields(FormFieldBuilder builder,
                                                                  List <CouncillorRelationshipDetailsUpdateModel> model, bool secondApplicant = false)
        {
            var applicantPrefix = secondApplicant ? "2" : "1";

            for (var i = 0; i < model.Count; i++)
            {
                var nameSuffix = i + 1;

                builder
                .AddField($"councilloremployeename{applicantPrefix}{nameSuffix}",
                          model[i].CouncillorName ?? string.Empty)
                .AddField($"councillorrelationship{applicantPrefix}{nameSuffix}",
                          model[i].Relationship ?? string.Empty);
            }

            for (var i = model.Count; i < 4; i++)
            {
                var nameSuffix = i + 1;

                builder
                .AddField($"councilloremployeename{applicantPrefix}{nameSuffix}", string.Empty)
                .AddField($"councillorrelationship{applicantPrefix}{nameSuffix}", string.Empty);
            }
        }
コード例 #4
0
        public async Task <ETaskStatus> UpdateCouncillorsDetails(FosteringCaseCouncillorsUpdateModel model)
        {
            var builder = new FormFieldBuilder();

            CreateCouncillorsDetailsIntegratedFormFields(builder,
                                                         model.FirstApplicant.HasContactWithCouncillor ? model.FirstApplicant.CouncillorRelationshipDetails : new List <CouncillorRelationshipDetailsUpdateModel>());

            CreateCouncillorsDetailsIntegratedFormFields(builder,
                                                         model.SecondApplicant?.HasContactWithCouncillor != null && model.SecondApplicant.HasContactWithCouncillor
                    ? model.SecondApplicant.CouncillorRelationshipDetails
                    : new List <CouncillorRelationshipDetailsUpdateModel>(),
                                                         true);

            builder
            .AddField("contactwithcouncillor1", model.FirstApplicant.HasContactWithCouncillor.ToString().ToLower())
            .AddField("contactwithcouncillor2", model.SecondApplicant?.HasContactWithCouncillor.ToString().ToLower() ?? string.Empty)
            .AddField(EFosteringApplicationForm.CouncillorsOrEmployees.GetFormStatusFieldName(), ETaskStatus.Completed.GetTaskStatus());

            var response = await _verintServiceGateway.UpdateCaseIntegrationFormField(new IntegrationFormFieldsUpdateModel
            {
                CaseReference         = model.CaseReference,
                IntegrationFormFields = builder.Build(),
                IntegrationFormName   = _applicationFormName
            });

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception($"Application Service. UpdateCouncillorsDetails: Failed to update. Verint service response: {response}");
            }

            return(ETaskStatus.Completed);
        }
コード例 #5
0
        public async Task <ETaskStatus> UpdateInterestInFostering(FosteringCaseInterestInFosteringUpdateModel model)
        {
            var completed     = !string.IsNullOrEmpty(model.ReasonsForFostering) && model.TypesOfFostering.Any();
            var currentStatus = completed
                ? ETaskStatus.Completed
                : ETaskStatus.NotCompleted;

            var formFields = new FormFieldBuilder()
                             .AddField("fiichildrenwithdisability", model.TypesOfFostering.Exists(_ => _.Equals("childrenWithDisability")) ? "ChildrenWithDisabilities" : string.Empty)
                             .AddField("fiirespite", model.TypesOfFostering.Exists(_ => _.Equals("respite")) ? "Respite" : string.Empty)
                             .AddField("fiishortterm", model.TypesOfFostering.Exists(_ => _.Equals("shortTerm")) ? "ShortTerm" : string.Empty)
                             .AddField("fiilongterm", model.TypesOfFostering.Exists(_ => _.Equals("longTerm")) ? "LongTerm" : string.Empty)
                             .AddField("fiiunsure", model.TypesOfFostering.Exists(_ => _.Equals("unsure")) ? "Unsure" : string.Empty)
                             .AddField("fiishortbreaks", model.TypesOfFostering.Exists(_ => _.Equals("shortBreaks")) ? "ShortBreaks" : string.Empty)
                             .AddField("reasonsforfosteringapplicant1", model.ReasonsForFostering ?? string.Empty)
                             .AddField("tellusaboutyourinterestinfosteringstatus", Enum.GetName(typeof(ETaskStatus), currentStatus))
                             .Build();

            await _verintServiceGateway.UpdateCaseIntegrationFormField(new IntegrationFormFieldsUpdateModel
            {
                CaseReference         = model.CaseReference,
                IntegrationFormName   = _integrationFormName,
                IntegrationFormFields = formFields
            });


            return(currentStatus);
        }
コード例 #6
0
ファイル: TextBoxRender.cs プロジェクト: liuyanchen1994/Util
 /// <summary>
 /// 添加错误消息
 /// </summary>
 private void AddError(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder, string type, string message)
 {
     if (string.IsNullOrWhiteSpace(message))
     {
         return;
     }
     AddRefrenceId(inputBuilder);
     formFieldBuilder.AppendChild(new ErrorBuilder(_refrenceId, type, message));
 }
コード例 #7
0
ファイル: TextBoxRender.cs プロジェクト: liuyanchen1994/Util
 /// <summary>
 /// 添加必填项验证
 /// </summary>
 private void AddRequired(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder)
 {
     if (_config.Contains(UiConst.Required) == false)
     {
         return;
     }
     inputBuilder.AddAttribute(UiConst.Required, "true");
     AddError(formFieldBuilder, inputBuilder, UiConst.Required, _config.GetValue(UiConst.RequiredMessage));
 }
コード例 #8
0
ファイル: TextBoxRender.cs プロジェクト: liuyanchen1994/Util
        /// <summary>
        /// 获取标签生成器
        /// </summary>
        protected override ITagBuilder GetTagBuilder()
        {
            var formFieldBuilder = new FormFieldBuilder();
            var inputBuilder     = new InputBuilder();

            formFieldBuilder.AppendChild(inputBuilder);
            InitInputBuilder(formFieldBuilder, inputBuilder);
            return(formFieldBuilder);
        }
コード例 #9
0
ファイル: TextBoxRender.cs プロジェクト: liuyanchen1994/Util
 /// <summary>
 /// 添加最小长度验证
 /// </summary>
 private void AddMinLength(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder)
 {
     if (_config.MinLength <= 0)
     {
         return;
     }
     inputBuilder.AddAttribute("minlength", _config.MinLength.ToString());
     AddError(formFieldBuilder, inputBuilder, "minlength", _config.MinLengthMessage);
 }
コード例 #10
0
ファイル: TextBoxRender.cs プロジェクト: zengdl/Util
 /// <summary>
 /// 添加必填项验证
 /// </summary>
 private void AddRequired(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder)
 {
     if (_config.Required == false)
     {
         return;
     }
     inputBuilder.AddAttribute("required", "true");
     AddError(formFieldBuilder, inputBuilder, "required", _config.RequiredMessage);
 }
コード例 #11
0
        public FormFieldBuilder CreateOtherPersonBuilder(OtherPeopleConfigurationModel config, List <OtherPerson> otherPeople, int capacity = 8)
        {
            var builder = new FormFieldBuilder();

            for (var i = 0; i < otherPeople?.Count; i++)
            {
                var nameSuffix = i + 1;

                builder
                .AddField($"{config.FirstName}{nameSuffix}", otherPeople[i].FirstName ?? string.Empty)
                .AddField($"{config.DateOfBirth}{nameSuffix}", otherPeople[i].DateOfBirth?.ToString("dd/MM/yyyy") ?? string.Empty)
                .AddField($"{config.Gender}{nameSuffix}", otherPeople[i].Gender ?? string.Empty)
                .AddField($"{config.LastName}{nameSuffix}", otherPeople[i].LastName ?? string.Empty);

                if (!string.IsNullOrEmpty(config.RelationshipToYou))
                {
                    builder.AddField($"{config.RelationshipToYou}{nameSuffix}", otherPeople[i].RelationshipToYou ?? string.Empty);
                }

                if (!string.IsNullOrEmpty(config.Address) && !string.IsNullOrEmpty(config.Postcode))
                {
                    if (otherPeople[i].Address == null)
                    {
                        otherPeople[i].Address = new Model.Address();
                    }
                    builder
                    .AddField($"{config.Address}{nameSuffix}", otherPeople[i].Address.AddressLine1 + "|" + otherPeople[i].Address.AddressLine2 + "|" + otherPeople[i].Address.Town)
                    .AddField($"{config.Postcode}{nameSuffix}", otherPeople[i].Address.Postcode ?? string.Empty);
                }
            }

            for (var i = otherPeople?.Count; i < capacity; i++)
            {
                var nameSuffix = i + 1;

                builder
                .AddField($"{config.FirstName}{nameSuffix}", string.Empty)
                .AddField($"{config.DateOfBirth}{nameSuffix}", string.Empty)
                .AddField($"{config.Gender}{nameSuffix}", string.Empty)
                .AddField($"{config.LastName}{nameSuffix}", string.Empty);

                if (!string.IsNullOrEmpty(config.RelationshipToYou))
                {
                    builder.AddField($"{config.RelationshipToYou}{nameSuffix}", string.Empty);
                }

                if (!string.IsNullOrEmpty(config.Address) && !string.IsNullOrEmpty(config.Postcode))
                {
                    builder
                    .AddField($"{config.Address}{nameSuffix}", string.Empty)
                    .AddField($"{config.Postcode}{nameSuffix}", string.Empty);
                }
            }

            return(builder);
        }
コード例 #12
0
        public async Task <ETaskStatus> UpdateAboutYourself(FosteringCaseAboutYourselfUpdateModel model)
        {
            var completed = UpdateAboutYourselfIsValid(model.FirstApplicant);

            var formFields = new FormFieldBuilder()
                             .AddField("previousname", model.FirstApplicant.EverBeenKnownByAnotherName.GetValueOrDefault() ? model.FirstApplicant.AnotherName : "")
                             .AddField("hasanothername",
                                       model.FirstApplicant.EverBeenKnownByAnotherName == null
                        ? ""
                        : model.FirstApplicant.EverBeenKnownByAnotherName.ToString().ToLower())
                             .AddField("ethnicity", model.FirstApplicant.Ethnicity)
                             .AddField("gender", model.FirstApplicant.Gender)
                             .AddField("nationality", model.FirstApplicant.Nationality)
                             .AddField("placeofbirth", model.FirstApplicant.PlaceOfBirth)
                             .AddField("religionorfaithgroup", model.FirstApplicant.Religion);

            if (model.SecondApplicant != null)
            {
                completed = completed && UpdateAboutYourselfIsValid(model.SecondApplicant);

                formFields
                .AddField("previousname_2", model.SecondApplicant.EverBeenKnownByAnotherName.GetValueOrDefault() ? model.SecondApplicant.AnotherName : "")
                .AddField("hasanothername2",
                          model.SecondApplicant.EverBeenKnownByAnotherName == null
                            ? ""
                            : model.SecondApplicant.EverBeenKnownByAnotherName.ToString().ToLower())
                .AddField("ethnicity2", model.SecondApplicant.Ethnicity)
                .AddField("gender2", model.SecondApplicant.Gender)
                .AddField("placeofbirth_2", model.SecondApplicant.PlaceOfBirth)
                .AddField("nationality2", model.SecondApplicant.Nationality)
                .AddField("religionorfaithgroup2", model.SecondApplicant.Religion);
            }

            formFields.AddField(EFosteringHomeVisitForm.TellUsAboutYourself.GetFormStatusFieldName(),
                                completed ? ETaskStatus.Completed.GetTaskStatus() : ETaskStatus.NotCompleted.GetTaskStatus());

            var updateModel = new IntegrationFormFieldsUpdateModel
            {
                IntegrationFormName   = _integrationFormName,
                CaseReference         = model.CaseReference,
                IntegrationFormFields = formFields.Build()
            };


            var response = await _verintServiceGateway
                           .UpdateCaseIntegrationFormField(updateModel);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Update about-yourself failure");
            }

            return(completed ? ETaskStatus.Completed : ETaskStatus.NotCompleted);
        }
コード例 #13
0
ファイル: TextBoxRender.cs プロジェクト: ryuuc/Util
 /// <summary>
 /// 初始化输入控件生成器
 /// </summary>
 private void InitInputBuilder(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder)
 {
     inputBuilder.SetText();
     inputBuilder.AddOtherAttributes(_config);
     inputBuilder.Id(_config);
     inputBuilder.AddAttribute(UiConst.Name, _config.GetValue(UiConst.Name));
     inputBuilder.AddAttribute("placeholder", _config.GetValue(UiConst.Placeholder));
     inputBuilder.AddAttribute("type", _config.Type);
     inputBuilder.AddAttribute("[(ngModel)]", _config.GetValue(UiConst.Model));
     AddValidations(formFieldBuilder, inputBuilder);
 }
コード例 #14
0
        public async Task <ETaskStatus> UpdateReferences(FosteringCaseReferenceUpdateModel model)
        {
            var formFields = new FormFieldBuilder()
                             .AddField("prffirstname", model.FamilyReference.FirstName)
                             .AddField("prflastname", model.FamilyReference.LastName)
                             .AddField("prfrelation", model.FamilyReference.RelationshipToYou)
                             .AddField("prfyears", model.FamilyReference.NumberOfYearsKnown)
                             .AddField("prfemail", model.FamilyReference.EmailAddress)
                             .AddField("prfcontact", model.FamilyReference.PhoneNumber)
                             .AddField("prf11firstname", model.FirstPersonalReference.FirstName)
                             .AddField("prf1lastname", model.FirstPersonalReference.LastName)
                             .AddField("prf1relation", model.FirstPersonalReference.RelationshipToYou)
                             .AddField("prf1years", model.FirstPersonalReference.NumberOfYearsKnown)
                             .AddField("prf1email", model.FirstPersonalReference.EmailAddress)
                             .AddField("prf1contact", model.FirstPersonalReference.PhoneNumber)
                             .AddField("prf2firstname", model.SecondPersonalReference.FirstName)
                             .AddField("prf2lastname", model.SecondPersonalReference.LastName)
                             .AddField("prf2relation", model.SecondPersonalReference.RelationshipToYou)
                             .AddField("prf2years", model.SecondPersonalReference.NumberOfYearsKnown)
                             .AddField("prf2email", model.SecondPersonalReference.EmailAddress)
                             .AddField("prf2contact", model.SecondPersonalReference.PhoneNumber)
                             .AddField(EFosteringApplicationForm.References.GetFormStatusFieldName(), ETaskStatus.Completed.GetTaskStatus())
                             .Build();

            formFields.AddRange(AddressMapper.MapToVerintAddress(model.FamilyReference.Address, "prfaddress",
                                                                 "prfplaceref", "prfpostcode"));

            formFields.AddRange(AddressMapper.MapToVerintAddress(model.FirstPersonalReference.Address, "prf1address",
                                                                 "prf1placeref", "prf1postcode"));

            formFields.AddRange(AddressMapper.MapToVerintAddress(model.SecondPersonalReference.Address, "prf2address",
                                                                 "prf2placeref", "prf2postcode"));

            var updateModel = new IntegrationFormFieldsUpdateModel
            {
                IntegrationFormName   = _applicationFormName,
                CaseReference         = model.CaseReference,
                IntegrationFormFields = formFields
            };

            var response = await _verintServiceGateway
                           .UpdateCaseIntegrationFormField(updateModel);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Update references failure");
            }

            return(ETaskStatus.Completed);
        }
コード例 #15
0
        public async Task <ETaskStatus> UpdateHealthStatus(FosteringCaseHealthUpdateModel model)
        {
            var completed  = UpdateHealthStatusIsCompleted(model);
            var formFields = new FormFieldBuilder();

            if (model.FirstApplicant.RegisteredDisabled != null)
            {
                formFields
                .AddField("registereddisabled", model.FirstApplicant.RegisteredDisabled.GetValueOrDefault() ? "Yes" : "No");
            }
            if (model.FirstApplicant.Practitioner != null)
            {
                formFields
                .AddField("practitioner", model.FirstApplicant.Practitioner.GetValueOrDefault() ? "Yes" : "No");
            }

            if (model.SecondApplicant != null)
            {
                if (model.SecondApplicant.RegisteredDisabled != null)
                {
                    formFields
                    .AddField("registereddisabled2", model.SecondApplicant.RegisteredDisabled.GetValueOrDefault() ? "Yes" : "No");
                }
                if (model.SecondApplicant.Practitioner != null)
                {
                    formFields
                    .AddField("practitioner2", model.SecondApplicant.Practitioner.GetValueOrDefault() ? "Yes" : "No");
                }
            }

            formFields.AddField(EFosteringHomeVisitForm.YourHealth.GetFormStatusFieldName(), completed ? ETaskStatus.Completed.GetTaskStatus() : ETaskStatus.NotCompleted.GetTaskStatus());

            var response = await _verintServiceGateway.UpdateCaseIntegrationFormField(new IntegrationFormFieldsUpdateModel
            {
                CaseReference         = model.CaseReference,
                IntegrationFormFields = formFields.Build(),
                IntegrationFormName   = _integrationFormName
            });

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Update health-status failure");
            }

            return(completed ? ETaskStatus.Completed : ETaskStatus.NotCompleted);
        }
コード例 #16
0
ファイル: form.cs プロジェクト: ragdollKB/2dFighter
 public FormField(
     Key key = null,
     FormFieldBuilder <T> builder     = null,
     FormFieldSetter <T> onSaved      = null,
     FormFieldValidator <T> validator = null,
     T initialValue    = null,
     bool autovalidate = false,
     bool enabled      = true
     ) : base(key: key)
 {
     D.assert(builder != null);
     this.onSaved      = onSaved;
     this.validator    = validator;
     this.builder      = builder;
     this.initialValue = initialValue;
     this.autovalidate = autovalidate;
     this.enabled      = enabled;
 }
コード例 #17
0
        public async Task UpdateStatus(string caseId, ETaskStatus status, EFosteringApplicationForm form)
        {
            var fields = new FormFieldBuilder()
                         .AddField(form.GetFormStatusFieldName(), status.GetTaskStatus())
                         .Build();

            var response = await _verintServiceGateway.UpdateCaseIntegrationFormField(new IntegrationFormFieldsUpdateModel
            {
                CaseReference         = caseId,
                IntegrationFormName   = _applicationFormName,
                IntegrationFormFields = fields
            });

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception(
                          $"Application Service. UpdateStatus: Failed to update status. Verint service response: {response}");
            }
        }
コード例 #18
0
        public async Task <ETaskStatus> UpdateYourFosteringHistory(FosteringCaseYourFosteringHistoryUpdateModel model)
        {
            var formFields        = new FormFieldBuilder();
            var previouslyApplied = string.Empty;
            var isCompleted       = false;

            if (model.FirstApplicant.PreviouslyApplied != null)
            {
                previouslyApplied = model.FirstApplicant.PreviouslyApplied.GetValueOrDefault() ? "Yes" : "No";
                isCompleted       = true;
            }

            formFields.AddField("previouslyappliedapplicant1", previouslyApplied);

            if (model.SecondApplicant != null)
            {
                if (model.SecondApplicant.PreviouslyApplied != null)
                {
                    previouslyApplied = model.SecondApplicant.PreviouslyApplied.GetValueOrDefault() ? "Yes" : "No";
                }
                else
                {
                    isCompleted = false;
                }

                formFields.AddField("previouslyappliedapplicant2", previouslyApplied);
            }

            var currentStatus = isCompleted
                                ? ETaskStatus.Completed
                                : ETaskStatus.NotCompleted;

            var builtfields = formFields.AddField("yourfosteringhistorystatus", Enum.GetName(typeof(ETaskStatus), currentStatus)).Build();

            await _verintServiceGateway.UpdateCaseIntegrationFormField(new IntegrationFormFieldsUpdateModel
            {
                CaseReference         = model.CaseReference,
                IntegrationFormFields = builtfields,
                IntegrationFormName   = _integrationFormName
            });

            return(currentStatus);
        }
コード例 #19
0
        public async Task UpdateStatus(string caseId, ETaskStatus status, EFosteringHomeVisitForm form)
        {
            var formStatusFieldName = form.GetFormStatusFieldName();

            var formFields = new FormFieldBuilder()
                             .AddField(formStatusFieldName, status.GetTaskStatus());

            var updateModel = new IntegrationFormFieldsUpdateModel
            {
                IntegrationFormName   = _integrationFormName,
                CaseReference         = caseId,
                IntegrationFormFields = formFields.Build()
            };

            var response = await _verintServiceGateway
                           .UpdateCaseIntegrationFormField(updateModel);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Passive update-status failure");
            }
        }
コード例 #20
0
        public async Task <ETaskStatus> UpdateGpDetails(FosteringCaseGpDetailsUpdateModel model)
        {
            var firstApplicantFormFields = new FormFieldBuilder()
                                           .AddField("nameofgp", model.FirstApplicant.NameOfGp)
                                           .AddField("nameofpractice", model.FirstApplicant.NameOfGpPractice)
                                           .AddField("gpphonenumber", model.FirstApplicant.GpPhoneNumber)
                                           .AddField(EFosteringApplicationForm.GpDetails.GetFormStatusFieldName(), ETaskStatus.Completed.GetTaskStatus())
                                           .Build();

            firstApplicantFormFields.AddRange(AddressMapper.MapToVerintAddress(model.FirstApplicant.GpAddress, "addressofpractice", "placerefofpractice", "postcodeofpractice"));

            var secondApplicantFormFields = new List <IntegrationFormField>();

            if (model.SecondApplicant != null)
            {
                secondApplicantFormFields = new FormFieldBuilder()
                                            .AddField("nameofgp2", model.SecondApplicant.NameOfGp)
                                            .AddField("nameofpractice2", model.SecondApplicant.NameOfGpPractice)
                                            .AddField("gpphonenumber2", model.SecondApplicant.GpPhoneNumber)
                                            .Build();
                secondApplicantFormFields.AddRange(AddressMapper.MapToVerintAddress(model.SecondApplicant.GpAddress, "addressofpractice2", "placerefofpractice2", "postcodeofpractice2"));
            }

            var result = await _verintServiceGateway.UpdateCaseIntegrationFormField(new IntegrationFormFieldsUpdateModel
            {
                CaseReference         = model.CaseReference,
                IntegrationFormFields = firstApplicantFormFields.Concat(secondApplicantFormFields).ToList(),
                IntegrationFormName   = _applicationFormName
            });

            if (result.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Update Gp details failure");
            }

            return(ETaskStatus.Completed);
        }
コード例 #21
0
        public async Task <ETaskStatus> UpdatePartnershipStatus(FosteringCasePartnershipStatusUpdateModel model)
        {
            var marriedOrInACivilPartnership = string.Empty;

            if (model.MarriedOrInACivilPartnership != null)
            {
                marriedOrInACivilPartnership = model.MarriedOrInACivilPartnership.GetValueOrDefault() ? "Yes" : "No";
            }

            var completed = model.MarriedOrInACivilPartnership != null &&
                            (!model.MarriedOrInACivilPartnership.GetValueOrDefault() || model.DateOfMarriage != null) &&
                            (model.MarriedOrInACivilPartnership.GetValueOrDefault() || model.DateMovedInTogether != null);

            var formFields = new FormFieldBuilder()
                             .AddField("datesetuphousehold",
                                       model.DateMovedInTogether == null
                        ? string.Empty
                        : model.DateMovedInTogether.GetValueOrDefault().ToString("dd/MM/yyyy"))
                             .AddField("dateofreg",
                                       model.DateOfMarriage == null
                        ? string.Empty
                        : model.DateOfMarriage.GetValueOrDefault().ToString("dd/MM/yyyy"))
                             .AddField("marriedorinacivilpartnership", marriedOrInACivilPartnership)
                             .AddField(EFosteringHomeVisitForm.YourPartnership.GetFormStatusFieldName(), completed ? ETaskStatus.Completed.GetTaskStatus() : ETaskStatus.NotCompleted.GetTaskStatus())
                             .Build();


            await _verintServiceGateway.UpdateCaseIntegrationFormField(new IntegrationFormFieldsUpdateModel
            {
                CaseReference         = model.CaseReference,
                IntegrationFormFields = formFields,
                IntegrationFormName   = _integrationFormName
            });

            return(completed ? ETaskStatus.Completed : ETaskStatus.NotCompleted);
        }
コード例 #22
0
        private void CreateAddressHistoryIntegratedFormFields(FormFieldBuilder builder,
                                                              List <PreviousAddress> model, bool secondApplicant = false)
        {
            var applicantSuffix = secondApplicant ? "2" : "1";

            builder
            .AddField($"currentdatefrommonthapplicant{applicantSuffix}", model[0].DateFrom?.Month.ToString() ?? string.Empty)
            .AddField($"currentdatefromyearapplicant{applicantSuffix}", model[0].DateFrom?.Year.ToString() ?? string.Empty);

            if (model.Count > 1)
            {
                for (var i = 1; i < model.Count; i++)
                {
                    builder
                    .AddField($"pa{i}applicant{applicantSuffix}",
                              model[i].Address.AddressLine1 + "|" + model[i].Address.AddressLine2 + "|" +
                              model[i].Address.Town + "|" + model[i].Address.County + "|" + model[i].Address.Country)
                    .AddField($"pa{i}postcodeapplicant{applicantSuffix}",
                              model[i].Address.Postcode ?? string.Empty)
                    .AddField($"pa{i}datefrommonthapplicant{applicantSuffix}", model[i].DateFrom?.Month.ToString() ?? string.Empty)
                    .AddField($"pa{i}datefromyearapplicant{applicantSuffix}", model[i].DateFrom?.Year.ToString() ?? string.Empty);

                    if (i == 8)
                    {
                        break;
                    }
                }
            }

            if (model.Count < 8)
            {
                for (int i = model.Count; i < 9; i++)
                {
                    builder
                    .AddField($"pa{i}applicant{applicantSuffix}", string.Empty)
                    .AddField($"pa{i}postcodeapplicant{applicantSuffix}", string.Empty)
                    .AddField($"pa{i}datefrommonthapplicant{applicantSuffix}", string.Empty)
                    .AddField($"pa{i}datefromyearapplicant{applicantSuffix}", string.Empty);
                }
            }

            if (model.Count > 8)
            {
                var additionalAddress = string.Empty;
                for (var i = 9; i < model.Count; i++)
                {
                    additionalAddress += model[i].Address.AddressLine1 + "|" + model[i].Address.AddressLine2 + "|" +
                                         model[i].Address.Town + "|" + model[i].Address.County + "|" +
                                         model[i].Address.Country + "|" + model[i].Address.Postcode + "|" +
                                         model[i].DateFrom?.Month + "|" + model[i].DateFrom?.Year;

                    additionalAddress += (i == model.Count - 1) ? string.Empty : "—";
                }
                builder
                .AddField($"addressadditionalinformation{applicantSuffix}", additionalAddress);
            }
            else
            {
                builder
                .AddField($"addressadditionalinformation{applicantSuffix}", "");
            }
        }
コード例 #23
0
ファイル: TextBoxRender.cs プロジェクト: liuyanchen1994/Util
 /// <summary>
 /// 添加验证操作
 /// </summary>
 private void AddValidations(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder)
 {
     AddRequired(formFieldBuilder, inputBuilder);
     AddMinLength(formFieldBuilder, inputBuilder);
 }
コード例 #24
0
        public async Task <ETaskStatus> UpdateYourEmploymentDetails(FosteringCaseYourEmploymentDetailsUpdateModel model)
        {
            var formFields = new FormFieldBuilder();
            var completed  = UpdateAboutEmploymentIsCompleted(model.FirstApplicant);

            if (model.FirstApplicant.AreYouEmployed != null)
            {
                formFields
                .AddField("employed", model.FirstApplicant.AreYouEmployed.Value ? "Yes" : "No")
                .AddField("jobtitle", model.FirstApplicant.JobTitle)
                .AddField("currentemployer", model.FirstApplicant.CurrentEmployer)
                .AddField("hoursofwork",
                          Enum.GetName(typeof(EHoursOfWork), model.FirstApplicant.CurrentHoursOfWork));
            }
            else
            {
                formFields
                .AddField("jobtitle", string.Empty)
                .AddField("currentemployer", string.Empty)
                .AddField("hoursofwork",
                          Enum.GetName(typeof(EHoursOfWork), 0));
            }

            if (model.SecondApplicant != null)
            {
                if (model.SecondApplicant.AreYouEmployed != null)
                {
                    formFields
                    .AddField("employed2", model.SecondApplicant.AreYouEmployed.Value ? "Yes" : "No")
                    .AddField("jobtitle2", model.SecondApplicant.JobTitle)
                    .AddField("currentemployer2", model.SecondApplicant.CurrentEmployer)
                    .AddField("hoursofwork2",
                              Enum.GetName(typeof(EHoursOfWork), model.SecondApplicant.CurrentHoursOfWork));
                }
                else
                {
                    formFields
                    .AddField("jobtitle2", string.Empty)
                    .AddField("currentemployer2", string.Empty)
                    .AddField("hoursofwork2",
                              Enum.GetName(typeof(EHoursOfWork), 0));
                }

                completed = completed && UpdateAboutEmploymentIsCompleted(model.SecondApplicant);
            }

            formFields.AddField(EFosteringHomeVisitForm.YourEmploymentDetails.GetFormStatusFieldName(),
                                completed ? ETaskStatus.Completed.GetTaskStatus() : ETaskStatus.NotCompleted.GetTaskStatus());

            var updateModel = new IntegrationFormFieldsUpdateModel
            {
                IntegrationFormName   = _integrationFormName,
                CaseReference         = model.CaseReference,
                IntegrationFormFields = formFields.Build()
            };

            var response = await _verintServiceGateway
                           .UpdateCaseIntegrationFormField(updateModel);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Update about-your employment details failure");
            }

            return(completed ? ETaskStatus.Completed : ETaskStatus.NotCompleted);
        }