Ejemplo n.º 1
0
        public override void Complete()
        {
            if (!LockedDate.HasValue)
            {
                throw new Exception("Shipping Sheet Needs To Be Locked First");
            }

            CompletedDate = DateTime.Now;

            var enquiries = ProcessDeliverings.Select(x => x.Enquiry).ToList();

            foreach (var enquiry in enquiries)
            {
                enquiry.CompleteDelivering();

                if (!enquiries.Any(x => x.Id != enquiry.Id &&
                                   x.CustomerId == enquiry.CustomerId &&
                                   x.FullDeliveryAddress.Equals(enquiry.FullDeliveryAddress) &&
                                   x.DeliveryFee > 0))
                {
                    continue;
                }

                if (!enquiry.HasBeenInvoiced)
                {
                    enquiry.RemoveDeliveryFee();
                }
            }
        }
Ejemplo n.º 2
0
        public override void Complete()
        {
            LockedDate    = DateTime.Now;
            CompletedDate = DateTime.Now;

            var enquiries = ProcessDeliverings.Select(x => x.Enquiry).ToList();

            foreach (var enquiry in enquiries)
            {
                enquiry.CompleteDelivering();
            }
        }