예제 #1
0
        public ActionResult GridData(int page, int rows, string[] _search, string sidx, string sord)
        {
            string[]      ReqParams = { "Message", "MessageId", "MessageType", "PricingFile", "Test", "MsgInOut", "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 lda  = new PricingUpdateDataAccess(context);
            var logs = lda.GetAllBetween(fromDate, toDate);

            var model = from entity in logs.OrderBy(sidx + " " + sord)
                        select new
            {
                Message     = entity.Message,
                MessageId   = entity.MessageId,
                MessageType = entity.MessageType,
                PricingFile = entity.PricingFile,
                Test        = entity.Test,
                MsgInOut    = entity.MsgInOut.InOut,
                TimeStamp   = entity.TimeStamp.ToString()
            };

            var eljson = Json(model.ToJqGridData(page, rows, null, querys.ToArray(), columns.ToArray()));

            return(eljson);
        }
예제 #2
0
        //public void GetProice

        /// <summary>
        /// Procesa un mensaje de tipo PricingUpdate
        /// </summary>
        /// <param name="msg">El mensaje PricingUpdate</param>
        public void ProcessPricingUpdate(PricingUpdateType pricingUpdate)
        {
            PricingImportHelper importer = new PricingImportHelper();

            importer.Import(new MemoryStream(pricingUpdate.PricingFile));

            using (var dao = new PricingUpdateDataAccess())
            {
                dao.Create(TypeHelper.Map2DB(pricingUpdate), 0);
            }
            log.Info("ProcessPricingUpdate: PricingUpdate successfully processed");
        }
예제 #3
0
        /// <summary>
        /// Envia un mensaje de tipo PricingUpdate al IDE
        /// </summary>
        /// <param name="msg">Mensaje PricingUpdate</param>
        private string SendPricingUpdate(Message msg)
        {
            DataCenterLogic.DataCenterTypesIDE.PricingUpdateType pricingUpdate = (DataCenterLogic.DataCenterTypesIDE.PricingUpdateType)(msg.Body);

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

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