public void SimulateRoute() { //Shows loading panel IsLoading = true; try { if (!ViewSettings.CanShowFilterDate()) { RouteSimulators.Clear(); var listByXml = UnitOfWork.GetManifestDetailByXML(GetXmlOfSelectedManifests()); if (0 >= listByXml.Count) { return; } ReadXmlAsync(listByXml[0]); } else { RouteSimulators.Clear(); var listInputByXml = UnitOfWork.GetManifestDetailByListId(ListManifest); if (0 >= listInputByXml.Count) { return; } ReadXmlAsync(listInputByXml[0]); } } catch (Exception ex) { MessageBoxService.ShowMessage(GetStringValue(Next.Enums.Enums.MessageError.OperationError) + ex.Message, ex.Message, MessageButton.OK, MessageIcon.Error); IsLoading = false; } }
public XElement GetXmlOfSelectedManifests() { IsLoading = true; RouteSimulators.Clear(); XElement xml = new XElement("DATA", SelectedManifests.Select(i => new XElement("MANIFEST", new XElement("ID", i.manifestId), new XElement("EXTERNAL_MANIFEST_ID", i.externalManifestId), new XElement("IS_EXTERNAL", i.isExternal) ))); return(xml); }
public async Task ReadXmlAsync(ListManifestByVehicleXmlResource element) { XDocument xml = XDocument.Parse(element.resultXML.ToString()); foreach (var item in xml.Descendants("Vehicle")) { var response = item; var attr = response.Attribute("Id"); List <DetailManifestsByXMLResource> listByXmlDetail = new List <DetailManifestsByXMLResource>(); List <RouteSimulatorDetail> contentDetail = new List <RouteSimulatorDetail>(); foreach (var item2 in response.Elements("Manifest")) { DetailManifestsByXMLResource detailXmlByVehicle = new DetailManifestsByXMLResource() { Address = item2.Element("Address").Value, ClientCode = item2.Element("ClientCode").Value, ClientName = item2.Element("ClientName").Value, ExternalManifestId = Convert.ToInt32(item2.Element("ExternalManifestId").Value), Id = Convert.ToInt32(item2.Element("id").Value), Latitude = decimal.Parse(item2.Element("Latitude").Value), Longitude = decimal.Parse(item2.Element("Longitude").Value), ManifestId = Convert.ToInt32(item2.Element("ManifestId").Value), Order = item2.Element("Order").Value, OrderCost = Convert.ToDecimal(item2.Element("OrderCost").Value), OrderPrice = Convert.ToDecimal(item2.Element("OrderPrice").Value), TotalDistributionCost = Convert.ToDecimal(item2.Element("TotalDistributionCost").Value), TotalVolume = Convert.ToDecimal(item2.Element("TotalVolume").Value), TotalWeight = Convert.ToDecimal(item2.Element("TotalWeight").Value), VehicleId = Convert.ToInt32(item2.Element("VehicleId").Value), }; listByXmlDetail.Add(detailXmlByVehicle); } if (listByXmlDetail.Count > 0) { contentDetail = await SimulateManifests(listByXmlDetail); contentDetail.ForEach(x => { RouteSimulators.Add(x); }); } } }
//{ // if (!ViewSettings.CanShowFilterDate()) // { // RouteSimulators.Clear(); // XElement xml = new XElement("DATA", SelectedManifests.Select(i => new XElement("MANIFEST", // new XElement("ID", i.manifestId), // new XElement("EXTERNAL_MANIFEST_ID", i.externalManifestId), // new XElement("IS_EXTERNAL", i.isExternal) // ))); // SimulatorDetails = UnitOfWork.GetManifestDetailByXML(xml); // SimulateManifests(); // } // else // { // SimulatorDetails = UnitOfWork.GetManifestDetailByListId(ListManifest); // SimulateManifests(); // } //} public void SaveAndCloseEntity() { try { if (RouteSimulators.Count <= 0) { return; } Entity.CreatedDate = DateTime.Now; Entity.QuantityDelivery = SelectedManifests.Count(); Entity.QuantityManifest = RouteSimulators.Select(x => x.ManifestId).Distinct().Count(); Entity.DistanceToTravel = RouteSimulators.Sum(x => x.DistanceToTravel).Value; Entity.QuantityVehicles = RouteSimulators.Select(x => x.VehicleId).Distinct().Count(); base.SaveAndClose(); } catch (Exception ex) { MessageBoxService.ShowMessage(GetStringValue(Next.Enums.Enums.MessageError.SaveError) + ex.Message, ex.Message, MessageButton.OK, MessageIcon.Error); } }