Beispiel #1
0
        private void GuardarCobranza()
        {
            facturas                  oFacturas                  = new facturas();
            socios                    oSocio                     = new socios();
            SocioImplement            oSocioImplement            = new SocioImplement();
            FacturasImplement         oFacturasImplement         = new FacturasImplement();
            PeriodosImplement         oPeriodosImplement         = new PeriodosImplement();
            FacturasDetallesImplement oFacturasDetallesImplement = new FacturasDetallesImplement();

            oFacturas = oFacturasImplement.Get(int.Parse(txtNroFactura.Text));
            oFacturas.id_estadoPago = 3;
            oFacturasImplement.Update(oFacturas);

            cobranzas oCobranza = new cobranzas();

            oCobranza.id_caja                = int.Parse(cmbCaja.SelectedValue.ToString());
            oCobranza.id_factura             = _idFactura;
            oCobranza.id_recibo              = 0;
            oCobranza.id_socio               = _idSocio;
            oCobranza.importe                = decimal.Parse(txtTotalCobrado.Text);
            oCobranza.descuento_convenio     = 0;
            oCobranza.iva_descuento_convenio = 0;
            oCobranza.fecha_cobro            = dtpFechaCaja.Value;
            oCobranza.id_terminal            = 0;//VER
            oCobranza.fecha_registro         = DateTime.Now;
            CobranzasImplement oCobranzasImplement = new CobranzasImplement();

            oCobranzasImplement.Save(oCobranza);
        }
Beispiel #2
0
        private void AgregarConceptoComoParticular()
        {
            cod_conceptos     oCod_Conceptos     = new cod_conceptos();
            ConceptoImplement oConceptoImplement = new ConceptoImplement();

            conceptos_particulares         oConceptosParticulares          = new conceptos_particulares();
            conceptosParticularesImplement oConceptosParticularesimplement = new conceptosParticularesImplement();
            PeriodosImplement oPeriodosImplement = new PeriodosImplement();

            string nuevoPeriodo = oPeriodosImplement.GetUltimoPeriodo();

            if (nuevoPeriodo != "")
            {
                DataGridViewRow rowconcepto = this.dgvConceptos.CurrentRow;
                int             idConcepto  = Convert.ToInt32(rowconcepto.Cells[0].Value);
                oCod_Conceptos = oConceptoImplement.Get(idConcepto);

                oConceptosParticulares.id_concepto = idConcepto;
                oConceptosParticulares.id_socio    = _idSocio;
                //oConceptosParticulares.id_factura = oCod_Conceptos.;
                oConceptosParticulares.id_periodo = nuevoPeriodo;
                oConceptosParticulares.importe    = decimal.Parse(oCod_Conceptos.variable.ToString());
                oConceptosParticulares.detalles   = oCod_Conceptos.concepto;
                oConceptosParticulares.facturado  = false;

                oConceptosParticularesimplement.Save(oConceptosParticulares);
                this.txtImporte.Text          = oConceptosParticulares.importe.ToString();
                this.cmbPeriodo.SelectedValue = oConceptosParticulares.id_periodo;
            }
            CargarGrillaConceptosParticulares();
            btnActualizar.Visible = false;
        }
