public async Task ToggleProducto(ProductoPresentacion producto) { decimal costoFormulado = 0.00M; if (ListaPrecios.DetalleListaPrecios.Where(x => x.ProductoPresentacionId == producto.Id).Count() == 0) { if (producto.esFormulado) { #line default #line hidden #line 276 "C:\Users\agust\source\repos\SurcosBlazor\Client\Pages\BackOffice\Configuracion\ListaDePreciosC\ListaPreciosForm.razor" if (producto.FormulaProducto != null) { costoFormulado = await http.GetJsonAsync <decimal>($"api/FormulaProducto/CostoFormula?FormulaId={producto.FormulaProducto.Id}"); } #line default #line hidden #line 279 "C:\Users\agust\source\repos\SurcosBlazor\Client\Pages\BackOffice\Configuracion\ListaDePreciosC\ListaPreciosForm.razor" } ListaPrecios.DetalleListaPrecios.Add(new DetalleListaPrecios { ProductoPresentacionId = producto.Id, precioCosto = producto.esFormulado ? costoFormulado : producto.costo }); } else { ListaPrecios.DetalleListaPrecios.Remove(ListaPrecios.DetalleListaPrecios.FirstOrDefault(x => x.ProductoPresentacionId == producto.Id)); } this.StateHasChanged(); }
public async Task RecuperarCarritoLocalStore() { string carrito = await js.GetFromLocalStorage("Carrito"); string lista = await js.GetFromLocalStorage("lista"); if (!string.IsNullOrWhiteSpace(carrito) && !string.IsNullOrWhiteSpace(lista)) { if (listaVigente.Id == (Convert.ToInt32(lista))) { var elemCarrito = carrito.Split(','); foreach (string producto in elemCarrito) { var detalle = producto.Split('-'); try { ProductoPresentacion productoPresentacion = listaVigente.DetalleListaPrecios.Single(x => x.ProductoPresentacionId == Convert.ToInt32(detalle[0])).ProductoPresentacion; await AgregarProductoLocalStore(productoPresentacion, Convert.ToInt32(detalle[1]), Convert.ToInt32(lista)); } catch (Exception) { toastService.ShowWarning("Algunos productos que estaban en el carrito ya no existen en esta lista"); } } } else { toastService.ShowWarning("La lista de precios con la que estaba cargada tu carrito no está habilitado para este usuario/localidad, por favor ingresa con tu usuario."); } } await callback.InvokeAsync(new Object()); }
public async Task <IActionResult> PutProductoPresentacion(int id, ProductoPresentacion productoPresentacion) { if (id != productoPresentacion.Id) { return(BadRequest()); } _context.Entry(productoPresentacion).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductoPresentacionExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public void verCantidadEnCarrito(ProductoPresentacion productoPresentacion) { if (productosEnCarrito.FirstOrDefault(x => x.producto.Id == productoPresentacion.Id) != null) { cantidad = productosEnCarrito.FirstOrDefault(x => x.producto.Id == productoPresentacion.Id).cantidad; } else { cantidad = 0; } }
public decimal descuento(ProductoPresentacion prod) { try { return(lista.DetalleListaPrecios.FirstOrDefault(x => x.ProductoPresentacionId == prod.Id).porcentajeDescuento); } catch (Exception) { return(0.00M); } }
public decimal calcularPrecio(ProductoPresentacion prod) { try { return(lista.DetalleListaPrecios.FirstOrDefault(x => x.ProductoPresentacionId == prod.Id).precioUnitarioFinal); } catch (Exception) { return(0.00M); } }
public async Task <decimal> BuscarCosto(ProductoPresentacion producto) { if (producto.esFormulado && producto.FormulaProducto != null) { return(await http.GetJsonAsync <decimal>($"api/FormulaProducto/CostoFormula?FormulaId={producto.FormulaProducto?.Id}")); } else { return(producto.costo); } }
public async Task AgregarProducto(ProductoPresentacion prod, int cantidad, int listaId) { int cantidadAnterior = 0; if (pedido.ListaPreciosId != 0 && pedido.ListaPreciosId != listaId && pedido.detallePedido.Count > 0) { toastService.ShowWarning("No puede agregar productos de listas distintas. Para cambiar de lista tienes que vaciar el carrito primero"); } else { pedido.ListaPreciosId = listaId; pedido.ListaPrecios = listaVigente; await js.SetInLocalStorage("lista", Convert.ToString(listaId)); if (pedido.detallePedido.Where(x => x.ProductoPresentacion.Id == prod.Id).Count() > 0) { cantidadAnterior = pedido.detallePedido.FirstOrDefault(x => x.ProductoPresentacion.Id == prod.Id).cantidad; pedido.detallePedido.FirstOrDefault(x => x.ProductoPresentacion.Id == prod.Id).cantidad = cantidad; } else { decimal precio = listaVigente.DetalleListaPrecios.Single(x => x.ProductoPresentacionId == prod.Id).precioUnitarioFinal; pedido.detallePedido.Add(new DetallePedido { ProductoPresentacionId = prod.Id, ProductoPresentacion = prod, cantidad = cantidad, precioUnitario = precio }); } CalcularTotal(); notificacion notificacion = new notificacion { productoPresentacion = prod, entra = cantidad > cantidadAnterior ? true : false, sale = cantidad < cantidadAnterior ? true : false, cantidad = Math.Abs(cantidadAnterior - cantidad) }; notificaciones.Add(notificacion); LimpiarNotifiacion(notificacion); await carritoInLocalStore(); //await mostrarNotificacion(); } }
public async Task EliminarProductoPresentacion(ProductoPresentacion productoPresentacion) { //toastService.ShowError(result.Content.ReadAsStringAsync().Result); //Console.WriteLine(result.ReasonPhrase); //Console.WriteLine(result.); var result = await repositorio.Delete($"api/productoPresentacion/{productoPresentacion.Id}"); if (result.Error) { error = result.HttpResponseMessage.Content.ReadAsStringAsync().Result; Console.WriteLine(error); toastService.ShowError(error); } await BuscarProducto(); }
public async Task AgregarProductoLocalStore(ProductoPresentacion prod, int cantidad, int listaId) { pedido.ListaPreciosId = listaId; if (pedido.detallePedido.Where(x => x.ProductoPresentacion.Id == prod.Id).Count() > 0) { pedido.detallePedido.FirstOrDefault(x => x.ProductoPresentacion.Id == prod.Id).cantidad = cantidad; } else { decimal precio = listaVigente.DetalleListaPrecios.Single(x => x.ProductoPresentacionId == prod.Id).precioUnitarioFinal; pedido.detallePedido.Add(new DetallePedido { ProductoPresentacionId = prod.Id, ProductoPresentacion = prod, cantidad = cantidad, precioUnitario = precio }); } CalcularTotal(); this.producto = prod; this.cantidad = cantidad; }
public async Task <ActionResult <ProductoPresentacion> > GetproductoPresentacionesUnica(int productoPresentacionId) { var queryble = _context.productoPresentacion.Where(x => x.Id == productoPresentacionId) .Include(x => x.PresentacionProducto).Include(x => x.Proveedor) .Include(x => x.FormulaProducto) .ThenInclude(y => y.DetallesFormula) .Include(x => x.Producto) .ThenInclude(y => y.CategoriaProducto) .OrderBy(x => x.PresentacionProducto.cantidad).AsQueryable(); ProductoPresentacion productoPresentacion = await queryble.FirstOrDefaultAsync(); if (productoPresentacion.esFormulado && productoPresentacion.FormulaProducto != null) { productoPresentacion.FormulaProducto.DetallesFormula = GetdetalleFormula(productoPresentacion.FormulaProducto.Id); } return(productoPresentacion); }
public async Task removeFromProducCard(ProductoPresentacion producto) { int cantidad = pedido.detallePedido.Single(x => x.ProductoPresentacionId == producto.Id).cantidad; pedido.detallePedido.Remove(pedido.detallePedido.Single(x => x.ProductoPresentacionId == producto.Id)); await carritoInLocalStore(); CalcularTotal(); notificacion notificacion = new notificacion { productoPresentacion = producto, entra = false, sale = true, cantidad = Math.Abs(cantidad) }; notificaciones.Add(notificacion); LimpiarNotifiacion(notificacion); }
public async Task <ActionResult <ProductoPresentacion> > PostProductoPresentacion(ProductoPresentacion productoPresentacion) { _context.productoPresentaciones.Add(productoPresentacion); await _context.SaveChangesAsync(); return(CreatedAtAction("GetProductoPresentacion", new { id = productoPresentacion.Id }, productoPresentacion)); }
public ProductoPresentacion ProductoPresentacionSeleccionado(ProductoPresentacion productoPresentacion) { this.productoPresentacion = productoPresentacion; this.StateHasChanged(); return(productoPresentacion); }