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(); }
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(); }
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); }
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); }
public void DeleteEntity(DeliveryPurchase deliveryPurchase) { _deliveryPurchases.Remove(deliveryPurchase); }
public async Task <bool> EntityExist(DeliveryPurchase deliveryPurchase) { return(await _deliveryPurchases.AnyAsync(dp => dp.Delivery.Id == deliveryPurchase.Delivery.Id && dp.Purchase.Id == deliveryPurchase.Purchase.Id)); }