Beispiel #3
0
        private void CargarComboPeriodos()
        {
            this.cmbPeriodo.Enabled = true;
            PeriodosImplement oPeriodosImplement = new PeriodosImplement();

            oPeriodosImplement.CargarCombo(ref this.cmbPeriodo, "Seleccione..");
        }
        private void Generar()
        {
            string UltimoPeriodo = "";

            pgbProgreso.Value   = 0;
            pgbProgreso.Minimum = 0;
            pgbProgreso.Visible = true;
            DateTime StartDate = new DateTime(int.Parse(this.mtbDesde.Text.Substring(0, 4)), int.Parse(this.mtbDesde.Text.Substring(5, 2)), 1);
            DateTime EndDate   = new DateTime(int.Parse(this.mtbHasta.Text.Substring(0, 4)), int.Parse(this.mtbHasta.Text.Substring(5, 2)), 1);

            //Calculo diferencia de meses para utilizar en la barra de progreso
            pgbProgreso.Maximum = Math.Abs((EndDate.Month - StartDate.Month) + 12 * (EndDate.Year - StartDate.Year));
            int MonthInterval = 1;
            PeriodosImplement  oPeriodoImplement   = new PeriodosImplement();
            SysConfigImplement oSysConfigImplement = new SysConfigImplement();
            sys_configuracion  oSysUltimoPeriodo   = new sys_configuracion();

            oSysUltimoPeriodo = oSysConfigImplement.GetByNombre("UltimoPeriodo");
            UltimoPeriodo     = oSysUltimoPeriodo.valor;
            //voy sumando meses hasta llegar a iguales fechas
            while (StartDate.AddMonths(MonthInterval) <= EndDate)
            {
                StartDate = StartDate.AddMonths(MonthInterval);
                periodos oPeriodo = new periodos();
                oPeriodo.id_periodo = StartDate.Date.ToString("yyyyMMdd").Substring(0, 6);
                DateTime PrimerVencimiento = DateTime.Parse(oPeriodo.id_periodo.Substring(0, 4) + "/" + oPeriodo.id_periodo.Substring(4, 2) + "/" + this.txtPrimerVenc.Text);
                // incremento el dia mientra no sea fin de semana(se puede agregar para feriados - primer vencimiento
                while (PrimerVencimiento.DayOfWeek == DayOfWeek.Saturday || PrimerVencimiento.DayOfWeek == DayOfWeek.Sunday)
                {
                    PrimerVencimiento = PrimerVencimiento.Date.AddDays(1);
                }
                DateTime segundoVencimiento = PrimerVencimiento.Date.AddDays(int.Parse(this.txtDiasEntre.Text));
                // incremento el dia mientra no sea fin de semana(se puede agregar para feriados - segundo vencimiento
                while (segundoVencimiento.DayOfWeek == DayOfWeek.Saturday || segundoVencimiento.DayOfWeek == DayOfWeek.Sunday)
                {
                    segundoVencimiento = segundoVencimiento.Date.AddDays(1);
                }
                oPeriodo.fecha_primer_venc  = PrimerVencimiento;
                oPeriodo.fecha_segundo_venc = segundoVencimiento;
                oPeriodo.fecha_tercer_venc  = null;
                oPeriodo.fecha_facturacion  = null;
                oPeriodo.facturado          = false;
                oPeriodoImplement.Save(oPeriodo);
                UltimoPeriodo      = oPeriodo.id_periodo;
                pgbProgreso.Value += 1;
            }

            if (oSysUltimoPeriodo.valor != UltimoPeriodo)
            {
                oSysUltimoPeriodo.valor = UltimoPeriodo;
                oSysConfigImplement.Update(oSysUltimoPeriodo);
                MessageBox.Show("La Generación se realizo Exitosamente");
                Inicializar();
            }
            else
            {
                MessageBox.Show("La Generación fue nula");
            }
        }
Beispiel #5
0
        private void CargarPeriodos()
        {
            PeriodosImplement oPeriodosImplement = new PeriodosImplement();

            oPeriodosImplement.CargarComboUltimosPeriodos(ref cmbDesde, "Seleccionar Periodo Desde");

            oPeriodosImplement.CargarComboUltimosPeriodos(ref cmbHasta, "Seleccionar Periodo Hasta");
            this.cmbHasta.SelectedIndex = this.cmbHasta.Items.Count - 1;
        }
Beispiel #6
0
        public DateTime?ObtenerFechaVenc(int idFactura)
        {
            periodos          oPeriodo           = new periodos();
            PeriodosImplement oPeriososImplement = new PeriodosImplement();


            FacturasImplement oFacturasImplement = new FacturasImplement();

            oPeriodo = oPeriososImplement.Get(oFacturasImplement.Get(idFactura).id_periodo.ToString());
            return(oPeriodo.fecha_primer_venc);
        }
        private void CargarAnios()
        {
            PeriodosImplement oPerdiodosImplement = new PeriodosImplement();
            DataTable         dt = new DataTable();

            dt = oPerdiodosImplement.GetAnios();
            string ultimoPeriodo = oPerdiodosImplement.GetUltimoPeriodo();

            dt.Rows.Add("Seleccione...");
            cmbAnio.DataSource    = dt;
            cmbAnio.DisplayMember = "periodo";
            cmbAnio.ValueMember   = "periodo";
            cmbAnio.SelectedValue = ultimoPeriodo.Substring(0, 4);
        }
