示例#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
        public ActionResult GridData(int page, int rows, string[] _search, string sidx, string sord, int msgInOut)
        {
            string[]      ReqParams = { "MessageId", "Message", "DDPVersion", "TimeStamp" };
            List <string> columns   = new List <string>();
            List <string> querys    = new List <string>();


            string tstamp   = "-";
            var    fromDate = new DateTime(2000, 1, 1);
            var    toDate   = new DateTime(2200, 1, 1);

            for (int i = 0; i < ReqParams.Count(); i++)
            {
                if (ReqParams[i].Contains("TimeStamp"))
                {
                    tstamp = Request.Params[ReqParams[i]];
                    if (tstamp != null)
                    {
                        var dates = tstamp.Split('-');
                        fromDate = DateTime.Parse(dates[0]);
                        if (dates.Length == 1)
                        {
                            toDate = fromDate.AddDays(1);
                        }
                        else
                        {
                            toDate = DateTime.Parse(dates[1]);
                        }
                    }
                    continue;
                }
                var tempValue = Request.Params[ReqParams[i]];
                if (tempValue != null)
                {
                    columns.Add(ReqParams[i]);
                    querys.Add(tempValue);
                }
            }

            var rda      = new PricingNotificationDataAccess(context);
            var receipts = rda.GetAllBetween(msgInOut, fromDate, toDate);

            var model = from entity in receipts.OrderBy(sidx + " " + sord)
                        select new
            {
                MessageId  = entity.MessageId,
                Message    = entity.Message,
                DDPVersion = entity.DDPVersion,
                TimeStamp  = entity.TimeStamp.ToString(),
            };

            return(Json(model.ToJqGridData(page, rows, null, querys.ToArray(), columns.ToArray())));
        }