Пример #1
0
 private static void AssertResults(AatfData aatfData, CopyFacilityViewModelBase result)
 {
     Assert.Equal(aatfData.Id, result.Id);
     Assert.Equal(aatfData.Name, result.Name);
     Assert.Equal(aatfData.ApprovalNumber, result.ApprovalNumber);
     Assert.Equal(aatfData.AatfStatus.Value, result.StatusValue);
     Assert.Equal(aatfData.SiteAddress, result.SiteAddressData);
     Assert.Equal(aatfData.Size.Value, result.SizeValue);
     Assert.Equal(aatfData.Contact, result.ContactData);
     Assert.Equal(aatfData.Organisation.Id, result.OrganisationId);
     Assert.Equal(aatfData.FacilityType, result.FacilityType);
 }
Пример #2
0
        private async Task <ActionResult> CopyFacilityDetails(CopyFacilityViewModelBase viewModel)
        {
            PreventSiteAddressNameValidationErrors();
            SetBreadcrumb(viewModel.FacilityType, viewModel.Name);
            viewModel = await PopulateViewModelLists(viewModel);

            using (var client = apiClient())
            {
                if (!ModelState.IsValid)
                {
                    if (!viewModel.ModelValidated)
                    {
                        ModelState.RunCustomValidation(viewModel);
                    }

                    ModelState.ApplyCustomValidationSummaryOrdering(CopyFacilityViewModelBase.ValidationMessageDisplayOrder);
                    return(View("Copy", viewModel));
                }

                var result = await validationWrapper.ValidateByYear(User.GetAccessToken(), viewModel, viewModel.ComplianceYear);

                if (!result.IsValid)
                {
                    ModelState.AddModelError("ApprovalNumber", Constants.ApprovalNumberExistsForCYError);
                    return(View("Copy", viewModel));
                }

                if (ModelState.IsValid)
                {
                    var request = new AddAatf()
                    {
                        Aatf           = AatfHelper.CreateFacilityData(viewModel),
                        OrganisationId = viewModel.OrganisationId,
                        AatfId         = viewModel.AatfId,
                        AatfContact    = viewModel.ContactData
                    };

                    await client.SendAsync(User.GetAccessToken(), request);

                    await cache.InvalidateAatfCache(request.OrganisationId);
                }

                return(RedirectToAction("ManageAatfs", "Aatf", new { viewModel.FacilityType }));
            }
        }