示例#1
0
        public ActionResult Change(Price price)
        {
            ViewData["title"] = "Precios";
            try
            {
                var pm     = new PricingManager();
                var ddpMan = new DDPVersionManager();
                var cfgMan = new ConfigurationManager();
                var queMan = new QueueManager();

                var pud = new DataCenterLogic.DataCenterTypesIDE.PricingUpdateType();
                pud.DDPVersionNum = DDPVersionManager.currentDDP();
                pud.Message       = "Price changed";
                pud.MessageId     = MessageIdManager.Generate("1005");
                pud.MessageType   = DataCenterLogic.DataCenterTypesIDE.messageTypeType7.Item15;
                pud.PricingFile   = pm.GeneratePriceFile(price);
                pud.ReferenceId   = "";
                pud.schemaVersion = decimal.Parse(cfgMan.Configuration.SchemaVersion);
                pud.test          = DataCenterLogic.DataCenterTypesIDE.testType.Item0;
                pud.TimeStamp     = DateTime.UtcNow;

                Message msgout = new Message(pud);
                msgout.Label = "pricingUpdate";

                string outQueue = System.Configuration.ConfigurationManager.AppSettings["CoreOutQueue"];
                QueueManager.Instance().SetOut(outQueue);
                QueueManager.Instance().EnqueueOut(msgout);

                FlashOK("El mensaje fue encolado con exito");
            }
            catch (Exception ex)
            {
                FlashOK(string.Format("Hubo un problema al enviar el mensaje => {0}", ex.Message));
            }

            return(View());
        }
示例#2
0
        public ActionResult CreateAndSendSarsurpic(DataCenterLogic.DataCenterTypesIDE.SARSURPICType SARSURPICMsg, int areaIndex, int NumberOfPositions, string Lat, string Long, string var1, string var2)
        {
            var    cfgman  = new ConfigurationManager();
            var    ddpVer  = new DDPVersionDataAccess();
            var    sprda   = new SARSURPICRequestDataAccess(context);
            string strItem = string.Empty;



            MakeComboSARService();


            //\


            if (!Regex.IsMatch(Lat, @"(([0-8][0-9]\.[0-5][0-9]\.[nNsS])|(90\.00\.[nNsS]))"))
            {
                ModelState.AddModelError("Lat", "Latitud: El formato correcto es 00.00.N/S");
            }

            if (!Regex.IsMatch(Long, @"(([0-1][0-7][0-9]\.[0-5][0-9]\.[eEwW])|(180\.00\.[eEwW]))"))
            {
                ModelState.AddModelError("Long", "Longitud: El formato correcto es 000.00.E/W");
            }

            //SARSURPICMsg.DataUserRequestor = "1005";
            var v = ddpVer.TodaysDDP();

            SARSURPICMsg.DDPVersionNum = v.regularVer + ":" + v.inmediateVer;


            if (areaIndex == 0)
            {
                if (!Regex.IsMatch(var1, @"([0-9]{3})"))
                {
                    ModelState.AddModelError("var1", "Radio: El formato correcto es 000");
                }

                strItem                      = string.Format(Lat + ":" + Long + ":" + var1);
                SARSURPICMsg.Item            = strItem;
                SARSURPICMsg.ItemElementName = DataCenterLogic.DataCenterTypesIDE.ItemChoiceType1.SARCircularArea;
            }
            if (areaIndex == 1)
            {
                if (!Regex.IsMatch(var1, @"(([0-8][0-9]\.[0-5][0-9]\.[nN])|(90\.00\.[nN]))"))
                {
                    ModelState.AddModelError("var1", "Offset Norte: El formato correcto es 00.00.N");
                }

                if (!Regex.IsMatch(var2, @"(([0-1][0-7][0-9]\.[0-5][0-9]\.[eE])|(180\.00\.[eE]))"))
                {
                    ModelState.AddModelError("var2", "Offset Este: es 000.00.E");
                }

                strItem                      = string.Format(Lat + ":" + Long + ":" + var1 + ":" + var2);
                SARSURPICMsg.Item            = strItem;
                SARSURPICMsg.ItemElementName = DataCenterLogic.DataCenterTypesIDE.ItemChoiceType1.SARRectangularArea;
            }

            if (!ModelState.IsValid)
            {
                return(ShowNewSarsurpic(areaIndex));
            }

            SARSURPICMsg.MessageId   = MessageIdManager.Generate(SARSURPICMsg.DataUserRequestor);
            SARSURPICMsg.MessageType = (DataCenterLogic.DataCenterTypesIDE.messageTypeType2)Enum.Parse(typeof(DataCenterLogic.DataCenterTypesIDE.messageTypeType2), "Item6");
            //SARSURPICMsg.NumberOfPositions = dc3NumberOfPositions.Text;
            SARSURPICMsg.schemaVersion = decimal.Parse(cfgman.Configuration.SchemaVersion);
            SARSURPICMsg.test          = DataCenterLogic.DataCenterTypesIDE.testType.Item1;
            SARSURPICMsg.TimeStamp     = DateTime.UtcNow;



            Message msgout = new Message(SARSURPICMsg);

            msgout.Label = "SARSURPICRequest";

            string outQueue = System.Configuration.ConfigurationManager.AppSettings["CoreOutQueue"];

            QueueManager.Instance().SetOut(outQueue);

            QueueManager.Instance().EnqueueOut(msgout);

            //sprda.Create( TypeHelper.Map2DB(SARSURPICMsg), 1);


            return(View("Sent"));
        }
