/// <summary>
        /// Loads the data from database.
        /// </summary>
        public void Register(object obj)
        {
            const string ISO_8601_FORMAT = "yyyy-MM-dd HH:mm";
            var          handlingReport  = new HandlingReport
            {
                CompletionTime =
                    DateTime.ParseExact(this.completionTime, ISO_8601_FORMAT, CultureInfo.InvariantCulture),
                TrackingIds  = new[] { this.trackingId },
                VoyageNumber = this.voyage,
                UnLocode     = this.location,
                Type         = this.selectedHandlingType.ToString().ToUpper()
            };

            try
            {
                this.handlingReportServiceClient.SubmitReport(handlingReport);
                this.messageBoxCreator.ShowMessageBox("Success", "Event is succefully registered");
            }
            catch (FaultException <HandlingReportException> exception)
            {
                logger.Error(exception);
                this.messageBoxCreator.ShowMessageBox("HandlingReportException", exception.Message);
            }
            catch (CommunicationException exception)
            {
                logger.Error(exception);
                this.messageBoxCreator.ShowMessageBox("CommunicationException", exception.Message);
            }
        }
 public void TestHandlingReportViewModelValidation()
 {
     var handlingReport = new HandlingReport();
     handlingReport.TrackingIds = new[] { "5" };
     handlingReport.Type = HandlingReportViewModel.HandlingType.Load.ToString();
     handlingReport.UnLocode = "NYC";
     handlingReport.VoyageNumber = "123qwe";
     handlingReport.CompletionTime = DateTime.Now;
     this.handlingReportServiceClient.SubmitReport(handlingReport);
 }
Example #3
0
        public static DateTime? ParseCompletionTime(HandlingReport handlingReport, IList<String> errors)
        {
            var completionTime = handlingReport.CompletionTime;
            if (completionTime == null)
            {
                errors.Add("Completion time is required");
                return null;
            }

            return completionTime.Value.ToUniversalTime();
        }
        public void TestHandlingReportViewModelValidation()
        {
            var handlingReport = new HandlingReport();

            handlingReport.TrackingIds    = new[] { "5" };
            handlingReport.Type           = HandlingReportViewModel.HandlingType.Load.ToString();
            handlingReport.UnLocode       = "NYC";
            handlingReport.VoyageNumber   = "123qwe";
            handlingReport.CompletionTime = DateTime.Now;
            this.handlingReportServiceClient.SubmitReport(handlingReport);
        }
        public static DateTime?ParseCompletionTime(HandlingReport handlingReport, IList <String> errors)
        {
            var completionTime = handlingReport.CompletionTime;

            if (completionTime == null)
            {
                errors.Add("Completion time is required");
                return(null);
            }

            return(completionTime.Value.ToUniversalTime());
        }
Example #6
0
        public void submitReport(HandlingReport handlingReport)
        {
            var validationErrors = new List <string>();

            var completionTime = handlingReport.completionTime;
            var voyageNumber   = HandlingReportParser.parseVoyageNumber(handlingReport.voyageNumber, validationErrors);
            var type           = HandlingReportParser.parseEventType(handlingReport.type, validationErrors);
            var unLocode       = HandlingReportParser.parseUnLocode(handlingReport.unLocode, validationErrors);
            var operatorCode   = HandlingReportParser.parseOperatorCode();

            var allErrors = new Dictionary <string, string>();

            foreach (string trackingIdStr in handlingReport.trackingIds)
            {
                var trackingId = HandlingReportParser.parseTrackingId(trackingIdStr, validationErrors);

                if (!validationErrors.Any())
                {
                    try
                    {
                        handlingEventService.registerHandlingEvent(completionTime, trackingId, voyageNumber, unLocode, type, operatorCode);
                    }
                    catch (CannotCreateHandlingEventException e)
                    {
                        logger.Error(e, e);
                        allErrors.Add(trackingIdStr, e.Message);
                    }
                }
                else
                {
                    logger.Error("Parse error in handling report: " + validationErrors);
                    allErrors.Add(trackingIdStr, String.Join(", ", validationErrors));
                }
            }

            if (allErrors.Any())
            {
                var faultInfo = new HandlingReportErrors();
                throw new FaultException <HandlingReportErrors>(faultInfo, createErrorMessage(allErrors));
            }
        }
 /// <summary>
 /// Loads the data from database.
 /// </summary>
 public void Register(object obj)
 {
     const string ISO_8601_FORMAT = "yyyy-MM-dd HH:mm";
     var handlingReport = new HandlingReport
         {
             CompletionTime =
                 DateTime.ParseExact(this.completionTime, ISO_8601_FORMAT, CultureInfo.InvariantCulture), 
             TrackingIds = new[] { this.trackingId }, 
             VoyageNumber = this.voyage, 
             UnLocode = this.location, 
             Type = this.selectedHandlingType.ToString().ToUpper()
         };
     
     try
     {
         this.handlingReportServiceClient.SubmitReport(handlingReport);
         this.messageBoxCreator.ShowMessageBox("Success", "Event is succefully registered");
     }
     catch (FaultException<HandlingReportException> exception)
     {
         logger.Error(exception);
         this.messageBoxCreator.ShowMessageBox("HandlingReportException", exception.Message);
     }
     catch (CommunicationException exception)
     {
         logger.Error(exception);
         this.messageBoxCreator.ShowMessageBox("CommunicationException", exception.Message);
     }
 }