public IActionResult SaveRetiro([FromBody] Retiro retiro) { try { if (ModelState.IsValid) { if (retiro.IdRetiro == 0) { PosUoW.RetirosRepository.Add(retiro); } else { PosUoW.RetirosRepository.Update(retiro); } PosUoW.Save(); return(Ok(retiro)); } else { return(BadRequest("Error al guardar el retiro")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveDepartamento([FromBody] TipoPago tipoPago) { try { if (ModelState.IsValid) { if (tipoPago.idTipoPago == 0) { PosUoW.TipoPagoRepository.Add(tipoPago); } else { PosUoW.TipoPagoRepository.Update(tipoPago); } PosUoW.Save(); return(Ok(tipoPago)); } else { return(BadRequest("Los datos del tipo de pago son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveImpuesto([FromBody] Impuestos impuestos) { try { if (ModelState.IsValid) { if (impuestos.idImpuesto == 0) { PosUoW.ImpuestosRepository.Add(impuestos); } else { PosUoW.ImpuestosRepository.Update(impuestos); } PosUoW.Save(); return(Ok(impuestos)); } else { return(BadRequest("Los datos del impuesto son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveCashClose([FromBody] Cortes corte) { try { if (ModelState.IsValid) { if (corte.IdCorte == 0) { PosUoW.CortesRepository.Add(corte); } else { PosUoW.CortesRepository.Update(corte); } PosUoW.Save(); return(Ok(PosUoW.CortesRepository.GetCorteInfo(corte))); } else { return(BadRequest("Los datos del corte son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveCatalogSat([FromBody] CatalogoSat catalog) { try { if (ModelState.IsValid) { if (catalog.idCatalogoSat == 0) { PosUoW.CatalogoSatRepository.Add(catalog); } else { PosUoW.CatalogoSatRepository.Update(catalog); } PosUoW.Save(); return(Ok(catalog)); } else { return(BadRequest("Los datos del catalogo son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveUser([FromBody] Usuarios usuario) { try { if (ModelState.IsValid) { if (usuario.idUsuario == 0) { PosUoW.UsuariosRepository.Add(usuario); } else { PosUoW.UsuariosRepository.Update(usuario); } PosUoW.Save(); return(Ok(usuario)); } else { return(BadRequest("Los datos de la venta son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveProduct([FromBody] Productos producto) { try { if (ModelState.IsValid) { if (producto.idProducto == 0) { PosUoW.ProductosRepository.Add(producto); } else { PosUoW.ProductosRepository.Update(producto); } PosUoW.Save(); return(Ok(producto)); } else { return(BadRequest("Los datos del producto son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveAlmacenes([FromBody] Almacenes almacen) { try { if (ModelState.IsValid) { if (almacen.idAlmacen == 0) { PosUoW.AlmacenesRepository.Add(almacen); } else { PosUoW.AlmacenesRepository.Update(almacen); } PosUoW.Save(); return(Ok(almacen)); } else { return(BadRequest("Los datos del almacen son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveBrand([FromBody] Marca marca) { try { if (ModelState.IsValid) { if (marca.idMarca == 0) { PosUoW.MarcaRepository.Add(marca); } else { PosUoW.MarcaRepository.Update(marca); } PosUoW.Save(); return(Ok(marca)); } else { return(BadRequest("Los datos de la marca son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveProveedor([FromBody] Proveedores proveedor) { try { if (ModelState.IsValid) { if (proveedor.idProveedor == 0) { PosUoW.ProveedoresRepository.Add(proveedor); } else { PosUoW.ProveedoresRepository.Update(proveedor); } PosUoW.Save(); return(Ok(PosUoW.ProveedoresRepository.GetSupplierWithProductsById(proveedor.idProveedor))); } else { return(BadRequest("Los datos del proveedor son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveUnitSat([FromBody] UnidadSat unidad) { try { if (ModelState.IsValid) { if (unidad.idUnidadSat == 0) { PosUoW.UnidadSatRepository.Add(unidad); } else { PosUoW.UnidadSatRepository.Update(unidad); } PosUoW.Save(); return(Ok(unidad)); } else { return(BadRequest("Los datos de la unidad sat son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveTurno([FromBody] Turnos turno) { try { if (ModelState.IsValid) { if (turno.IdTurno == 0) { PosUoW.TurnosRepository.Add(turno); } else { PosUoW.TurnosRepository.Update(turno); } PosUoW.Save(); return(Ok(turno)); } else { return(BadRequest("Los datos de la marca son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult AddCompra(long orden, [FromBody] Compras compra) { try { if (ModelState.IsValid) { foreach (ProductosCompra item in compra.ProductosCompra) { ProductoAlmacen productoAlmacen = PosUoW.ProductoAlmacenRepository.GetSingleByCriteria(x => x.idProducto.Equals(item.idProducto) && x.idAlmacen.Equals(compra.idAlmacen)); List <ProductoAlmacen> existenciaProducto = PosUoW.ProductoAlmacenRepository.GetAllByCriteria(x => x.idProducto.Equals(item.idProducto), x => x.idProductoAlmacen).ToList(); float existencia = existenciaProducto.Sum(x => x.Existencia); Productos producto = PosUoW.ProductosRepository.GetById(a => a.idProducto.Equals(item.idProducto)); float dif = existencia < 0 ? existencia : 0; item.Restante = item.Cantidad + dif; item.Costo = item.Monto / item.Cantidad; if (productoAlmacen != null) { productoAlmacen.Existencia += item.Cantidad; PosUoW.ProductoAlmacenRepository.Update(productoAlmacen); } else { productoAlmacen = new ProductoAlmacen { Existencia = item.Cantidad, idAlmacen = compra.idAlmacen, idProducto = producto.idProducto }; PosUoW.ProductoAlmacenRepository.Add(productoAlmacen); } if (item.Costo != producto.PrecioCosto) { producto.PrecioCosto = item.Costo; PosUoW.ProductosRepository.Update(producto); } } Ordenes ordenResult = PosUoW.OrdenesRepository.GetById(x => x.idOrden.Equals(orden)); PosUoW.ComprasRepository.Add(compra); PosUoW.Save(); if (ordenResult != null) { ordenResult.idCompra = compra.FolioCompra; ordenResult.Estatus = 'S'; PosUoW.OrdenesRepository.Update(ordenResult); } PosUoW.Save(); return(Ok(compra)); } else { return(BadRequest("Los datos de la venta son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult AddOrders([FromBody] List <Ordenes> orderList) { try { if (ModelState.IsValid) { PosUoW.OrdenesRepository.AddRange(orderList); PosUoW.Save(); return(Ok()); } else { return(BadRequest("Los datos de las ordenes son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult UpdateOrder([FromBody] Ordenes orden) { try { if (ModelState.IsValid) { PosUoW.OrdenesRepository.Update(orden); PosUoW.Save(); return(Ok()); } else { return(BadRequest("Los datos de la orden son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult SaveProducts([FromBody] List <Productos> producto) { try { if (producto != null && producto.Count() > 0) { PosUoW.ProductosRepository.AddRange(producto); PosUoW.Save(); return(Ok(producto)); } else { return(BadRequest("Los datos del producto son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult DeleteProductPromotion(long idProductoPromocion) { try { ProductosPromocion producto = PosUoW.ProductosPromocionRepository.GetById(x => x.idProductoPromocion.Equals(idProductoPromocion)); if (producto != null) { PosUoW.ProductosPromocionRepository.Remove(producto); PosUoW.Save(); return(Ok()); } else { return(NotFound()); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult DeletePantallaUsuario(long idPantallaUsuario) { try { PantallasUsuario screenToRemove = PosUoW.PantallasUsuarioRepository.GetById(x => x.idPantallasUsuario.Equals(idPantallaUsuario)); if (screenToRemove != null) { PosUoW.PantallasUsuarioRepository.Remove(screenToRemove); PosUoW.Save(); return(Ok()); } else { return(NotFound()); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult DeleteProductoProveedorById(int idProductoProveedor) { ProductosProveedor proveedor = PosUoW.ProductosProveedorRepository.GetById(x => x.idProductoProveedor.Equals(idProductoProveedor)); try { if (proveedor != null) { PosUoW.ProductosProveedorRepository.Remove(proveedor); PosUoW.Save(); return(Ok()); } else { return(NotFound()); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult CancelaVenta([FromBody] CancelacionDto cancelacion) { try { Ventas venta = PosUoW.VentasRepository.GetVentaByFolio(cancelacion.folioVenta); if (venta != null) { venta.Estatus = 'C'; venta.idUsuarioCancela = cancelacion.idUsuario; foreach (VentaLote lote in venta.Lotes) { ProductosCompra compra = PosUoW.ProductosCompraRepository.GetById(a => a.idCompraProducto.Equals(lote.idProductoCompra)); if (compra != null) { compra.Restante += lote.cantidad; } lote.estatus = false; } foreach (ProductosVenta producto in venta.Productos) { producto.Estatus = false; Productos currentProduct = PosUoW.ProductosRepository.GetById(x => x.idProducto.Equals(producto.idProducto)); Almacenes principalWarehouse = PosUoW.AlmacenesRepository.GetSingleByCriteria(x => x.Principal); ProductoAlmacen almacen = PosUoW.ProductoAlmacenRepository.GetSingleByCriteria(x => x.idProducto.Equals(currentProduct.idProducto) && x.idAlmacen.Equals(principalWarehouse.idAlmacen)); almacen.Existencia += producto.Cantidad; } PosUoW.Save(); return(Ok(venta)); } else { return(NotFound()); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult DeletePluProductoById(int idPlu) { PLUProductos plu = PosUoW.PLUProductoRepository.GetById(x => x.idPLU.Equals(idPlu)); try { if (plu != null) { PosUoW.PLUProductoRepository.Remove(plu); PosUoW.Save(); return(Ok()); } else { return(NotFound()); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult UpdateUserPermissionsScreens([FromBody] PermissionsUserDto usuario) { try { Usuarios usuarioUpdate = PosUoW.UsuariosRepository.GetById(x => x.idUsuario == usuario.idUsuario); if (usuarioUpdate != null) { usuarioUpdate.PantallasUsuario = usuario.pantallasUsuario; PosUoW.UsuariosRepository.Update(usuarioUpdate); PosUoW.Save(); return(Ok(usuarioUpdate)); } else { return(NotFound()); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult DeleteImpuestoProductoById(int idImpuestoProducto) { ImpuestoProductos producto = PosUoW.ImpuestoProductosRepository.GetById(x => x.idImpuestoProducto.Equals(idImpuestoProducto)); try { if (producto != null) { PosUoW.ImpuestoProductosRepository.Remove(producto); PosUoW.Save(); return(Ok()); } else { return(NotFound()); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult DeleteProductoProveedor([FromBody] ProductosProveedor productoProveedor) { try { if (ModelState.IsValid) { ProductosProveedor productosProveedorResult = PosUoW.ProductosProveedorRepository.GetSingleByCriteria(x => x.idProducto.Equals(productoProveedor.idProducto) && x.idProveedor.Equals(productoProveedor.idProveedor)); if (productosProveedorResult != null) { PosUoW.ProductosProveedorRepository.Remove(productosProveedorResult); } PosUoW.Save(); return(Ok()); } else { return(BadRequest("Los datos del proveedor no son correctos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public IActionResult AddVenta([FromBody] Ventas venta) { try { if (ModelState.IsValid) { float utilidad = 0; foreach (ProductosVenta item in venta.Productos) { item.Estatus = true; Productos producto = PosUoW.ProductosRepository.GetById(a => a.idProducto.Equals(item.idProducto)); List <ProductosCompra> productosCompra = PosUoW.ProductosCompraRepository.GetAllByCriteria(x => x.idProducto.Equals(producto.idProducto) && x.Restante > 0, x => x.idCompraProducto).ToList(); float restante = item.Cantidad; for (int i = 0; i < productosCompra.Count(); i++) { VentaLote lote = new VentaLote(); ProductosCompra productoCompra = productosCompra.ElementAt(i); if (productoCompra.Restante == restante) { lote.idProducto = producto.idProducto; lote.idProductoCompra = productoCompra.idCompraProducto; lote.estatus = true; lote.cantidad = restante; restante = 0; utilidad += productoCompra.Restante * productoCompra.Costo; productoCompra.Restante = 0; i = productosCompra.Count(); } else if (productoCompra.Restante > restante) { lote.idProducto = producto.idProducto; lote.idProductoCompra = productoCompra.idCompraProducto; lote.estatus = true; lote.cantidad = restante; utilidad += restante * productoCompra.Costo; productoCompra.Restante -= restante; i = productosCompra.Count(); restante = 0; } else { lote.idProducto = producto.idProducto; lote.idProductoCompra = productoCompra.idCompraProducto; lote.estatus = true; lote.cantidad = productoCompra.Restante; utilidad += productoCompra.Restante * productoCompra.Costo; restante -= productoCompra.Restante; productoCompra.Restante = 0; } venta.Lotes.Add(lote); PosUoW.ProductosCompraRepository.Update(productoCompra); } if (restante > 0) { utilidad += restante * producto.PrecioCosto; } Almacenes principalWarehouse = PosUoW.AlmacenesRepository.GetSingleByCriteria(x => x.Principal); ProductoAlmacen almacen = PosUoW.ProductoAlmacenRepository.GetSingleByCriteria(x => x.idProducto.Equals(item.idProducto) && x.idAlmacen.Equals(principalWarehouse.idAlmacen)); if (almacen == null) { almacen = new ProductoAlmacen { idAlmacen = principalWarehouse.idAlmacen, idProducto = producto.idProducto, Existencia = 0 }; PosUoW.ProductoAlmacenRepository.Add(almacen); PosUoW.Save(); } almacen.Existencia -= item.Cantidad; PosUoW.ProductosRepository.Update(producto); } utilidad = (float)Math.Round((venta.Total - venta.Impuestos) - utilidad, 2); venta.Utilidad = utilidad; PosUoW.VentasRepository.Add(venta); PosUoW.Save(); return(Ok(new { venta = venta, totalEfectivo = totalEfectivo(venta.idUsuario) })); } else { return(BadRequest("Los datos de la venta son incorrectos")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }