Ejemplo n.º 1
0
        /// <summary>
        /// Procesa un mensaje de tipo Receipt
        /// </summary>
        /// <param name="msg">El mensaje Receipt</param>
        public void ProcessReceipt(ReceiptType receipt)
        {
            decimal?price = null;

            if (receipt.ReceiptCode == receiptCodeType.Item0 && receipt.ReferenceId.Length > 0)
            {
                //Era un recibo correspondiente a un REQUERIMIENTO?
                var sprm = new ShipPositionRequestDataAccess();
                if (sprm.RequestExists(receipt.ReferenceId) == true)
                {
                    var pman = new PricingManager();
                    price = pman.GetPriceForRequest(receipt.ReferenceId, receipt.Originator);
                    if (price == null)
                    {
                        log.Warn(string.Format("ProcessReceipt: Se recibio un receipt codigo 0 {0}, no podemos poner precio", receipt.MessageId));
                    }
                }
                else
                {
                    log.Warn(string.Format("ProcessReceipt: recibo 0 {0} no referido a Requerimiento", receipt.MessageId));
                }
            }

            using (var dao = new ReceiptDataAccess())
            {
                dao.Create(TypeHelper.Map2DB(receipt), 0, price);
            }
            log.Info(string.Format("Receipt successfully processed: price {0}", price));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Envia un mensaje de tipo Receipt al IDE
        /// </summary>
        /// <param name="msg">Mensaje Receipt</param>
        private string SendReceipt(Message msg)
        {
            DataCenterLogic.DataCenterTypesIDE.ReceiptType receipt = (DataCenterLogic.DataCenterTypesIDE.ReceiptType)(msg.Body);

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

            //Get price for receipt
            //El codigo 0 dice todo, si es codigo 0 quiere decir que este recibo se esta mandando por que no se pudo mandar una posicion
            //Por lo tanto el request debe existir o sino fue de una standing order.
            decimal?price = null;

            if (receipt.ReceiptCode == 0)
            {
                var pman = new PricingManager();
                price = pman.GetPriceForRequest(receipt.ReferenceId, receipt.Originator);
                if (price == null)
                {
                    log.Warn(string.Format("SendReceipt: Se manda un receipt codigo 0 {0} sin precio", receipt.MessageId));
                }
            }

            //Guarda el mensaje en la base de datos
            using (var dao = new ReceiptDataAccess())
            {
                dao.Create(TypeHelper.Map2DB(receipt), 1, price);
            }

            log.Info(string.Format("Receipt stored: price {0}", price));
            return(receipt.MessageId);
        }
Ejemplo n.º 3
0
 public ReceiptService()
 {
     this.dataAccess = new ReceiptDataAccess();
 }
Ejemplo n.º 4
0
        public ActionResult GridData(int page, int rows, string[] _search, string sidx, string sord, int msgInOut)
        {
            //var ReceiptDescriptionDic = new Dictionary<int, string>();
            //ReceiptDescriptionDic.Add(0, "No titulado para recibir información");
            //ReceiptDescriptionDic.Add(1, "No hay barcos en en área SARSURPIC");
            //ReceiptDescriptionDic.Add(2, "IDE no disponible");
            //ReceiptDescriptionDic.Add(3, "DC no disponible");
            //ReceiptDescriptionDic.Add(4, "PSC no disponible");
            //ReceiptDescriptionDic.Add(5, "El barco no responde");
            //ReceiptDescriptionDic.Add(6, "El barco no está disponible");
            //ReceiptDescriptionDic.Add(7, "Falla en el sistema");
            //ReceiptDescriptionDic.Add(8, "No se pudo cargar DDP");
            //ReceiptDescriptionDic.Add(9, "Version de DDP incorrecta, mensaje descartado");

            string[]      ReqParams = { "MessageId", "ReferenceId", "ReceiptCode", "ReceiptDescription", "Destination", "Originator", "Message", "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 ReceiptDataAccess(context);
            var receipts = rda.GetAllBetween(msgInOut, fromDate, toDate);

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

            return(Json(model.ToJqGridData(page, rows, null, querys.ToArray(), columns.ToArray())));
        }
Ejemplo n.º 5
0
 public static Task<Receipt> Add(Employee employee, Receipt receipt)
 {
     receipt.Bill = receipt.Bill.GetManaged();
     receipt.Employee = employee;
     return ReceiptDataAccess.Add(receipt);
 }
Ejemplo n.º 6
0
 public static IEnumerable<Receipt> Get() => ReceiptDataAccess.Get();
Ejemplo n.º 7
0
 public static Receipt Get(int receiptId) => ReceiptDataAccess.Get(receiptId);