private void ValidarProveedor(Prov obj, string empresaDB, bool isGuardar) { using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB)); Prov proveedor = db.Prov.FirstOrDefault(p => p.CoProv.Trim() == obj.CoProv.Trim()); if (proveedor == null || !isGuardar) { #region Tipo proveedor TipoPro tipoPro = db.TipoPro.FirstOrDefault(tp => tp.TipPro.Trim() == obj.Tipo.Trim()); if (tipoPro == null) { throw new ArgumentException($"El tipo de proveedor [{obj.Tipo.Trim()}] indicado no existe."); } #endregion #region Zona Zona zona = db.Zona.FirstOrDefault(z => z.CoZon.Trim() == obj.CoZon.Trim()); if (zona == null) { throw new ArgumentException($"La zona {obj.CoZon.Trim()} indicada no existe."); } #endregion #region Segmento Segmento segmento = db.Segmento.FirstOrDefault(s => s.CoSeg.Trim() == obj.CoSeg.Trim()); if (segmento == null) { throw new ArgumentException($"El segmento {obj.CoSeg.Trim()} indicado no existe."); } #endregion #region Cuenta ingr/egre CtaIngr ctaIngr = db.CtaIngr.FirstOrDefault(f => f.CoIngr.Trim() == obj.CoIngr.Trim()); if (ctaIngr == null) { throw new ArgumentException($"La cuenta ingreso/egreso {obj.CoIngr.Trim()} indicada no existe."); } #endregion #region Sucursal Utilitarios utilitarios = new Utilitarios(); utilitarios.GetSucursal(obj.CoSucu, empresaDB); #endregion #region Tabulador ISLR TabIslr tabulador = db.TabIslr.FirstOrDefault(t => t.CoTab == obj.CoTab); if (tabulador == null) { throw new ArgumentException($"El tabulador de ISLR {obj.CoTab} indicado no existe."); } #endregion } else { throw new ArgumentException($"El Proveedor {obj.CoProv.Trim()} indicado ya existe."); } }
private void ValidarCliente(Clientes obj, string empresaDB, bool isGuardar) { using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB)); Clientes cliente = db.Clientes.FirstOrDefault(c => c.CoCli == obj.CoCli); /*El parametro isGuardar se estable para validar registros inclusive editando*/ if (cliente == null || !isGuardar) { #region Tipo cliente TipoCli tipo = db.TipoCli.FirstOrDefault(t => t.TipCli.Trim() == obj.Tipo.Trim()); if (tipo == null) { throw new ArgumentException($"El tipo de cliente {obj.Tipo.Trim()} indicado no existe."); } #endregion #region Zona Zona zona = db.Zona.FirstOrDefault(z => z.CoZon.Trim() == obj.CoZon.Trim()); if (zona == null) { throw new ArgumentException($"La zona {obj.CoZon.Trim()} indicada no existe."); } #endregion #region Segmento Segmento segmento = db.Segmento.FirstOrDefault(s => s.CoSeg.Trim() == obj.CoSeg.Trim()); if (segmento == null) { throw new ArgumentException($"El segmento {obj.CoSeg.Trim()} indicado no existe."); } #endregion #region Vendedor Vendedor vendedor = db.Vendedor.FirstOrDefault(v => v.CoVen.Trim() == obj.CoVen.Trim()); if (vendedor == null) { throw new ArgumentException($"El vendedor {obj.CoVen.Trim()} indicado no existe."); } #endregion #region Cuenta ingr/egre CtaIngr ctaIngr = db.CtaIngr.FirstOrDefault(f => f.CoIngr.Trim() == obj.CoIngr.Trim()); if (ctaIngr == null) { throw new ArgumentException($"La cuenta ingreso/egreso {obj.CoIngr.Trim()} indicada no existe."); } #endregion #region Sucursal Utilitarios utilitarios = new Utilitarios(); utilitarios.GetSucursal(obj.CoSucu, empresaDB); #endregion #region Tabulador ISLR TabIslr tabulador = db.TabIslr.FirstOrDefault(t => t.CoTab == obj.CoTab); if (tabulador == null) { throw new ArgumentException($"El tabulador de ISLR {obj.CoTab} indicado no existe."); } #endregion } else { throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado ya existe."); } }
private void ValidarFactura(EncabFacturaVenta obj, string empresaDB) { using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB)); Utilitarios utilitarios = new Utilitarios(); #region Verificar cliente cliente = new ClientesRepositorio().GetCliente(obj.CoCli, empresaDB); if (cliente == null) { throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado para la factura no existe."); } else { if (cliente.Inactivo) { throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado para la factura se encuentra inactivo."); } } #endregion #region Verificar vendedor Vendedor vendor = new VendedoresRepositorio().Find(obj.CoVen, empresaDB); if (vendor != null) { if (!vendor.FunVen) { throw new ArgumentException($"Vendedor {obj.CoVen} indicado no tiene función de 'vendedor'."); } } else { throw new ArgumentException($"El vendedor {obj.CoVen} suministrado no existe."); } #endregion #region Verificar transporte Transpor transporte = db.Transpor.FirstOrDefault(t => t.CoTran == obj.CoTran); if (transporte == null) { throw new ArgumentException($"El transporte {obj.CoTran} suministrado no existe."); } #endregion #region Verificar condicion de pago Condicio condicion = db.Condicio.FirstOrDefault(c => c.CoCond == obj.FormaPag); if (condicion == null) { throw new ArgumentException($"La condición de pago {obj.FormaPag} suministrado no existe."); } #endregion #region Verificar moneda utilitarios.GetMoneda(obj.Moneda, empresaDB); #endregion #region Verificar sucursal utilitarios.GetSucursal(obj.CoSucu, empresaDB); #endregion #region Verificar datos en renglones de factura foreach (var iRengFac in obj.DetaFacturaVenta) { #region Verificar articulo Art articulo = db.Art.FirstOrDefault(a => a.CoArt == iRengFac.CoArt); if (articulo == null) { throw new ArgumentException($"El artículo {iRengFac.CoArt.Trim()} suministrado en el renglón {iRengFac.RengNum} no existe."); } #endregion #region Verificar almacen SubAlma almacen = db.SubAlma.FirstOrDefault(a => a.CoSub == iRengFac.CoAlma); if (almacen == null) { throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no existe."); } else { if (almacen.CoAlma.Trim() != obj.CoSucu.Trim()) { throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no está permitido utilizarlo en la sucursal suministrada {obj.CoSucu.Trim()}."); } if (almacen.Noventa) { throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no está permitido utilizarlo en el módulo de facturas."); } } #endregion #region Verificar unidad primaria Unidades unidad = db.Unidades.FirstOrDefault(u => u.CoUni == iRengFac.UniVenta); if (unidad == null) { throw new ArgumentException($"La unidad de venta {iRengFac.UniVenta.Trim()} suministrada en el renglón {iRengFac.RengNum} no existe."); } #endregion } #endregion }
private void ValidarArticulo(Art obj, string empresaDB, bool isGuardar) { using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB)); Art articulo = db.Art.FirstOrDefault(a => a.CoArt.Trim() == obj.CoArt.Trim()); /*El parametro isGuardar se estable para validar registros inclusive editando*/ if (articulo == null || !isGuardar) { #region Verificar linea LinArt linea = db.LinArt.FirstOrDefault(l => l.CoLin.Trim() == obj.CoLin.Trim()); if (linea == null) { throw new ArgumentException($"La línea {obj.CoLin.Trim()} indicada no existe."); } #endregion #region Verificar sublinea SubLin sublinea = db.SubLin.FirstOrDefault(sl => sl.CoSubl.Trim() == obj.CoSubl.Trim() && sl.CoLin.Trim() == obj.CoLin.Trim()); if (sublinea == null) { throw new ArgumentException($"La Sublínea {obj.CoSubl.Trim()} indicada no existe ó no pertenece a la línea {obj.CoLin.Trim()} verifique."); } #endregion #region Varificar catergoria CatArt categoria = db.CatArt.FirstOrDefault(c => c.CoCat.Trim() == obj.CoCat.Trim()); if (categoria == null) { throw new ArgumentException($"La categoría {obj.CoCat.Trim()} indicada no existe."); } #endregion #region Verificar color Colores color = db.Colores.FirstOrDefault(c => c.CoCol.Trim() == obj.CoColor.Trim()); if (color == null) { throw new ArgumentException($"El coloro {obj.CoColor.Trim()} indicado no existe."); } #endregion #region Verificar procedencia Proceden procedencia = db.Proceden.FirstOrDefault(p => p.CodProc.Trim() == obj.Procedenci.Trim()); if (procedencia == null) { throw new ArgumentException($"La procedencia {obj.Procedenci.Trim()} indicada no existe."); } #endregion #region Verificar proveedor Prov proveedor = db.Prov.FirstOrDefault(p => p.CoProv.Trim() == obj.CoProv.Trim()); if (proveedor == null) { throw new ArgumentException($"El proveedor {obj.CoProv.Trim()} indicado no existe."); } #endregion #region VErificar unidad primaria Unidades unidad = db.Unidades.FirstOrDefault(u => u.CoUni.Trim() == obj.UniVenta.Trim()); if (unidad == null) { throw new ArgumentException($"La unidad primaria {obj.UniVenta.Trim()} indicada no existe."); } #endregion #region Verificar sucursal Utilitarios utilitarios = new Utilitarios(); utilitarios.GetSucursal(obj.CoSucu, empresaDB); #endregion } else { throw new ArgumentException($"El artículo {obj.CoArt.Trim()} indicado ya existe."); } }
private void ValidarDevolucion(EncabDevolucionVenta obj, string empresaDB) { using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB)); Utilitarios utilitarios = new Utilitarios(); #region Verificar caja ppal para el cobro caja = db.Cajas.FirstOrDefault(c => c.Cajapri == true); if (caja == null) { throw new ArgumentException("No existe una caja principal para la cancelación del cobro. Llame a su consultor profit."); } #endregion #region Verificar cliente cliente = new ClientesRepositorio().GetCliente(obj.CoCli, empresaDB); if (cliente == null) { throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado para la devolución no existe."); } else { if (cliente.Inactivo) { throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado para la devolución se encuentra inactivo."); } } #endregion #region Verificar vendedor Vendedor vendor = new VendedoresRepositorio().Find(obj.CoVen, empresaDB); if (vendor != null) { if (!vendor.FunVen) { throw new ArgumentException($"Vendedor {obj.CoVen} indicado no tiene función de 'vendedor'."); } if (!vendor.FunCob) { throw new ArgumentException($"Vendedor {obj.CoVen} indicado no tiene función de 'cobrador'."); } } else { throw new ArgumentException($"El vendedor {obj.CoVen} suministrado no existe."); } #endregion #region Verificar transporte Transpor transporte = db.Transpor.FirstOrDefault(t => t.CoTran == obj.CoTran); if (transporte == null) { throw new ArgumentException($"El transporte {obj.CoTran} suministrado no existe."); } #endregion #region Verificar condicion de pago Condicio condicion = db.Condicio.FirstOrDefault(c => c.CoCond == obj.FormaPag); if (condicion == null) { throw new ArgumentException($"La condición de pago {obj.FormaPag} suministrado no existe."); } #endregion #region Verificar moneda utilitarios.GetMoneda(obj.Moneda, empresaDB); #endregion #region Verificar sucursal utilitarios.GetSucursal(obj.CoSucu, empresaDB); #endregion #region Verificar datos en renglones de factura foreach (var iRengFac in obj.DetaDevolucionVenta) { #region Verificar factura factura = new FacturasVentasRepositorio().Find(iRengFac.NumDoc, empresaDB); if (factura == null) { throw new ArgumentException($"La factura {iRengFac.NumDoc} indicada en el renglón {iRengFac.RengNum} en la devolución de cliente no existe."); } if (factura.Anulada) { throw new ArgumentException($"La factura {iRengFac.NumDoc} indicada en el renglón {iRengFac.RengNum} en la devolución de cliente se encuentra anulada."); } if (factura.Saldo == 0) { throw new ArgumentException($"La factura {iRengFac.NumDoc} indicada en el renglón {iRengFac.RengNum} se encuentra procesada [Saldo=0.00]."); } if (factura.Saldo < iRengFac.RengNeto) { throw new ArgumentException($"La factura {iRengFac.NumDoc} tiene un saldo menor al monto indicado en el renglón {iRengFac.RengNum}."); } if (factura.DetaFacturaVenta.FirstOrDefault(ra => ra.CoArt.Trim() == iRengFac.CoArt.Trim()) == null) { throw new ArgumentException($"El artículo {iRengFac.CoArt.Trim()} indicado en el renglón {iRengFac.RengNum} no se encontró en la factura."); } #endregion #region Verificar articulo Art articulo = new ArticulosRepositorio().Find(iRengFac.CoArt, empresaDB); if (articulo == null) { throw new ArgumentException($"El artículo {iRengFac.CoArt.Trim()} suministrado en el renglón {iRengFac.RengNum} no existe."); } #endregion #region Verificar almacen SubAlma almacen = db.SubAlma.FirstOrDefault(a => a.CoSub == iRengFac.CoAlma); if (almacen == null) { throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no existe."); } else { if (almacen.CoAlma.Trim() != obj.CoSucu.Trim()) { throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no está permitido utilizarlo en la sucursal suministrada {obj.CoSucu.Trim()}."); } if (almacen.Noventa) { throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no está permitido utilizarlo en el módulo de facturas."); } } #endregion #region Verificar unidad primaria Unidades unidad = db.Unidades.FirstOrDefault(u => u.CoUni == iRengFac.UniVenta); if (unidad == null) { throw new ArgumentException($"La unidad de venta {iRengFac.UniVenta.Trim()} suministrada en el renglón {iRengFac.RengNum} no existe."); } #endregion } #endregion }