public async void IndexGet_GivenReturn_ViewModelShouldBeBuilt() { var returnId = Guid.NewGuid(); var aatfId = Guid.NewGuid(); var aatfName = "Test Aatf"; var aatfData = A.Fake <AatfData>(); var schemeId = Guid.NewGuid(); var schemeName = "Test Scheme"; var schemeInfo = A.Fake <SchemePublicInfo>(); var organisationId = Guid.NewGuid(); var @return = A.Fake <ReturnData>(); A.CallTo(() => @return.OrganisationData.Id).Returns(organisationId); A.CallTo(() => schemeInfo.Name).Returns(schemeName); A.CallTo(() => cache.FetchSchemePublicInfoBySchemeId(schemeId)).Returns(schemeInfo); A.CallTo(() => aatfData.Name).Returns(aatfName); A.CallTo(() => cache.FetchAatfData(@return.OrganisationData.Id, aatfId)).Returns(aatfData); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetReturn> .That.Matches(r => r.ReturnId.Equals(returnId)))).Returns(@return); var result = await controller.Index(returnId, aatfId, schemeId, ObligatedType.Received) as ViewResult; var viewModel = result.Model as ObligatedValuesCopyPasteViewModel; viewModel.AatfId.Should().Be(aatfId); viewModel.AatfName.Should().Be(aatfName); viewModel.OrganisationId.Should().Be(organisationId); viewModel.ReturnId.Should().Be(returnId); viewModel.SchemeId.Should().Be(schemeId); viewModel.SchemeName.Should().Be(schemeName); }
public virtual async Task <ActionResult> Index(Guid returnId, Guid aatfId, Guid schemeId, ObligatedType obligatedType) { using (var client = apiClient()) { var @return = await client.SendAsync(User.GetAccessToken(), new GetReturn(returnId, false)); var viewModel = new ObligatedValuesCopyPasteViewModel() { AatfId = aatfId, ReturnId = returnId, OrganisationId = @return.OrganisationData.Id, AatfName = (await cache.FetchAatfData(@return.OrganisationData.Id, aatfId)).Name, Type = obligatedType }; if (obligatedType == ObligatedType.Received) { viewModel.SchemeId = schemeId; viewModel.SchemeName = Task.Run(() => cache.FetchSchemePublicInfoBySchemeId(schemeId)).Result.Name; } await SetBreadcrumb(@return.OrganisationData.Id, BreadCrumbConstant.AatfReturn, aatfId, DisplayHelper.YearQuarterPeriodFormat(@return.Quarter, @return.QuarterWindow)); return(View(viewModel)); } }
public void Map_GivenOrganisationId_CachedSchemeNameShouldBeSet() { const string expected = "scheme"; var schemeData = A.Fake <SchemePublicInfo>(); A.CallTo(() => schemeData.Name).Returns(expected); var transfer = new ReturnToObligatedViewModelMapTransfer() { SchemeId = Guid.NewGuid() }; A.CallTo(() => cache.FetchSchemePublicInfoBySchemeId(transfer.SchemeId)).Returns(schemeData); var result = mapper.Map(transfer); result.SchemeName.Should().Be(expected); }
public ObligatedViewModel Map(ReturnToObligatedViewModelMapTransfer source) { Guard.ArgumentNotNull(() => source, source); var model = new ObligatedViewModel(new ObligatedCategoryValues(), calculator) { SchemeName = (source.SchemeId != new Guid()) ? Task.Run(() => cache.FetchSchemePublicInfoBySchemeId(source.SchemeId)).Result.Name : null, AatfName = Task.Run(() => cache.FetchAatfData(source.OrganisationId, source.AatfId)).Result.Name, AatfId = source.AatfId, OrganisationId = source.OrganisationId, ReturnId = source.ReturnId, SchemeId = source.SchemeId }; var transfer = new ObligatedDataToObligatedValueMapTransfer() { ObligatedCategoryValues = model.CategoryValues }; var existingData = new List <ObligatedCategoryValue>(); if (source.WeeeSentOnId != null) { model.WeeeSentOnId = source.WeeeSentOnId; } if (source.SchemeId != new Guid()) { transfer.WeeeDataValues = source.ReturnData.ObligatedWeeeReceivedData.Where(w => w.Aatf.Id == source.AatfId && w.Scheme.Id == source.SchemeId).ToList(); existingData = obligatedMap.Map(transfer).ToList(); } else if (source.SiteName != null) { transfer.WeeeDataValues = source.ReturnData.ObligatedWeeeSentOnData.Where(w => w.WeeeSentOnId == source.WeeeSentOnId).ToList(); existingData = obligatedMap.Map(transfer).ToList(); } else { transfer.WeeeDataValues = source.ReturnData.ObligatedWeeeReusedData.Where(w => w.Aatf.Id == source.AatfId).ToList(); existingData = obligatedMap.Map(transfer).ToList(); } if (source.SiteName != null) { model.SiteName = source.SiteName; } if (source.PastedData != null) { var obligatedPastedValues = new ObligatedPastedValues { B2B = pasteProcessor.BuildModel(source.PastedData.B2B), B2C = pasteProcessor.BuildModel(source.PastedData.B2C) }; model.CategoryValues = pasteProcessor.ParseObligatedPastedValues(obligatedPastedValues, existingData); } else { model.CategoryValues = existingData; } return(model); }