Beispiel #1
0
 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));
     }
 }
Beispiel #2
0
 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));
     }
 }
Beispiel #3
0
 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));
     }
 }
Beispiel #4
0
 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));
     }
 }
Beispiel #5
0
 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));
     }
 }
Beispiel #6
0
 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));
     }
 }
Beispiel #7
0
 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));
     }
 }
Beispiel #8
0
 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));
     }
 }
Beispiel #9
0
 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));
     }
 }
Beispiel #10
0
 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));
     }
 }
Beispiel #11
0
 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));
     }
 }
Beispiel #12
0
 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));
     }
 }
Beispiel #13
0
        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));
            }
        }
Beispiel #14
0
 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));
     }
 }
Beispiel #15
0
 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));
     }
 }
Beispiel #16
0
 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));
     }
 }
Beispiel #17
0
 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));
     }
 }
Beispiel #18
0
 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));
            }
        }
Beispiel #20
0
 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));
     }
 }
Beispiel #21
0
        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));
            }
        }
Beispiel #22
0
 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));
     }
 }
Beispiel #23
0
        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));
            }
        }
Beispiel #24
0
 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));
     }
 }
Beispiel #25
0
 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));
     }
 }