private async Task <List <DCReceivedResultDtos> > ConvertToResultAsync(List <Container> containers)
        {
            List <DCReceivedResultDtos> result = new List <DCReceivedResultDtos>();

            foreach (var item in containers)
            {
                DCReceivedResultDtos output  = new DCReceivedResultDtos();
                List <DCBooking>     booking = await _dcBookingRepository.Query(x => x.ContainerId == item.Id, false).SelectAsync();

                List <DCConfirmation> confirmation = await _dcRecievedRepository.Query(x => x.ContainerId == item.Id, false).SelectAsync();

                output.ContainerId   = item.Id;
                output.ContainerName = item.Name;

                output.DC          = booking[0].DistributionCenter;
                output.Haulier     = booking[0].Haulier;
                output.BookingDate = booking[0].BookingDate;
                output.BookingTime = booking[0].BookingTime;
                output.BookingRef  = booking[0].BookingRef;

                if (item.Status == ContainerStatus.Delivered)
                {
                    output.DeliveryDate = confirmation[0].DeliveryDate;
                    output.DeliveryTime = confirmation[0].DeliveryTime;
                }

                output.Status            = item.Status;
                output.StatusDescription = item.Status.GetDescription <ContainerStatus>();

                result.Add(output);
            }

            return(result);
        }
        public async Task <DCReceivedResultDtos> CreateOrUpdateCAAsync(DCReceivedResultDtos input)
        {
            DCConfirmation entity = await GetDCConfirmationbyContainerId(input.ContainerId);

            if (entity != null)
            {
                entity.DeliveryDate = input.DeliveryDate;
                entity.DeliveryTime = input.DeliveryTime;

                _dcRecievedRepository.Update(entity);
            }
            else
            {
                entity = Mapper.Map <DCConfirmation>(input);

                _dcRecievedRepository.Insert(entity);
            }

            await UpdateContainer(input.ContainerId);

            await UnitOfWork.SaveChangesAsync();

            return(Mapper.Map <DCReceivedResultDtos>(entity));
        }