예제 #1
0
        public IEnumerable <Entrega> ObterEntrega(int id)
        {
            List <Entrega> entregas = EntregaMock.EntregasMockadas();

            return(from entrega in entregas
                   where entrega.Id == id
                   select entrega);
        }
        public EntregaCreacionViewModel(bool isSavana)
        {
            _isSavana  = isSavana;
            ItemMaster = new EntregaMock();
            Item       = new Entrega();
            iVendidos  = new ObservableRangeCollection <EntregaItemVendido>();
            var list = App.ProductoDB.GetItems();
            EntregaItemVendido tmp;

            _stock = new Dictionary <string, int>();
            foreach (Producto iv in list)
            {
                this._stock.Add(iv.Codigo, iv.Stock);
                tmp               = new EntregaItemVendido();
                tmp.Producto      = iv;
                tmp.CostoUnitario = iv.CostoUnitario;
                iVendidos.Add(tmp);
            }
        }
 public EntregaCreacionViewModel()
 {
     ItemMaster = new EntregaMock();
     Item       = new Entrega();
     iVendidos  = new ObservableRangeCollection <EntregaItemVendido>();
     MessagingCenter.Subscribe <EntregaAddProducto, EntregaItemVendido>(this, "AddItemVendido", (obj, item) =>
     {
         try
         {
             var _item = item as EntregaItemVendido;
             if (!editingPosition.Equals(-1))
             {
                 iVendidos.RemoveAt(editingPosition);
             }
             editingPosition = -1;
             iVendidos.Add(_item);
             //stock[_item.Producto.Codigo] -= _item.Cantidad;
             SetStock(_item.Producto.Codigo, _item.Cantidad, false);
             Item.SubTotal = Item.SubTotal + _item.SubTotal;
             Item.Total    = 0;
             foreach (EntregaItemVendido eiv in iVendidos)
             {
                 if (!eiv.Devolucion && !eiv.Oferta)
                 {
                     Item.Total += (eiv.SubTotal - (eiv.SubTotal * (Item.ClienteDescuento / 100)));
                 }
                 else
                 {
                     Item.Total += eiv.SubTotal;
                 }
             }
             MessagingCenter.Send(this, "EntregatotalNuevo", Item);
             //this.TotalAmount.Text = "$ " + Item.Total.ToString();
         }
         catch (Exception ex)
         { }
     });
     MessagingCenter.Subscribe <EntregaAddProducto, int>(this, "DeleteItemVendido", (obj, item) =>
     {
         try
         {
             if (!editingPosition.Equals(-1))
             {
                 iVendidos.RemoveAt(editingPosition);
             }
             editingPosition = -1;
             Item.SubTotal   = 0;
             Item.Total      = 0;
             foreach (EntregaItemVendido eiv in iVendidos)
             {
                 if (!eiv.Devolucion && !eiv.Oferta)
                 {
                     Item.Total += (eiv.SubTotal - (eiv.SubTotal * (Item.ClienteDescuento / 100)));
                 }
                 else
                 {
                     Item.Total += eiv.SubTotal;
                 }
                 Item.SubTotal += eiv.SubTotal;
             }
             MessagingCenter.Send(this, "EntregatotalNuevo", Item);
             //this.TotalAmount.Text = "$ " + Item.Total.ToString();
         }
         catch (Exception ex)
         { }
     });
     MessagingCenter.Subscribe <EntregaAddProducto, int>(this, "CerrarItemVendido", (obj, item) =>
     {
         try
         {
             if (!editingPosition.Equals(-1))
             {
                 var _item = iVendidos[editingPosition];
                 if (_item != null)
                 {
                     SetStock(_item.Producto.Codigo, _item.Cantidad, false);
                 }
                 editingPosition = -1;
             }
         }
         catch (Exception ex)
         { }
     });
 }