Exemplo n.º 1
0
        /// <summary>
        /// Recupera el elemento según el id pasado por parámetro.
        /// </summary>
        /// <returns></returns>
        public Tracking Get(int invoiceItemId)
        {
            TrackingMapper trackingMapper = new TrackingMapper();
            Tracking       tracking       = trackingMapper.Get(invoiceItemId);

            if (tracking == null)
            {
                string errorDescription = "No se ha encontrado tracking para el producto adquirido con id " + invoiceItemId + ".";
                log.AddLogCritical("Get", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.NULL, errorDescription));
            }

            return(tracking);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Guarda los cambios del recurso existente.
        /// </summary>
        /// <param name="map"></param>
        /// <returns></returns>
        public bool Edit(Tracking tracking)
        {
            TrackingMapper trackingMapper = new TrackingMapper();

            tracking.Date = DateTime.Now;

            if (!trackingMapper.Edit(tracking))
            {
                string errorDescription = "No se ha podido modificar el tracking.";
                log.AddLogCritical("Edit", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            return(true);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Genera el registro de trackeo del producto.
        /// </summary>
        public void Save(Invoice invoice)
        {
            TrackingMapper  trackingMapper = new TrackingMapper();
            List <Tracking> trackings      = new List <Tracking>();
            Tracking        tracking       = null;

            foreach (InvoiceItem invoiceItem in invoice.InvoiceItems)
            {
                tracking             = new Tracking();
                tracking.InvoiceItem = invoiceItem;
                tracking.Status      = Tracking.StatusType.Pendiente;
                tracking.Date        = DateTime.Now;

                trackings.Add(tracking);
            }
            trackingMapper.Save(trackings);
        }
Exemplo n.º 4
0
        //Public Methods
        /// <summary>
        /// Retrieves the tracking information for a given order id.
        /// </summary>
        /// <param name="orderId">Either the FragranceX order ID or external ID that you want to retrieve the tracking information for.</param>
        /// <returns>An object of basic tracking information</returns>
        /// <exception cref="FrgxPublicApiSDK.Exceptions.EmptyFeildException">Thrown if missing order id</exception>
        /// <exception cref="FrgxPublicApiSDK.Exceptions.InvalidArgumentException">Thrown if invalid order id</exception>
        public TrackingInfo GetTracking(string orderId)
        {
            if (string.IsNullOrEmpty(orderId))
            {
                throw (new EmptyFeildException("No orderId given"));
            }

            var response = FrgxApicallHelper.GetApi(Constants.FrgxapiTracking + orderId).Result;

            var jResponse = JObject.Parse(response);

            if (jResponse.GetValue("Carrier").ToString() == "")
            {
                throw (new InvalidArgumentException("Invalid order id: " + orderId));
            }

            return(TrackingMapper.Map(jResponse));
        }
Exemplo n.º 5
0
        /// <summary>
        /// Recupera el listado de todos los elementos.
        /// </summary>
        /// <returns></returns>
        public List <Tracking> Get(User user)
        {
            MapManager        mapManager        = new MapManager();
            InvoiceItemMapper invoiceItemMapper = new InvoiceItemMapper();
            TrackingMapper    trackingMapper    = new TrackingMapper();
            List <Tracking>   trakings          = trackingMapper.Get(user);

            if (trakings != null)
            {
                foreach (Tracking tracking in trakings)
                {
                    //Sería más óptimo se si buscaran por invoice
                    tracking.InvoiceItem          = invoiceItemMapper.Get(tracking.InvoiceItem.Id);
                    tracking.InvoiceItem.Resource = mapManager.Get(tracking.InvoiceItem.Resource.Id);
                }
            }
            return(trakings);
        }