示例#3
0
        public ActionResult CreateAndSend(DataCenterLogic.DataCenterTypesIDE.ShipPositionRequestType spr, int accessTypeIndex, int requestTypeIndex, string itemElementIndex, string strStartTime, string strStopTime)
        {
            var cfgman = new ConfigurationManager();

            DateTime dateStartTime = DateTime.UtcNow;
            DateTime dateStopTime  = DateTime.UtcNow;

            if (spr.IMONum.Trim().Length == 0)
            {
                ModelState.AddModelError("IMONum", "Numero OMI requerido");
            }
            if (spr.DataUserProvider.Trim().Length == 0)
            {
                ModelState.AddModelError("DataUserProvider", "LRIT Id del DataCenter requerido");
            }

            if (new int[] { 2, 3, 4, 5, 6, 7, 10, 11 }.Contains(requestTypeIndex))
            {
                if (DateTime.TryParse(strStartTime, out dateStartTime) == false)
                {
                    ModelState.AddModelError("StartTime", "Fecha Inicio requerida");
                }
                if (DateTime.TryParse(strStopTime, out dateStopTime) == false)
                {
                    ModelState.AddModelError("StopTime", "Fecha Fin requerida");
                }
            }

            if (accessTypeIndex == 3 || accessTypeIndex == 5)
            {
                string ItemField   = this.Request.Params["ItemField"];
                string ItemElement = this.Request.Params["ItemElement"];
                if (ItemElement == "Port")
                {
                    spr.ItemElementName = DataCenterLogic.DataCenterTypesIDE.ItemChoiceType.Port;
                }
                if (ItemElement == "PortFacility")
                {
                    spr.ItemElementName = DataCenterLogic.DataCenterTypesIDE.ItemChoiceType.PortFacility;
                }

                spr.Item = ItemField;
            }



            ViewData["AccessType"]  = accessTypeIndex.ToString();
            ViewData["RequestType"] = requestTypeIndex.ToString();
            if (!ModelState.IsValid)
            {
                return(ShowNewView(requestTypeIndex, accessTypeIndex));
            }

            if (accessTypeIndex != 6)
            {
                spr.MessageType = DataCenterLogic.DataCenterTypesIDE.messageTypeType1.Item4;
            }
            else
            {
                spr.MessageType = DataCenterLogic.DataCenterTypesIDE.messageTypeType1.Item5;
            }

            spr.MessageId = MessageIdManager.Generate("1005");
            //spr.IMONum;
            //spr.DataUserProvider

            if (accessTypeIndex == 0)
            {
                spr.AccessType = DataCenterLogic.DataCenterTypesIDE.accessTypeType.Item0;
            }
            else if (accessTypeIndex == 1)
            {
                spr.AccessType = DataCenterLogic.DataCenterTypesIDE.accessTypeType.Item1;
            }
            else if (accessTypeIndex == 2)
            {
                spr.AccessType = DataCenterLogic.DataCenterTypesIDE.accessTypeType.Item2;
            }
            else if (accessTypeIndex == 3)
            {
                spr.AccessType = DataCenterLogic.DataCenterTypesIDE.accessTypeType.Item3;
            }
            else if (accessTypeIndex == 5)
            {
                spr.AccessType = DataCenterLogic.DataCenterTypesIDE.accessTypeType.Item5;
            }
            else if (accessTypeIndex == 6)
            {
                spr.AccessType = DataCenterLogic.DataCenterTypesIDE.accessTypeType.Item6;
            }


            //spr.Item
            if (itemElementIndex != null)
            {
                spr.ItemElementName = (DataCenterLogic.DataCenterTypesIDE.ItemChoiceType)Enum.Parse(typeof(DataCenterLogic.DataCenterTypesIDE.ItemChoiceType), itemElementIndex);
            }

            //this.Request.Params["
            //spr.Distance = ;
            spr.RequestType     = (DataCenterLogic.DataCenterTypesIDE.requestTypeType)Enum.Parse(typeof(DataCenterLogic.DataCenterTypesIDE.requestTypeType), "Item" + requestTypeIndex.ToString());
            spr.RequestDuration = new DataCenterLogic.DataCenterTypesIDE.requestDurationType();

            if (spr.RequestType == DataCenterLogic.DataCenterTypesIDE.requestTypeType.Item1 || spr.RequestType == DataCenterLogic.DataCenterTypesIDE.requestTypeType.Item9)
            {
                spr.RequestDuration.startTimeSpecified = false;
            }
            else
            {
                spr.RequestDuration.startTimeSpecified = true;
                spr.RequestDuration.startTime          = dateStartTime;
            }

            if (spr.RequestType == DataCenterLogic.DataCenterTypesIDE.requestTypeType.Item1 || spr.RequestType == DataCenterLogic.DataCenterTypesIDE.requestTypeType.Item9)
            {
                spr.RequestDuration.stopTimeSpecified = false;
            }
            else
            {
                spr.RequestDuration.stopTimeSpecified = true;
                spr.RequestDuration.stopTime          = dateStopTime;
            }

            spr.DataUserRequestor = "1005";//;cfgman.Configuration.DataCenterID;
            spr.TimeStamp         = DateTime.UtcNow;
            spr.DDPVersionNum     = DDPVersionManager.currentDDP();
            spr.schemaVersion     = decimal.Parse(cfgman.Configuration.SchemaVersion);
            spr.test = DataCenterLogic.DataCenterTypesIDE.testType.Item1;

            Message msgout = new Message(spr);

            msgout.Label = "shipPositionRequest";

            string outQueue = System.Configuration.ConfigurationManager.AppSettings["CoreOutQueue"];

            QueueManager.Instance().SetOut(outQueue);
            QueueManager.Instance().EnqueueOut(msgout);

            return(View("Sent"));
        }