public List <Document> GetDocsFromDates(Login login, ref DocParameters docParameters) { IWS.ServiceSoapClient IWSService = InitWS(login); IWS.DateTimeRangeSelection dtRange = new IWS.DateTimeRangeSelection(); List <Document> documents = new List <Document>(); dtRange.StartDate = docParameters.FromDate; dtRange.EndDate = docParameters.ToDate; IWS.ScannedDocumentsSelection_V2 docsSel = new IWS.ScannedDocumentsSelection_V2() { SelectionDateRange = dtRange }; IWS.ScannedDocumentSelection docSel = new IWS.ScannedDocumentSelection(); IWS.GetScannedDocuments_V2 getScannedDocumentsResult = IWSService.Get_Scanned_Documents_V2(iwsLogin(login), docsSel); if (getScannedDocumentsResult.Documents != null) { foreach (IWS.Document_V3 doc in getScannedDocumentsResult.Documents) { docSel.ScanID = Convert.ToInt32(doc.ScanID.Value); docSel.ConvertToPdf = true; Int64 ModificationCounter = doc.ModificationID; IWS.GetScannedDocument getScannedDocumentResult = IWSService.Get_Scanned_Document(iwsLogin(login), docSel); int i = 0; foreach (IWS.DocumentResult document in getScannedDocumentResult.Documents) { i++; string placeid = ""; string doctype = ""; if (doc.Place != null) { placeid = doc.Place.PlaceID.ToString(); } if (doc.TypeDoc != null) { doctype = doc.TypeDoc.ToString(); } Document thisdoc = new Document(); thisdoc.ScanID = doc.ScanID.ToString(); thisdoc.SequenceID = i.ToString(); thisdoc.VehicleID = doc.Vehicle.ID.ToString(); if (doc.Driver != null) { thisdoc.DriverID = doc.Driver.ID.ToString(); } thisdoc.PlaceID = placeid; thisdoc.Comment = doc.Comment; thisdoc.DocumentType = doctype; thisdoc.ID = doc.SerialNumber; thisdoc.DocumentID = ModificationCounter; DateTime dt = new DateTime(0, DateTimeKind.Utc); dt = Convert.ToDateTime(doc.CreationDate); dt.ToLocalTime(); thisdoc.CreatedDateTime = dt.ToString(); MemoryStream stream = new MemoryStream(Convert.FromBase64String(document.Document1)); thisdoc.Doc = stream; documents.Add(thisdoc); } } } string strError = handleError(getScannedDocumentsResult); if (strError != null) { docParameters.ErrorMessage = strError; } return(documents); }
public string GetPlanning(Login login, ref Planning planning, string FromDate, ref string ToDate, bool Init) { IWS.ServiceSoapClient IWSService = InitWS(login); IWS.PlanningModificationsSelection_V2 PlanningSelection = new IWS.PlanningModificationsSelection_V2(); IWS.DateTimeSelection Selection = new IWS.DateTimeSelection(); IWS.DateTimeRangeSelection dateRange = new IWS.DateTimeRangeSelection(); if (Init) { Selection.DateTimeType = IWS.enumSelectionDateTimeType.GET_MODIFIED_SINCE_LAST_REQUEST; PlanningSelection.SelectionFromToday = Selection; } else { dateRange.StartDate = Convert.ToDateTime(FromDate); PlanningSelection.DateTimeRange = dateRange; } PlanningSelection.PlanningSelectionType = IWS.enumPlanningSelectionModificationsType.ALL; IWS.GetPlanningModificationsResult_V5 getPlanningResult = IWSService.Get_Planning_Modifications_V5(iwsLogin(login), PlanningSelection); string strError = handleError(getPlanningResult); if (getPlanningResult.MaximumModificationDate == null) { ToDate = FromDate; } else { ToDate = getPlanningResult.MaximumModificationDate.Value.ToString(); } if (getPlanningResult.Trips != null) { foreach (IWS.TripItemResult_V5 trip in getPlanningResult.Trips) { planning.Trips.Add(new Trip { TripId = trip.TripId, Status = trip.Status.ToString(), Vehicle = trip.Vehicle.ID ?? "", Driver = trip.Driver?.ID ?? "", StartDate = trip.StartDate, EndDate = trip.EndDate, TransferStatus = trip.TransferStatus.ToString(), CancelStatus = trip.CancelStatus.ToString(), ExecutionDate = (DateTime)trip.ExecutionDate }); } } if (getPlanningResult.Places != null) { foreach (IWS.PlaceItemResult_V4 place in getPlanningResult.Places) { planning.Places.Add(new Place { PlaceId = place.PlaceId, Status = place.Status.ToString(), ExecutionDate = (DateTime)place.ExecutionDate, DriverDisplay = place.DriverDisplay, VehicleCode = place.Vehicle.Code ?? "", DriverID = place.Driver?.ID ?? "", Author = place.Author, ActivityID = (int)place.Activity.ID, DispatcherDisplay = place.DispatcherDisplay, Reference = place.References.InternalReference ?? "", StartDate = place.StartDate, EndDate = place.EndDate }); } } if (getPlanningResult.Consultation != null) { foreach (IWS.Consultation_V3 consultation in getPlanningResult.Consultation) { Consultation thisCons = new Consultation(); if (consultation.Place != null) { thisCons.PlaceId = consultation.Place.PlaceID; } if (consultation.Position != null) { thisCons.Latitude = consultation.Position.Latitude; thisCons.Longitude = consultation.Position.Longitude; } thisCons.Km = consultation.Km; if (consultation.Trip != null) { thisCons.TripId = consultation.Trip.TripID; } thisCons.VehicleId = consultation.Vehicle.ID; thisCons.ActivityId = consultation.Activity.ID; thisCons.ArrivalDate = consultation.ArrivalDate; thisCons.LeavingDate = consultation.LeavingDate; planning.Consultations.Add(thisCons); } } if (getPlanningResult.Anomalies != null) { foreach (IWS.Anomaly_V3 anomaly in getPlanningResult.Anomalies) { if (anomaly.Place == null) { planning.Anomalies.Add(new Anomaly { CustomerID = anomaly.Product?.CustomerID ?? "", // DriverId = anomaly.Driver.ID ?? "", AnomalyCode = anomaly.AnomalyCode, AnomalyDateTime = anomaly.AnomalyDateTime, AnomalyDescription = anomaly.AnomalyDescription, AnomalyID = anomaly.AnomalyID }); } else { planning.Anomalies.Add(new Anomaly { PlaceId = anomaly.Place.CustomerID ?? "", CustomerID = anomaly.Product?.CustomerID ?? "", // DriverId = anomaly.Driver.ID ?? "", AnomalyCode = anomaly.AnomalyCode, AnomalyDateTime = anomaly.AnomalyDateTime, AnomalyDescription = anomaly.AnomalyDescription, AnomalyID = anomaly.AnomalyID }); } } } //if (getPlanningResult.Products != null) // foreach (IWS.ProductItemResult_V3 product in getPlanningResult.Products) { // Product thisProd = new Product(); // thisProd.ProductID = product.ProductID; // thisProd.Status = product.Status.ToString(); // thisProd.DriverDisplay = product.DriverDisplay; // //planning.Products.Add(thisProd); // } if (getPlanningResult.Jobs != null) { foreach (IWS.JobItemResult_V3 job in getPlanningResult.Jobs) { planning.Jobs.Add(new Job { JobId = job.JobId, Comment = job.Comment, DriverDisplay = job.DriverDisplay, Status = job.Status.ToString() }); } } return(strError); }