Beispiel #8
0
        public int ObtenerDiasDeVencimiento(int idFactura)
        {
            periodos          oPeriodo           = new periodos();
            PeriodosImplement oPeriososImplement = new PeriodosImplement();
            FacturasImplement oFacturasImplement = new FacturasImplement();

            oPeriodo = oPeriososImplement.Get(oFacturasImplement.Get(idFactura).id_periodo.ToString());
            TimeSpan diferencia;

            if (oPeriodo.fecha_primer_venc < DateTime.Today)
            {
                diferencia = DateTime.Today - DateTime.Parse(oPeriodo.fecha_primer_venc.ToString());
            }
            else
            {
                diferencia = DateTime.Today - DateTime.Today;
            }

            return(diferencia.Days);
        }
Beispiel #9
0
        private void Iniciar()
        {
            sys_configuracion  oSysConfig          = new sys_configuracion();
            SysConfigImplement oSysConfigImplement = new SysConfigImplement();

            oSysConfig = oSysConfigImplement.GetByNombre("CantVencimientos");
            int     CantUsuarios = 0;
            decimal NetoConIVA   = 0;
            decimal NetoSinIVA   = 0;
            decimal SubTotal     = 0;

            switch (int.Parse(oSysConfig.valor))
            {
            case 1:
                //No hace nada porque el primer se establece por defecto
                break;

            case 2:
                for (int i = 1; i <= (int.Parse(this.nudCantidad.Value.ToString()) - 1); i++)
                {
                    DateTimePicker fecha1 = (DateTimePicker)tcPeriodos.Controls.Find("dtpPrimerVencimiento" + i, true)[0];
                    DateTimePicker fecha2 = (DateTimePicker)tcPeriodos.Controls.Find("dtpSegundoVencimiento" + i, true)[0];
                    if (fecha2.Value <= fecha1.Value)
                    {
                        string msg = "Debe establecer las fechas para los 2 vencimientos y éstas " +
                                     "no pueden ser iguales, controlar fechas indicadas en  el periodo " + (i - 1).ToString();
                        MessageBox.Show(msg);
                    }
                }

                break;

            case 3:
                for (int i = 1; i <= (int.Parse(this.nudCantidad.Value.ToString()) + 1); i++)
                {
                    DateTimePicker fecha1 = (DateTimePicker)tcPeriodos.Controls.Find("dtpPrimerVencimiento" + i, true)[0];
                    DateTimePicker fecha2 = (DateTimePicker)tcPeriodos.Controls.Find("dtpSegundoVencimiento" + i, true)[0];
                    if (fecha2.Value <= fecha1.Value)
                    {
                        string msg = "Debe establecer las fechas para los 2 vencimientos y éstas " +
                                     "no pueden ser iguales, controlar fechas indicadas en  el periodo " + (i - 1).ToString();
                        MessageBox.Show(msg);
                    }
                }

                break;
            }


            // Verificar que se hayan cargado los estados de los medidores

            SocioConexionImplement oSocioConexionImplement = new SocioConexionImplement();
            DataTable DTMedidores = oSocioConexionImplement.GetEstadosMedidores();

            if (DTMedidores.Rows.Count > 0)
            {
                string msg2 = "No se puede efectuar el proceso de facturación porque existen " +
                              "socios de servicio medido que no tienen informado el estado del " +
                              "medidor. \n El estado del medidor debe ser " +
                              "informado siempre, si por algún motivo no se efectuó la lectura, " +
                              "coloque un valor estimado en el campo 'Lectura' pero no informe " +
                              "la fecha de lectura en el campo 'Fecha Lectura', en la factura " +
                              "se informará al socio que el valor de M3 consumidos fué estimado /n" +
                              "El proceso de facturación no puede continuar.";
                MessageBox.Show(msg2);
            }

            // Pide confirmar el proceso de facturación
            string msj2 = "";

            if (int.Parse(this.nudCantidad.Value.ToString()) > 1)
            {
                msj2 = "Está Ud. realmente seguro de querer comenzar el proceso de " +
                       "facturación ?. \nEste proceso no puede ser " +
                       "cancelado y al facturarse más de un período sólo puede " +
                       "anularse la facturación del último período pero no de los " +
                       "períodos anteriores";
            }
            else
            {
                msj2 = "Está Ud. realmente seguro de querer comenzar el proceso de " +
                       "facturación ?. \nEste proceso no puede ser " +
                       "cancelado, aunque sí es reversible, es decir que una vez " +
                       "finalizado el proceso se puede anular \n toda la facturación " +
                       "y volver a efectuarla";
            }
            DialogResult dialogResult = MessageBox.Show(msj2, "Confirmar facturación", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                // Hay que inhabilitar los forms porque el proceso no puede detenerse
                DeshabilitarControles();
                // Guarda la cantidad de usuarios para utilizar la misma cantidad en
                // todos los períodos a facturar


                // obtengo solo los conceptos activos
                IList listaConceptos = new ConceptoImplement().GetActivosAll();
                for (int i = 0; i < (int.Parse(this.nudCantidad.Value.ToString())); i++)
                {
                    TextBox   textPeriodo         = (TextBox)this.Controls.Find("txtPeriodo" + i, true)[0];
                    string    idPeriodo           = textPeriodo.Text.Substring(3, 4) + textPeriodo.Text.Substring(0, 2);
                    DataTable DTUsuariosAFacturar = oSocioConexionImplement.GetSociosAFacturar(idPeriodo);
                    //Repetir el proceso de facturación para todas las solapas (periodos) seleccionados
                    CantUsuarios = DTUsuariosAFacturar.Rows.Count;
                    this.txtUsuariosAFacturar.Text  = CantUsuarios.ToString();
                    this.txtUsuariosFacturados.Text = "0";
                    this.txtUsuariosFaltantes.Text  = CantUsuarios.ToString();
                    this.pbEstado.Value             = 0;
                    // Cartel indicativo del proceso que se está efectuando
                    this.tcPeriodos.TabIndex = i;

                    // Guarda el número 'ProxFactura' del proceso anterior por si se desea
                    // anular la facturación en curso (obviamente luego que termine)

                    //sys_configuracion oSysProxFacturaAnterior = new sys_configuracion();
                    //oSysProxFacturaAnterior = oSysConfigImplement.GetByNombre("ProxFacturaAnt");
                    //sys_configuracion oSysProxFactura = new sys_configuracion();
                    //oSysProxFactura = oSysConfigImplement.GetByNombre("ProxFactura");
                    //oSysProxFacturaAnterior.valor = oSysProxFactura.valor;
                    //oSysConfigImplement.Update(oSysProxFacturaAnterior);



                    // Guardo las fechas de vencimiento en la tabla periodos
                    periodos          oPeriodo           = new periodos();
                    PeriodosImplement oPeriodosImplement = new PeriodosImplement();
                    oPeriodo                = oPeriodosImplement.Get(idPeriodo);
                    this.txtProceso.Text    = "Se esta procesando el periodo " + idPeriodo;
                    this.txtProceso.Visible = true;
                    Application.DoEvents();
                    oPeriodo.fecha_facturacion = this.dtpFecha.Value;
                    DateTimePicker dtpPrimerVenc = (DateTimePicker)this.Controls.Find("dtpPrimerVencimiento" + i, true)[0];
                    oPeriodo.fecha_primer_venc = dtpPrimerVenc.Value;
                    DateTimePicker dtpSegundoVenc = (DateTimePicker)this.Controls.Find("dtpSegundoVencimiento" + i, true)[0];
                    if (dtpSegundoVenc.Value.ToString() != "")
                    {
                        oPeriodo.fecha_segundo_venc = dtpSegundoVenc.Value;
                    }
                    oPeriodo.fecha_tercer_venc = null;
                    oPeriodo.facturado         = true;
                    FacturasImplement oFacturasImplement = new FacturasImplement();
                    int cantUsuario = DTUsuariosAFacturar.Rows.Count;
                    this.pbEstado.Maximum = cantUsuario;
                    for (int j = 0; j < cantUsuario; j++)
                    {
                        this.pbEstado.Value = j;

                        facturas          oFactura          = new facturas();
                        FacturasImplement oFacturaImplement = new FacturasImplement();
                        oFactura.id_periodo = idPeriodo;
                        oFactura.id_socio   = int.Parse(DTUsuariosAFacturar.Rows[j]["id_socio"].ToString());
                        //oFactura.id_medicion Ver como soluciono el idMedicion
                        oFactura.id_estadoPago = 1; //Impaga
                        oFactura.id_tarifa     = 0; //aun no se carga
                        oFactura.id_convenio   = 0; //Aun no se carga
                        oFactura.fechaPago     = null;
                        oFactura.cobrado       = 0;
                        oFactura.neto1         = 0;
                        oFactura.neto2         = 0;
                        oFactura.importeNeto   = 0;
                        oFactura.importeTotal  = 0;
                        int idFactura = 0;
                        idFactura = oFacturasImplement.Save(oFactura);

                        /* Si corresponde calcula los consumos estimados, además transfiere
                         * los valores de los campos de datos actuales a los campos de
                         * los datos anteriores*/
                        int idMedidor = 0;
                        if (DTUsuariosAFacturar.Rows[j]["medidor"].ToString() != "")
                        {
                            socios_mediciones      oSocioMedicionActual    = new socios_mediciones();
                            SocioMedicionImplement oSocioMedicionImplement = new SocioMedicionImplement();
                            oSocioMedicionActual = oSocioMedicionImplement.ultimaMedicion(int.Parse(DTUsuariosAFacturar.Rows[j]["id_socio"].ToString()));
                            socios_mediciones oSocioMedicionNew = new socios_mediciones();
                            oSocioMedicionNew.fecha_lectura = null;
                            oSocioMedicionNew.id_socio      = int.Parse(DTUsuariosAFacturar.Rows[j]["id_socio"].ToString());

                            if (i <= (int.Parse(this.nudCantidad.Value.ToString()) - 1))
                            {
                                decimal consumo = 0;
                                if (oSocioMedicionActual != null)
                                {
                                    consumo = (decimal)decimal.Parse((oSocioMedicionActual.consumo * 0.75).ToString());
                                    oSocioMedicionNew.consumo = (int)Math.Truncate(consumo);
                                    oSocioMedicionNew.lectura = oSocioMedicionActual.lectura + oSocioMedicionNew.consumo;
                                }
                                else
                                {
                                    oSocioMedicionNew.consumo = 0;
                                    oSocioMedicionNew.lectura = 0;
                                }
                            }
                            else
                            {
                                oSocioMedicionNew.consumo = 0;
                                oSocioMedicionNew.lectura = 0;
                            }
                            idMedidor = oSocioMedicionImplement.Save(oSocioMedicionNew);
                        }
                        oFactura.id_medicion = idMedidor;    //Cargo 0 si no tiene medidor

                        // Limpia las variables de subtotales con y sin IVA
                        NetoConIVA = 0;
                        NetoSinIVA = 0;

                        //Para cada socio, recorre toda la base de conceptos
                        foreach (cod_conceptos oConcepto in listaConceptos)
                        {
                            bool CorrespondeFacturar = false;

                            if (oFactura.id_medicion.Value != 0)
                            {
                                //SocioMedicionImplement oSosioMedicionImpl = new SocioMedicionImplement();
                                //socios_mediciones oSocioMedicion = new socios_mediciones();
                                //oSocioMedicion = oSosioMedicionImpl.Get(oFactura.id_medicion.Value);
                            }
                            acciones oAccion = new acciones();
                            conceptos_particulares         oConceptoParticular          = new conceptos_particulares();
                            conceptosParticularesImplement oConceptoParticularImplement = new conceptosParticularesImplement();
                            AccionImplement oAccionesImplement = new AccionImplement();

                            if (oConcepto.aplicacion == 2)
                            {     // si concepto Particular
                                oConceptoParticular = oConceptoParticularImplement.GetByFilter(int.Parse(DTUsuariosAFacturar.Rows[j]["id_socio"].ToString()), oConcepto.id_concepto, oFactura.id_periodo);
                                if (oConceptoParticular != null)
                                {
                                    CorrespondeFacturar = true;
                                }
                                else
                                {
                                    // No encontrado entonces no corresponde facturar
                                    CorrespondeFacturar = false;
                                }
                            }
                            else
                            {
                                //Concepto Activo y no particular entonces corresponde facturar
                                CorrespondeFacturar = true;
                            }

                            if (CorrespondeFacturar)
                            {
                                facturas_detalles         oDetalle = new facturas_detalles();
                                FacturasDetallesImplement oFacturasDetallesImplement = new FacturasDetallesImplement();
                                //ConvenioImplement oConvenioImplement = new ConvenioImplement();
                                CalculosFacturacionFormulas oCalculosFacturacionFormulas = new CalculosFacturacionFormulas();
                                oDetalle = oCalculosFacturacionFormulas.getDetalle(int.Parse(DTUsuariosAFacturar.Rows[j]["id_socio"].ToString()), decimal.Parse(DTUsuariosAFacturar.Rows[j]["cargo_fijo"].ToString()), decimal.Parse(DTUsuariosAFacturar.Rows[j]["abono"].ToString()), decimal.Parse(DTUsuariosAFacturar.Rows[j]["valor_m3"].ToString()), oConcepto, oFactura, oConceptoParticular);
                                if (oDetalle.importe != 0)
                                {
                                    oFacturasDetallesImplement.Save(oDetalle);
                                }

                                this.txtUsuariosFacturados.Text = j.ToString();
                                this.txtUsuariosFaltantes.Text  = (int.Parse(this.txtUsuariosAFacturar.Text) - j).ToString();
                                Application.DoEvents();
                                // Calcula los subtotales separados para los conceptos con y sin IVA
                                if (oConcepto.aplicar_iva.Value)
                                {
                                    NetoConIVA = NetoConIVA + oDetalle.importe;
                                }
                                else
                                {
                                    NetoSinIVA = NetoSinIVA + oDetalle.importe;
                                }
                                // Calcula los campos Neto1 y Neto2 utilizados en los
                                // cálculos de intereses
                                if (oConcepto.aplicar_recargo.Value)
                                {
                                    oFactura.neto1 = oFactura.neto1.Value + Convert.ToSingle(oDetalle.importe);
                                }
                                else
                                {
                                    oFactura.neto2 = oFactura.neto2.Value + Convert.ToSingle(oDetalle.importe);
                                }
                            }
                        }

                        // Obtiene el subtotal general como suma de los
                        // subtotales parciales con y sin IVA
                        SubTotal = NetoConIVA + NetoSinIVA;
                        // Redondea el subtotal a dos dígitos
                        SubTotal = decimal.Round(SubTotal, 2);
                        // Registra el subtotal general
                        oFactura.importeNeto = Convert.ToSingle(SubTotal);
                        // Calcula IVA (sólo para los conceptos que corresponde)
                        facturas_detalles         oFacDetalle          = new facturas_detalles();
                        FacturasDetallesImplement oFacDetalleImplement = new FacturasDetallesImplement();

                        cod_conceptos     oConceptoIVA       = new cod_conceptos();
                        ConceptoImplement oConceptoImplement = new ConceptoImplement();

                        oConceptoIVA            = oConceptoImplement.Get(23);//concepto IVA es el 23
                        oFacDetalle.id_concepto = oConceptoIVA.id_concepto;
                        oFacDetalle.id_factura  = oFactura.id_factura;
                        oFacDetalle.idOrden     = oConceptoIVA.orden_concepto;
                        oFacDetalle.idTipo      = 0;
                        oFacDetalle.importe     = decimal.Round(NetoConIVA * decimal.Parse(DTUsuariosAFacturar.Rows[j]["iva"].ToString()) / 100, 2);
                        oFacDetalleImplement.Save(oFacDetalle);
                        // Calcula Total
                        oFactura.importeTotal = oFactura.importeNeto.Value + Convert.ToSingle(oFacDetalle.importe);      //este ahi que ver el tipo de dato
                        oFactura.id_factura   = idFactura;
                        oFacturaImplement.Update(oFactura);
                        // Generar entradas en la base de CuentasCorrientes
                        CuentaCorrienteImplement oCuentaCorrienteImplement = new CuentaCorrienteImplement();
                        cuentas_corrientes       oCuentaCorriente          = new cuentas_corrientes();
                        oCuentaCorriente.fecha           = DateTime.Now;
                        oCuentaCorriente.id_factura      = idFactura;
                        oCuentaCorriente.id_movimiento   = 1;
                        oCuentaCorriente.id_socio        = int.Parse(DTUsuariosAFacturar.Rows[j]["id_socio"].ToString());
                        oCuentaCorriente.importe_credito = 0;
                        oCuentaCorriente.importe_saldo   = 0;
                        oCuentaCorriente.importe_debito  = Convert.ToDecimal(oFactura.importeTotal);
                        oCuentaCorriente.id_cobranza     = 0;
                        oCuentaCorrienteImplement.Save(oCuentaCorriente);

                        // }
                    }
                }
            }
        }
