예제 #1
0
        public Int64 Crear(cFactura Factura)
        {
            try
            {
                //FACTURAS A CREDITO
                if (Factura.TipoDocumento == "F" && (String)Factura.CondicionVenta == "CE")
                {
                    //VALIDAMOS EL BALANCE DEL CLIENTE
                    //LIMITE DE CREDITO
                    decimal LimiteCredito = ClienteDA.BuscarPorID((Int32)Factura.ClienteID).LimiteCredito;
                    //BALANCE ACTUAL DE CLIENTE
                    decimal Balance = ClienteDA.BuscarPorID((Int32)Factura.ClienteID).Balance;

                    if ((Factura.TotalGeneral + Balance) <= LimiteCredito)
                    {
                        return(FacturaDA.Crear(Factura));
                    }
                    else
                    {
                        throw new Exception("El cliente ha excedido el limite de credito permitido");
                    }
                }
                //DEVOLUCION Y COTIZACIONES
                else
                {
                    return(FacturaDA.Crear(Factura));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
 public void Cancelar(Int32 FacturaID)
 {
     try
     {
         cFactura Factura = FacturaDA.BuscarPorID(FacturaID);
         //Si el documento no ha sido cambiado el estatus de Original no puede ser cancelado
         if (Factura.EstatusID.ToString() == "O")
         {
             //Verificamos si la factura contiene movimientos en Cuentas por Cobrar
             List <cCuentasCobrar> Cuenta = (from c in CuentaCobrarDA.ListaCargosPagos(Factura.DocumentoID.ToString(), (Int32)Factura.ClienteID)
                                             where c.CodigoConcepto.ToString() != "Factura"
                                             select c).ToList();
             if (Cuenta.Count == 0)
             {
                 FacturaDA.Cancelar(FacturaID);
             }
             else
             {
                 throw new Exception("El documento posee movimientos contabilizados, no puede ser cancelada");
             }
         }
         else
         {
             throw new Exception("El documento posee movimientos contabilizados, no puede ser cancelada");
         }
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #3
0
 public void Inicializado()
 {
     //dgvFacturas.PrimaryGrid.AutoGenerateColumns = false;
     facturas  = new BindingList <Factura>();
     facturaDA = new FacturaDA();
     tarifaDA  = new TarifaDA();
 }
예제 #4
0
 public List <cReporteComisionVentaDetalle> ReporteComisionVentaDetalle(Int32?VendedorDesde, Int32?VendedorHasta, DateTime?FechaDesde, DateTime?FechaHasta)
 {
     try
     {
         return(FacturaDA.ReporteComisionVentaDetalle(VendedorDesde, VendedorHasta, FechaDesde, FechaHasta));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #5
0
 public List <cReporteFactura> Reporte(Int64 ID)
 {
     try
     {
         return(FacturaDA.Reporte(ID));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #6
0
 public List <cReporteFactura> ResumenNCF(DateTime FechaDesde, DateTime FechaHasta, Int64?ClienteDesde, Int64?ClienteHasta)
 {
     try
     {
         return(FacturaDA.ResumenNCF(FechaDesde, FechaHasta, ClienteDesde, ClienteHasta));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #7
0
 public Int64 ControlDocumento(String TipoDocumento)
 {
     //Devuelve el ultimo numero de la secuencia de acuerdo al tipo de documento
     try
     {
         return(FacturaDA.ControlDocumento(TipoDocumento));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #8
0
 public cFactura BuscarPorID(Int64 DocumentoID, String TipoDocumento)
 {
     //Buscamos la factura por el numero de documento y tipo
     try
     {
         return(FacturaDA.BuscarPorID(DocumentoID, TipoDocumento));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #9
0
 public List <cReporteDetalladoDocumento> ReporteDetalladoDocumentos(Int32?DocumentoDesde, Int32?DocumentoHasta, DateTime?FechaCreacionDesde,
                                                                     DateTime?FechaCreacionHasta, DateTime?FechaVencimientoDesde, DateTime?FechaVencimientoHasta,
                                                                     Int32?ClienteDesde, Int32?ClienteHasta, String TipoDocumento, Int32?VendedorID)
 {
     try
     {
         return(FacturaDA.ReporteDetalladoDocumentos(DocumentoDesde, DocumentoHasta, FechaCreacionDesde, FechaCreacionHasta, FechaVencimientoDesde, FechaVencimientoHasta, ClienteDesde, ClienteHasta, TipoDocumento, VendedorID));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
        public List <Factura> SeleccionaFactura(Int32 folio_factura)
        {
            List <Factura> facturas = new List <Factura>();

            try
            {
                facturas = FacturaDA.SeleccionaFacturas(folio_factura);
            }
            catch
            {
            }

            return(facturas);
        }
예제 #11
0
        public void Inicializado()
        {
            //dgvFacturas.PrimaryGrid.AutoGenerateColumns = false;
            facturas  = new BindingList <Factura>();
            facturaDA = new FacturaDA();


            facturasTransito = facturaDA.BuscarFacturasTransitoActivas();

            cmbFactura.DataSource    = facturasTransito;
            cmbFactura.DisplayMember = "numFacturaTransito";
            cmbFactura.SelectedIndex = -1;

            vistaCodigo.OptionsBehavior.AutoPopulateColumns = false;
            vistaCodigo.OptionsSelection.MultiSelect        = true;
        }
예제 #12
0
        public List <cFactura> Listar(String TipoDocumento)
        {
            //Listamos los documentos por su tipo

            /*
             * F= Facturas
             * C=Cotizaciones
             * D=Devoluciones
             */
            try
            {
                return(FacturaDA.Listar(TipoDocumento));
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
        }
예제 #13
0
 public List <cReporteArticulosDevueltos> ReporteArticulosDevueltos(Int64?DocumentoDesde,
                                                                    Int64?DocumentoHasta,
                                                                    DateTime?FechaDesde,
                                                                    DateTime?FechaHasta,
                                                                    Int64?CodigoCliente,
                                                                    Int32?VendedorID,
                                                                    String CodigoArticulo,
                                                                    Int32?Familia,
                                                                    String TipoArticulo)
 {
     try
     {
         return(FacturaDA.ReporteArticulosDevueltos(DocumentoDesde, DocumentoHasta, FechaDesde, FechaHasta, CodigoCliente, VendedorID, CodigoArticulo, Familia, TipoArticulo));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #14
0
        public void Inicializado()
        {
            facturaDA = new FacturaDA();
            facturas  = new BindingList <Factura>();

            dtpFechaEmision.Value = DateTime.Now;

            tablaFacturas = facturaDA.BuscarFacturasActivas();

            cmbFactura.DataSource    = tablaLaptopsIngreso;
            cmbFactura.DisplayMember = "numFactura";
            cmbFactura.SelectedIndex = -1;

            cmbAccion.Items.Add(accion1);
            cmbAccion.Items.Add(accion2);
            cmbAccion.SelectedIndex = -1;

            vistaFacturas.OptionsBehavior.AutoPopulateColumns = false;
            vistaFacturas.OptionsSelection.MultiSelect        = true;
        }
예제 #15
0
 public List <cReporteResumenFactura> ResumenFactura(Int64?DocumentoDesde,
                                                     Int64?DocumentoHasta,
                                                     Int32?FamiliaID,
                                                     String TipoArticulo,
                                                     DateTime?FechaDesde,
                                                     DateTime?FechaHasta,
                                                     Int64?ClienteDesde,
                                                     Int64?ClienteHasta,
                                                     String TipoDocumento,
                                                     Int32?VendedorID)
 {
     try
     {
         return(FacturaDA.ResumenFacturas(DocumentoDesde, DocumentoHasta, FamiliaID, TipoArticulo, FechaDesde, FechaHasta, ClienteDesde, ClienteHasta, TipoDocumento, VendedorID));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #16
0
 public List <cFactura> Filtrar(
     String TipoDocumento,
     Int32 ClienteID,
     Int32 DocumentoDesde,
     Int32 DocumentoHasta,
     DateTime FechaDesde,
     DateTime FechaHasta,
     Boolean IndGenerada,
     Boolean IndCancelada)
 {
     //Filtro de Cotizaciones
     try
     {
         return(FacturaDA.Filtrar(TipoDocumento, ClienteID, DocumentoDesde, DocumentoHasta, FechaDesde, FechaHasta, IndGenerada, IndCancelada));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #17
0
 public List <cFactura> FiltrarFactura(String TipoDocumento,
                                       Int64?ClienteID,
                                       Int64?DocumentoDesde,
                                       Int64?DocumentoHasta,
                                       DateTime?FechaDesde,
                                       DateTime?FechaHasta,
                                       Boolean IndGenerada,
                                       Boolean IndCancelada,
                                       Boolean IndDevuelta,
                                       String CriterioCantidad,
                                       Decimal ValorFactura)
 {
     //Filtro de Facturas
     try
     {
         return(FacturaDA.FiltrarFactura(TipoDocumento, ClienteID, DocumentoDesde, DocumentoHasta, FechaDesde, FechaHasta, IndGenerada, IndCancelada, IndDevuelta, CriterioCantidad, ValorFactura));
     }
     catch (Exception Ex)
     {
         throw Ex;
     }
 }
예제 #18
0
 public FacturaBL()
 {
     facturaDA = new FacturaDA();
 }
예제 #19
0
 public int EliminarFactura(FacturaNE fac)
 {
     return(FacturaDA.EliminarFactura(fac));
 }
예제 #20
0
 public int ModificarFactura(FacturaNE fac)
 {
     return(FacturaDA.ModificarFactura(fac));
 }
예제 #21
0
        public void CancelarDocumento(cCuentasCobrar Cuenta)
        {
            //Cancelacion de un abono
            //Localizamos el concepto para verificar el tipo
            cConcepto Concepto = ConcCxCDA.BuscarPorID((Int16)Cuenta.CodigoConcepto);

            //Tipo Abono
            if (Concepto.Tipo.ToString() == "A")
            {
                //Verificamos si el documento es tipo Nota de Credito y si esta cancelado
                if (Concepto.Descripcion.ToString() == "Nota de Credito")
                {
                    //Documento Nota de Credito
                    cFactura stNotaCredito = FacturaDA.BuscarPorID(Cuenta.CodigoFactura, "D");
                    //Verificamos Si esta Cancelado
                    if (stNotaCredito.EstatusID.ToString() == "C")
                    {
                        //Cancelamos la transaccion
                        Cuenta.Estatus = false;
                        GuardarCambios(Cuenta);
                    }
                    else
                    {
                        throw new Exception("El documento no puede ser cancelado, la nota de credito se encuentra vigente en el sistema");
                    }
                }
                else
                {
                    //Si es un Abono cancelamos la transaccion
                    Cuenta.Estatus = false;
                    GuardarCambios(Cuenta);
                }
            }
            else
            {
                //Verificamos el estatus de la factura en caso de que sea
                if (Concepto.Descripcion.ToString() == "Factura")
                {
                    cFactura stFactura = FacturaDA.BuscarPorID(Cuenta.CodigoFactura, "F");

                    //Si la factura esta cancelada cancelamos la transaccion
                    if (stFactura.EstatusID.ToString() == "C")
                    {
                        Cuenta.Estatus = false;
                        GuardarCambios(Cuenta);
                    }
                    else
                    {
                        throw new Exception("El documento no puede ser cancelado, la factura se encuentra vigente en el sistema");
                    }
                }
                else
                {
                    //Si es un cargo aplicado verificamos que no tenga pagos vigentes
                    List <cCuentasCobrar> ListaPagos = (from c in ListaPagoCargos(Cuenta.CodigoFactura.ToString(), (Int32)Cuenta.CodigoCliente)
                                                        select c).ToList();

                    //Si tiene Cargos o pagos relacionados
                    if (ListaPagos.Count == 0)
                    {
                        Cuenta.Estatus = false;
                        GuardarCambios(Cuenta);
                    }
                    else
                    {
                        throw new Exception("El documento no puede ser cancelado, el documento contiene pagos o cargos aplicados");
                    }
                }
            }
        }