/// <summary> /// Procesa un mensaje de tipo SARSurpicRequest. /// </summary> /// <param name="msg">Mensaje SARSURPICRequest</param> public void ProcessSARSURPICRequest(SARSURPICType SARSURPICRequest) { var configMgr = new ConfigurationManager(); var shipPositionManager = new ShipPositionManager(); List <ShipPosition> shipPositions; if (SARSURPICRequest.ItemElementName == DataCenterLogic.DataCenterTypes.ItemChoiceType1.SARCircularArea) { shipPositions = shipPositionManager.GetLastPositionsInCircularArea(SARSURPICRequest.Item, int.Parse(SARSURPICRequest.NumberOfPositions)); } else { shipPositions = shipPositionManager.GetLastPositionsInRectangularArea(SARSURPICRequest.Item, int.Parse(SARSURPICRequest.NumberOfPositions)); } if (shipPositions.Count == 0) { DataCenterTypesIDE.ReceiptType receipt = new DataCenterLogic.DataCenterTypesIDE.ReceiptType(); receipt.DDPVersionNum = DDPVersionManager.currentDDP(); receipt.Destination = SARSURPICRequest.DataUserRequestor; receipt.Message = "No positions"; receipt.MessageId = MessageIdManager.Generate(); receipt.MessageType = DataCenterLogic.DataCenterTypesIDE.messageTypeType3.Item7; receipt.Originator = "1005"; receipt.ReceiptCode = DataCenterLogic.DataCenterTypesIDE.receiptCodeType.Item7; receipt.ReferenceId = SARSURPICRequest.MessageId; receipt.schemaVersion = decimal.Parse(configMgr.Configuration.SchemaVersion); receipt.test = DataCenterLogic.DataCenterTypesIDE.testType.Item1; receipt.TimeStamp = DateTime.UtcNow; //Receipt sent Message msgout = new Message(receipt); msgout.Label = "receipt"; QueueManager.Instance().EnqueueOut(msgout); } else { using (var shipdao = new ShipDataAccess()) { var sprm = new ShipPositionReportManager(); foreach (ShipPosition shipPos in shipPositions) { sprm.SendReport(SARSURPICRequest.DataUserRequestor, shipPos, SARSURPICRequest.MessageId, DataCenterLogic.DataCenterTypesIDE.responseTypeType.Item4, DataCenterLogic.DataCenterTypesIDE.messageTypeType.Item3); } } } using (var dao = new SARSURPICRequestDataAccess()) { dao.Create(TypeHelper.Map2DB(SARSURPICRequest), 0); } log.Info("SARSURPICRequest successfully processed"); }
public Response SARSURPICRequest(SARSURPICType SARSURPICRequest) { log.Info("New SARSURPIC request arrived"); validateSchemaVersion(SARSURPICRequest.schemaVersion); //Create message and enqueue it Message msg = new Message(SARSURPICRequest); msg.Label = "SARSURPICRequest"; EnqueueMessageInQueue(msg); //Build response Response response = new Response(); response.response = responseType.Success; log.Info("SARSURPIC Request first validation OK, enqueued"); return(response); }
public Response SARSURPICRequest(SARSURPICType request) { string msg = string.Format(@"DataUserRequestor:{0},DDPVersionNum:{1},Item:{2}, ItemElementName:{3},MessageId:{4},NumberOfPositions:{5},schemaVersion:{6}", request.DataUserRequestor, request.DDPVersionNum, request.Item, request.ItemElementName, request.MessageId, request.NumberOfPositions, request.schemaVersion); m_log.Info(msg); Response response = new Response(); response.response = responseType.Success; return(response); }