public void FromAddress() { if (SelectedDeliveryLine != null && SelectedDeliveryLine.FromAddress != null) { var fromAddr = new AddressDTO { Country = "Ethiopia", City = "Addis Abeba" }; fromAddr = MapperUtility <AddressDTO> .GetMap(SelectedDeliveryLine.FromAddress, fromAddr) as AddressDTO; if (fromAddr != null) { fromAddr.Id = 0; var addr = new AddressEntry(fromAddr); addr.ShowDialog(); var dialogueResult = addr.DialogResult; if (dialogueResult != null && (bool)dialogueResult) { SelectedDeliveryLine.FromAddress = fromAddr; FromAdressDetail = new ObservableCollection <AddressDTO> { fromAddr }; } } } }
public void ToAddress() { if (SelectedDeliveryLine != null) { var toAddr = new AddressDTO { Country = "Ethiopia", City = "Addis Abeba" }; if (SelectedDeliveryLine.ToAddress != null) { toAddr = MapperUtility <AddressDTO> .GetMap(SelectedDeliveryLine.ToAddress, toAddr) as AddressDTO; } if (toAddr != null) { var addr = new AddressEntry(toAddr); addr.ShowDialog(); var dialogueResult = addr.DialogResult; if (dialogueResult != null && (bool)dialogueResult) { SelectedDeliveryLine.ToAddress = toAddr; ToAdressDetail = new ObservableCollection <AddressDTO> { toAddr }; } } } }
private void SaveDeliveryLine(object obj) { try { SelectedDeliveryRoute.AssignedToStaffId = SelectedStaff.Id; if (SelectedVehicle != null) { SelectedDeliveryRoute.VehicleId = SelectedVehicle.Id; } SelectedDeliveryRoute.FromAddressId = SelectedCompany.AddressId; SelectedDeliveryRoute.ToAddressId = SelectedDelivery.OrderByClient.AddressId; _deliveryService.InsertOrUpdateDeliveryRouteChild(SelectedDeliveryRoute); var delivery = _deliveryService.Find(SelectedDelivery.Id.ToString()); delivery.DeliverDirectly = DeliverDirectly; delivery.Status = DeliveryStatusTypes.AcceptanceScheduled; if (SelectedDeliveryRoute.StartedTime != null) { delivery.Status = DeliveryStatusTypes.OnAcceptance; } if (SelectedDeliveryRoute.StartedTime != null && SelectedDeliveryRoute.EndedTime != null) { delivery.Status = DeliveryStatusTypes.Accepted; } _deliveryService.InsertOrUpdate(delivery); //Create Delivery Route for each Line var delLines = SelectedDelivery.DeliveryLines.Where( d => d.DeliveryType == DeliveryLineRouteTypes.Delivering).ToList(); foreach (var deliveryLineDTO in delLines) { var delRoute = _deliveryService.GetDeliveryRouteChilds(deliveryLineDTO.Id, false).FirstOrDefault(); if (DeliverDirectly && delRoute == null) { delRoute = new DeliveryRouteDTO(); delRoute = (DeliveryRouteDTO)MapperUtility <DeliveryRouteDTO> .GetMap(SelectedDeliveryRoute, delRoute); delRoute.DeliveryType = DeliveryLineRouteTypes.Delivering; delRoute.DeliveryLine = null; delRoute.DeliveryLineId = deliveryLineDTO.Id; delRoute.FromAddressId = SelectedDelivery.OrderByClient.AddressId; delRoute.StartedTime = null; delRoute.EndedTime = null; delRoute.Id = 0; _deliveryService.InsertOrUpdateDeliveryRouteChild(delRoute); } if (delRoute != null && !DeliverDirectly) { delRoute.Enabled = false; _deliveryService.InsertOrUpdateDeliveryRouteChild(delRoute); } } CloseWindow(obj); } catch (Exception exception) { MessageBox.Show("Can't save" + Environment.NewLine + exception.Message, "Can't save", MessageBoxButton.OK, MessageBoxImage.Error); } }