public DeliveryPurchaseViewModel(DeliveryPurchase deliveryPurchase)
 {
     Address       = deliveryPurchase.Address;
     TimeFrom      = deliveryPurchase.TimeFrom;
     TimeTo        = deliveryPurchase.TimeTo;
     Notes         = deliveryPurchase.Notes;
     Id            = deliveryPurchase.Purchase.Id;
     Contacts      = deliveryPurchase.Contacts.ToList();
     PurchaseUnits = deliveryPurchase.Delivery?.PurchaseUnits.Select(pu => new PurchaseUnitViewModel(pu)).ToList() ??
                     deliveryPurchase.Purchase?.PurchaseUnits.Select(pu => new PurchaseUnitViewModel(pu)).ToList();
 }
Пример #2
0
 public PurchaseDeliveryViewModel(DeliveryPurchase deliveryPurchase)
 {
     Contacts              = deliveryPurchase.Contacts?.Select(c => new ContactViewModel(c)).ToList();
     Address               = deliveryPurchase.Address;
     TimeFrom              = deliveryPurchase.TimeFrom;
     TimeTo                = deliveryPurchase.TimeTo;
     Notes                 = deliveryPurchase.Notes;
     Date                  = deliveryPurchase.Date;
     DeliveryId            = deliveryPurchase.Delivery?.Id;
     Driver                = deliveryPurchase.Delivery?.Driver != null ? new NameId(deliveryPurchase.Delivery.Driver) : null;
     DeliveryPurchaseUnits = deliveryPurchase.Delivery?.PurchaseUnits.Select(pu => new PurchaseUnitViewModel(pu)).ToList();
 }
Пример #3
0
        public void Create(PurchaseViewModel purchaseViewModel)
        {
            var purchase = new Purchase()
            {
                Date        = purchaseViewModel.Date,
                CreatedDate = DateTime.Now,
                UpdatedDate = DateTime.Now
            };

            purchase.PurchaseUnits = CreatePurchaseUnits(purchaseViewModel.PurchaseUnits, purchase);

            var deliveryPurchases = new List <DeliveryPurchase>(purchaseViewModel.Deliveries.Count);

            foreach (var delVm in purchaseViewModel.Deliveries)
            {
                var delivery = _deliveriesService.GetEntityById(delVm.DeliveryId);
                var contacts = new List <Contact>(delVm.Contacts.Count);
                foreach (var contact in delVm.Contacts)
                {
                    contacts.Add(new Contact {
                        Name = contact.Name, Phone = contact.Phone
                    });
                }

                var dPurchase = new DeliveryPurchase()
                {
                    Contacts = contacts,
                    Address  = delVm.Address,
                    Date     = delVm.Date.Value,
                    Purchase = purchase,
                    TimeFrom = delVm.TimeFrom,
                    TimeTo   = delVm.TimeTo,
                    Notes    = delVm.Notes
                };

                if (delivery != null)
                {
                    dPurchase.Delivery = delivery;
                }

                deliveryPurchases.Add(dPurchase);
            }

            purchase.DeliveryPurchases = deliveryPurchases;

            _service.CreateEntity(purchase);
        }
Пример #4
0
        private List <DeliveryPurchase> CreateDeliveryPurchases(List <PurchaseDeliveryViewModel> purchaseDeliveryVM, Purchase purchase)
        {
            var deliveryPurchases = new List <DeliveryPurchase>(purchaseDeliveryVM.Count);
            var dPurchases        = _deliveryPurchasesService.GetDeliveryPurchasesByPurchaseId(purchase.Id);

            _deliveryPurchasesService.DeleteEntityRange(dPurchases);

            foreach (var delVm in purchaseDeliveryVM)
            {
                var contacts = new List <Contact>(delVm.Contacts.Count);
                foreach (var contact in delVm.Contacts)
                {
                    contacts.Add(new Contact {
                        Name = contact.Name, Phone = contact.Phone
                    });
                }

                var delPurch = new DeliveryPurchase()
                {
                    Address  = delVm.Address,
                    Date     = delVm.Date.Value,
                    Purchase = purchase,
                    Contacts = contacts,
                    TimeFrom = delVm.TimeFrom,
                    TimeTo   = delVm.TimeTo,
                    Notes    = delVm.Notes
                };

                var delivery = delVm.DeliveryId != null?_deliveriesService.GetEntityById(delVm.DeliveryId) : null;

                if (delivery != null)
                {
                    delPurch.Delivery = delivery;
                }

                deliveryPurchases.Add(delPurch);
            }

            return(deliveryPurchases);
        }
Пример #5
0
 public void DeleteEntity(DeliveryPurchase deliveryPurchase)
 {
     _deliveryPurchases.Remove(deliveryPurchase);
 }
Пример #6
0
 public async Task <bool> EntityExist(DeliveryPurchase deliveryPurchase)
 {
     return(await _deliveryPurchases.AnyAsync(dp => dp.Delivery.Id == deliveryPurchase.Delivery.Id &&
                                              dp.Purchase.Id == deliveryPurchase.Purchase.Id));
 }