public async Task HandleAsync_GivenGetSentOnAatfSiteRequest_DataAccessIsCalled()
        {
            var aatfId   = Guid.NewGuid();
            var returnId = Guid.NewGuid();

            await handler.HandleAsync(new GetWeeeSentOn(aatfId, returnId, null));

            A.CallTo(() => getSentOnAatfSiteDataAccess.GetWeeeSentOnByReturnAndAatf(aatfId, returnId)).MustHaveHappened(Repeated.Exactly.Once);
        }
示例#2
0
        public async Task <List <WeeeSentOnData> > HandleAsync(GetWeeeSentOn message)
        {
            authorization.EnsureCanAccessExternalArea();

            var weeeSentOnList = new List <WeeeSentOnData>();
            var weeeSentOn     = await getSentOnAatfSiteDataAccess.GetWeeeSentOnByReturnAndAatf(message.AatfId, message.ReturnId);

            foreach (var item in weeeSentOn)
            {
                var amount = await fetchWeeeSentOnAmountDataAccess.FetchObligatedWeeeSentOnForReturn(item.Id);

                var weeeSentOnObligatedData = amount.Select(n => new WeeeObligatedData(n.Id, new AatfData(n.WeeeSentOn.Aatf.Id, n.WeeeSentOn.Aatf.Name, n.WeeeSentOn.Aatf.ApprovalNumber, n.WeeeSentOn.Aatf.ComplianceYear), n.CategoryId, n.NonHouseholdTonnage, n.HouseholdTonnage)).ToList();

                var weeeSentOnData = new WeeeSentOnData()
                {
                    SiteAddress   = addressMapper.Map(item.SiteAddress),
                    Tonnages      = weeeSentOnObligatedData,
                    WeeeSentOnId  = item.Id,
                    SiteAddressId = item.SiteAddress.Id
                };

                if (item.OperatorAddress != null)
                {
                    weeeSentOnData.OperatorAddress   = addressMapper.Map(item.OperatorAddress);
                    weeeSentOnData.OperatorAddressId = item.OperatorAddress.Id;
                }

                weeeSentOnList.Add(weeeSentOnData);
            }

            if (message.WeeeSentOnId != null)
            {
                var weeeSentOnListFiltered = new List <WeeeSentOnData>();
                var weeeSentOnSelected     = weeeSentOnList.Where(w => w.WeeeSentOnId == message.WeeeSentOnId).Select(w => w).SingleOrDefault();
                weeeSentOnListFiltered.Add(weeeSentOnSelected);
                return(weeeSentOnListFiltered);
            }

            return(weeeSentOnList);
        }