internal static ShipPositionReport Map2DB(DataCenterLogic.DataCenterTypesIDE.ShipPositionReportType shipPositionReport) { ShipPositionReport retShipPositionReport = new ShipPositionReport(); retShipPositionReport.ASPId = shipPositionReport.ASPId; retShipPositionReport.DataUserProvider = shipPositionReport.DataUserProvider; retShipPositionReport.DataUserRequestor = shipPositionReport.DataUserRequestor; retShipPositionReport.DCId = shipPositionReport.DCId; retShipPositionReport.DDPVersionNum = shipPositionReport.DDPVersionNum; retShipPositionReport.IMONum = shipPositionReport.IMONum; retShipPositionReport.Latitude = shipPositionReport.Latitude; retShipPositionReport.Longitude = shipPositionReport.Longitude; retShipPositionReport.MessageId = shipPositionReport.MessageId; retShipPositionReport.MessageType = ToInt(shipPositionReport.MessageType); retShipPositionReport.MMSINum = shipPositionReport.MMSINum; retShipPositionReport.ReferenceId = shipPositionReport.ReferenceId; retShipPositionReport.ResponseType = ToInt(shipPositionReport.ResponseType); retShipPositionReport.schemaVersion = shipPositionReport.schemaVersion; retShipPositionReport.ShipborneEquipmentId = shipPositionReport.ShipborneEquipmentId; retShipPositionReport.ShipName = shipPositionReport.ShipName; retShipPositionReport.test = ToInt(shipPositionReport.test); retShipPositionReport.TimeStamp1 = shipPositionReport.TimeStamp1; retShipPositionReport.TimeStamp2 = shipPositionReport.TimeStamp2; retShipPositionReport.TimeStamp3 = shipPositionReport.TimeStamp3; retShipPositionReport.TimeStamp4 = shipPositionReport.TimeStamp4; retShipPositionReport.TimeStamp5 = shipPositionReport.TimeStamp5; return(retShipPositionReport); }
/// <summary> /// Envia un mensaje de tipo ShipPositionReport al IDE /// </summary> /// <param name="msg">Mensaje ShipPositionReport</param> private string SendShipPositionReport(Message msg) { DataCenterLogic.DataCenterTypesIDE.ShipPositionReportType shipPositionReport = (DataCenterLogic.DataCenterTypesIDE.ShipPositionReportType)(msg.Body); //Send to IDE if (System.Configuration.ConfigurationManager.AppSettings["send2servers"] != "False") { shipPositionReport.test = DataCenterLogic.DataCenterTypesIDE.testType.Item0; ideClient.ShipPositionReport(shipPositionReport); log.Info("SendShipPositionReport: shipPositionReport sent to IDE"); } //ReferenceID puede ser de un report o "" si es SO //DataUserProvider deberia ser siempre 1005 var pricing = new PricingManager(); decimal?price = pricing.GetPriceForRequest(shipPositionReport.ReferenceId, shipPositionReport.DataUserProvider); //No tengo precio y es Es una reporte NO SAR? if (price == null) { log.Warn(string.Format("SendShipPositionReport: Se manda un reporte {0} de posicion sin precio", shipPositionReport.MessageId)); } //Guarda el mensaje en la base de datos using (var dao = new ShipPositionReportDataAccess()) { dao.Create(TypeHelper.Map2DB(shipPositionReport), 1, price); } log.Info(string.Format("ShipPositionReport stored: price {0}", price)); return(shipPositionReport.MessageId); }