public IActionResult Put(Proveedor proveedor) { var result = _context.Proveedor.Attach(proveedor); _context.Entry(proveedor).State = EntityState.Modified; _context.SaveChanges(); return(Ok(result.Entity)); }
public IActionResult Put(Cliente cliente) { var result = _context.Cliente.Attach(cliente); _context.Entry(cliente).State = EntityState.Modified; _context.SaveChanges(); return(Ok(result.Entity)); }
public IActionResult Put(Categoria categoria) { var result = _context.Categoria.Attach(categoria); _context.Entry(categoria).State = EntityState.Modified; _context.SaveChanges(); return(Ok(result.Entity)); }
public IActionResult Post([FromBody] PedidoDto dto) { // Consulta los id de producto enviados por el frontend var products = _context.Producto.Where(x => dto.ListaProductos.Select(s => s.IdProducto).Contains(x.Id)); decimal total = 0; // Calcula el valor total del pedido multiplicando el precio de cada producto por su cantidad y sumandolo foreach (var producto in products) { var cantidad = dto.ListaProductos.First(x => x.IdProducto == producto.Id).Cantidad; total += cantidad * producto.Precio; } var pedido = new Pedido { IdCliente = dto.IdCliente, IdUsuario = dto.IdUsuario, ValorTotal = total, CreatedOn = DateTime.Now }; var result = _context.Pedido.Add(pedido); _context.SaveChanges(); foreach (var item in dto.ListaProductos) { Producto producto = _context.Producto.First(x => x.Id == item.IdProducto); producto.Stock -= item.Cantidad; _context.Producto.Attach(producto); _context.Entry(producto).State = EntityState.Modified; _context.SaveChanges(); var productItem = new PedidoProducto { IdPedido = result.Entity.Id, IdProducto = item.IdProducto, Cantidad = item.Cantidad, ValorTotal = item.Cantidad * producto.Precio }; _context.PedidoProducto.Add(productItem); _context.SaveChanges(); } return(Created("", result.Entity)); }
public IActionResult PostRecuperarCuenta([FromBody] RecoverPasswordEmail email) { var user = _context.Usuarios.FirstOrDefault(x => x.Correo == email.Email); if (user != null) { user.TokenExpiration = DateTime.Now.AddDays(1); user.Token = Guid.NewGuid(); var result = _context.Usuarios.Attach(user); _context.Entry(user).State = EntityState.Modified; _context.SaveChanges(); Email.send(user.Correo, user.Token, "recoverPasswordEmail", "Solicitud de recuperacion de contraseña"); return(Ok()); } return(BadRequest(new { message = "El correo no existe" })); }