Beispiel #10
0
        private void CargarDatos()
        {
            if (txtNroFactura.Text.Length > 0)
            {
                facturas                  oFacturas                  = new facturas();
                socios                    oSocio                     = new socios();
                SocioImplement            oSocioImplement            = new SocioImplement();
                FacturasImplement         oFacturasImplement         = new FacturasImplement();
                PeriodosImplement         oPeriodosImplement         = new PeriodosImplement();
                FacturasDetallesImplement oFacturasDetallesImplement = new FacturasDetallesImplement();
                _idFactura = int.Parse(txtNroFactura.Text);
                if (oFacturasImplement.ExisteFactura(_idFactura))
                {
                    oFacturas = oFacturasImplement.Get(int.Parse(txtNroFactura.Text));
                    oSocio    = oSocioImplement.Get((int)oFacturas.id_socio);
                    _idSocio  = oSocio.id_socio;
                    txtCodigoSubCodSocio.Text = oSocio.codigo_socio + "/" + oSocio.subcodigo_socio;
                    txtNombreSocio.Text       = oSocio.nombre;
                    txtVencimiento.Text       = ((DateTime)oPeriodosImplement.Get(oFacturas.id_periodo).fecha_primer_venc).ToShortDateString();
                    //facturado = neto + iva
                    DataTable detallesFacturaDT = oFacturasImplement.GetByIdFacturaDT(oFacturas.id_factura);
                    decimal   _totalFacturado   = 0;
                    decimal   _importeTotal     = 0;
                    decimal   _convenio         = 0;
                    decimal   _acciones         = 0;
                    foreach (DataRow dr in detallesFacturaDT.Rows)
                    {
                        //IVA = decimal.Parse(dr["IVA"].ToString());
                        _totalFacturado = _totalFacturado + decimal.Parse(dr["Neto"].ToString()) + decimal.Parse(dr["IVA"].ToString());
                        _importeTotal   = _importeTotal + decimal.Parse(dr["Total"].ToString());
                        _convenio       = _convenio + decimal.Parse(dr["Convenio"].ToString());
                        _acciones       = _acciones + decimal.Parse(dr["Acciones"].ToString());
                    }

                    txtFacturado.Text = _totalFacturado.ToString();
                    txtCobrado.Text   = oFacturas.cobrado.ToString();
                    txtResto.Text     = (_totalFacturado - (decimal.Parse(oFacturas.cobrado.ToString()))).ToString();
                    txtDescuento.Text = "0";
                    CalculosFactura oCalculosFacturas = new CalculosFactura();
                    txtRecargo.Text  = (oCalculosFacturas.CalcularRecargo(oFacturas.id_factura) + oCalculosFacturas.CalcularIVARecargo(oFacturas.id_factura)).ToString();
                    txtTotal.Text    = (_importeTotal - (decimal)oFacturas.cobrado - decimal.Parse(txtDescuento.Text)).ToString();
                    txtConvenio.Text = _convenio.ToString();
                    txtAcciones.Text = _acciones.ToString();


                    CobranzasImplement oCobranzasImplement = new CobranzasImplement();

                    txtFactIngresadas.Text = oCobranzasImplement.GetFacturas(dtpFechaCaja.Value).ToString();

                    txtTotalCobrado.Text = _importeTotal.ToString();
                    txtTotalFactura.Text = _importeTotal.ToString();;
                    txtDiferencia.Text   = (decimal.Parse(txtTotalFactura.Text) - decimal.Parse(txtTotalCobrado.Text)).ToString();
                }
                else
                {
                    //si esta con cobranza entonces seria para cambiar la caja
                    if (oFacturasImplement.ExisteCobranza(_idFactura))
                    {
                        _existeCobranza = true;
                    }
                    else
                    {
                        _existeCobranza = false;
                    }
                }
            }
        }