예제 #1
0
        /// <summary>
        /// Procesa un mensaje de tipo PricingNotification
        /// </summary>
        /// <param name="msg">El mensaje PricingNotification</param>
        public void ProcessPricingNotification(PricingNotificationType pricingNotification)
        {
            ConfigurationManager cmgr = new ConfigurationManager();

            DataCenterTypesIDE.PricingRequestType preq = new DataCenterLogic.DataCenterTypesIDE.PricingRequestType();
            preq.DDPVersionNum = DDPVersionManager.currentDDP();
            preq.MessageId     = MessageIdManager.Generate();
            preq.MessageType   = DataCenterLogic.DataCenterTypesIDE.messageTypeType6.Item14;
            preq.Originator    = cmgr.Configuration.DataCenterID;
            preq.ReferenceId   = pricingNotification.MessageId;
            preq.schemaVersion = decimal.Parse(cmgr.Configuration.SchemaVersion);
            preq.test          = DataCenterLogic.DataCenterTypesIDE.testType.Item0;
            preq.TimeStamp     = DateTime.UtcNow;

            //Enqueue DDPrequest
            Message msgout = new Message(preq);

            msgout.Label = "priceRequest";
            QueueManager.Instance().EnqueueOut(msgout);

            using (PricingNotificationDataAccess dao = new PricingNotificationDataAccess())
            {
                dao.Create(TypeHelper.Map2DB(pricingNotification), 0);
            }
            log.Info("PricingNotification successfully processed");
        }
예제 #2
0
파일: TypeHelper.cs 프로젝트: dargonar/LRIT
        /// <summary>
        /// Transforma un PricingRequestType en un PricingRequestSent
        /// </summary>
        /// <param name="pricingRequest">PricingRequestType</param>
        /// <returns>PricingRequestSent</returns>
        static public PricingRequestSent Map2DB(DataCenterLogic.DataCenterTypesIDE.PricingRequestType pricingRequest)
        {
            PricingRequestSent retPricingRequest = new PricingRequestSent();

            retPricingRequest.DDPVersionNum = pricingRequest.DDPVersionNum;
            retPricingRequest.MessageId     = pricingRequest.MessageId;
            retPricingRequest.MessageType   = ToInt(pricingRequest.MessageType);
            retPricingRequest.Originator    = pricingRequest.Originator;
            retPricingRequest.schemaVersion = pricingRequest.schemaVersion;
            retPricingRequest.test          = ToInt(pricingRequest.test);
            retPricingRequest.TimeStamp     = pricingRequest.TimeStamp;

            return(retPricingRequest);
        }
예제 #3
0
        private string SendPricingRequest(Message msg)
        {
            DataCenterLogic.DataCenterTypesIDE.PricingRequestType pricingRequest = (DataCenterLogic.DataCenterTypesIDE.PricingRequestType)(msg.Body);

            //Send to IDE
            if (System.Configuration.ConfigurationManager.AppSettings["send2servers"] != "False")
            {
                pricingRequest.test = DataCenterLogic.DataCenterTypesIDE.testType.Item0;
                ideClient.PricingRequest(pricingRequest);
                log.Info("SendPricingRequest: pricingRequest sent to IDE");
            }

            //Guarda el mensaje en la base de datos
            using (var dao = new PricingRequestSentDataAccess())
            {
                dao.Create(TypeHelper.Map2DB(pricingRequest), 1);
            }
            log.Info("pricingRequest stored");
            return(pricingRequest.MessageId);
        }