private void Inicializar()
        {
            FacturasImplement oFacturasImplement = new FacturasImplement();
            facturas oFacturas = new facturas();
            oFacturas = oFacturasImplement.Get(_idFactura);
            txtFactura.Text = oFacturas.id_factura.ToString();
            txtPeriodo.Text = oFacturas.id_periodo.ToString().Substring(4,2) + "/" + oFacturas.id_periodo.ToString().Substring(0,4);
            txtFehaFacturacion.Text = "";

            txtFechaVencimiento.Text = "";
            EstadosPagoImplement oEstadosPagoImplement = new EstadosPagoImplement();
            cod_estados_pago oCod_Estados_Pago = new cod_estados_pago();
            int idEstado = (int)oFacturas.id_estadoPago;
            oCod_Estados_Pago=oEstadosPagoImplement.Get(idEstado);
            txtEstado.Text = oCod_Estados_Pago.estado_pago;
            txtFechaPago.Text = oFacturas.fechaPago.ToString();
            socios_mediciones oSociosMediciones = new socios_mediciones();
            SocioMedicionImplement oSocioMedicionImplement = new SocioMedicionImplement();
            oSociosMediciones = oSocioMedicionImplement.Get((int)oFacturas.id_medicion);
            txtM3Consumidos.Text = oSociosMediciones.consumo.ToString();

            cargarGrillaConceptos();

            txtImporteTotal.Text = oFacturas.importeTotal.ToString();
            txtCobrado.Text = oFacturas.cobrado.ToString();
        }
        public void Delete(int idConvenio)
        {
            using (cooperativaEntities bd = new cooperativaEntities())
            {
                DataTable dtFacturas = new DataTable();
                FacturasImplement oFacturasImplement = new FacturasImplement();
                var listar = (from f in bd.facturas
                              where f.id_convenio == idConvenio
                                select f).ToList();
                Commons oCommons = new Commons();
                dtFacturas=oCommons.convertToTable(listar);

                foreach(DataRow dr in dtFacturas.Rows)
                {
                    int idFactura = int.Parse(dr["id_factura"].ToString());
                    facturas oFacturas = new facturas();
                    oFacturas = oFacturasImplement.Get(idFactura);
                    oFacturas.id_convenio = 0;
                    oFacturasImplement.Update(oFacturas);
                }

                var regis = (from p in bd.convenios
                             where p.id_convenio == idConvenio
                             select p).Single();

                bd.DeleteObject(regis);
                bd.SaveChanges();
            }
        }
 public facturas Get(int id)
 {
     facturas oFactura = new facturas();
     using (cooperativaEntities bd = new cooperativaEntities())
     {
         var regis = (from p in bd.facturas
                      where p.id_factura == id
                      select p).Single();
         oFactura.id_factura = regis.id_factura;
         oFactura.id_periodo = regis.id_periodo;
         oFactura.id_socio = regis.id_socio;
         oFactura.id_medicion = regis.id_medicion;
         oFactura.id_estadoPago = regis.id_estadoPago;
         oFactura.id_tarifa = regis.id_tarifa;
         oFactura.id_convenio = regis.id_convenio;
         oFactura.fechaPago = regis.fechaPago;
         oFactura.cobrado = regis.cobrado;
         oFactura.neto1 = regis.neto1;
         oFactura.neto2 = regis.neto2;
         oFactura.importeNeto = regis.importeNeto;
         oFactura.importeTotal = regis.importeTotal;
         return oFactura;
     }
 }
        public int ObtenerLecturaAnterior(int idFactura)
        {
            int _LectAnt = 0;
            using (cooperativaEntities bd = new cooperativaEntities())
            {
                Commons oCommons = new Commons();

                FacturasImplement oFacturasImplement = new FacturasImplement();
                facturas oFactura = new facturas();

                oFactura = oFacturasImplement.Get(idFactura);

                var facturaAnterior = (from f in bd.facturas
                                       join m in bd.socios_mediciones on f.id_medicion equals m.id_medicion
                                       where f.id_factura < idFactura && f.id_socio == oFactura.id_socio
                                       orderby f.id_factura descending
                                       select new
                                       {
                                           f.id_factura,
                                           m.lectura
                                       }).Take(1).ToList();

                if (facturaAnterior.Count>0)
                    _LectAnt = (int)facturaAnterior[0].lectura;

            }
            return _LectAnt;
        }
        public void Update(facturas oFactura)
        {
            using (cooperativaEntities bd = new cooperativaEntities())
            {
                var editar = (from p in bd.facturas
                              where p.id_factura == oFactura.id_factura
                              select p).Single();

                editar.id_periodo = oFactura.id_periodo;
                editar.id_socio = oFactura.id_socio;
                editar.id_medicion = oFactura.id_medicion;
                editar.id_estadoPago = oFactura.id_estadoPago;
                editar.id_tarifa = oFactura.id_tarifa;
                editar.id_convenio = oFactura.id_convenio;
                editar.fechaPago = oFactura.fechaPago;
                editar.cobrado = oFactura.cobrado;
                editar.neto1 = oFactura.neto1;
                editar.neto2 = oFactura.neto2;
                editar.importeNeto = oFactura.importeNeto;
                editar.importeTotal = oFactura.importeTotal;
                bd.SaveChanges();
            }
        }
 public int Save(facturas oFactura)
 {
     cooperativaEntities bd = new cooperativaEntities();
     bd.facturas.AddObject(oFactura);
     bd.SaveChanges();
     return oFactura.id_factura;
 }
 /// <summary>
 /// Create a new facturas object.
 /// </summary>
 /// <param name="id_factura">Initial value of the id_factura property.</param>
 public static facturas Createfacturas(global::System.Int32 id_factura)
 {
     facturas facturas = new facturas();
     facturas.id_factura = id_factura;
     return facturas;
 }
        private void Refacturar()
        {
            facturas oFactura = new facturas();
            FacturasImplement oFacImplement = new FacturasImplement();
            oFactura = oFacImplement.Get(_idFactura);
            facturas oFacturaNew = new facturas();
            FacturasImplement oFacImplementNew = new FacturasImplement();
               // oFacturaNew.
            foreach (DataRow row in _TablaGrilla.Rows){

                //registro["id_detalle"] = oFacturaDetalle.id_detalle;
                //registro["id_concepto"] = oFacturaDetalle.id_concepto;
                //registro["id_factura"] = oFacturaDetalle.id_factura;
                //registro["id_orden"] = oFacturaDetalle.idOrden;
                //registro["id_Tipo"] = oFacturaDetalle.idTipo;
                //registro["concepto"] = oConcepto.concepto;
                //registro["importe"] = Math.Round(oFacturaDetalle.importe, 2);

            }
        }
 private void CargarSeleccionFactura()
 {
     facturas oFacturas = new facturas();
     FacturasImplement oFacturasImplement = new FacturasImplement();
     DataGridViewRow row = this.dgvFacturas.CurrentRow;
     if (row != null)
     {
         _idFactura = Convert.ToInt32(row.Cells[1].Value);
         this.dgvConceptos.DataSource = oFacturasImplement.GetConceptosByIdFactDT(_idFactura);
     }
 }
Exemple #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;
                    }
                }
            }
        }
Exemple #11
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);
        }
        private void GuardarNuevoConvenio()
        {
            convenios oConvenio = new convenios();
            ConvenioImplement oConvenioImplement = new ConvenioImplement();

            //Cancelo el adeudado
            oConvenioImplement.CancelarAdeudado(_idSocio);

            oConvenio.id_socio = _idSocio;
            oConvenio.fecha_convenio=dtpFechaConvenio.Value;
            oConvenio.importe_total = _ImporteDeuda;
            oConvenio.valor_cuota= _ImporteCuota;
            oConvenio.cuotas= _CantidadCuotas;
            oConvenio.facturadas= _CantidadCuotasCanceladas;
            oConvenio.pendientes= _CantidadCuotas - _CantidadCuotasCanceladas;
            oConvenio.finalizado= (_CantidadCuotas==_CantidadCuotasCanceladas);
            oConvenio.iva_facturas=0;//VER
            oConvenio.cuota_iva=0;//VER
            oConvenio.convenio_judicial=(chkConvenioAbogado.Checked);
            oConvenio.porcentaje_descuento_recargo=0;//VER
            oConvenio.importe_descuento_recargo=0;//VER
            oConvenio.tipo_descuento_recargo=-1;
            oConvenio.id_usuario=null;
            oConvenio.id_terminal=null;
            oConvenio.fecha_registro = DateTime.Today;
            oConvenio.moratoria = _convenioMora;
            int idConvenio=oConvenioImplement.Save(oConvenio);

            FacturasImplement oFacturasImplement = new FacturasImplement();
            facturas oFacturas = new facturas();
            foreach(int i in _ListaFacturas)
            {
                oFacturas = oFacturasImplement.Get(i);
                oFacturas.id_convenio = idConvenio;
                oFacturasImplement.Update(oFacturas);
            }

            DialogResult = DialogResult.OK;
            this.Close();
        }
        private void CargarDatosMoratoria()
        {
            FacturasImplement oFacturasImplement = new FacturasImplement();
            CalculosConvenio oCalculosConvenio = new CalculosConvenio();

            _ConveniosNoCancelados = oCalculosConvenio.ObtenerImporteConvenioAdeudado(_idSocio);

            DataTable dtFacturas = oFacturasImplement.GetByIdSocioSinConvenioDT(_idSocio, 1, 1);
            txtFactAdeudadasMora.Text = dtFacturas.Rows.Count.ToString();
            Decimal valorTotalSinInteres = 0;
            Decimal valorInteresesMora = 0;
            foreach (DataRow dr in dtFacturas.Rows)
            {
                #region <Control Valores Vacios>
                decimal Neto = 0;
                decimal IVA = 0;
                decimal Cobrado = 0;
                decimal Recargo=0;
                decimal IVARecargo = 0;

                if (dr["Neto"] == null | dr["Neto"].ToString() == "")
                    Neto = 0;
                else
                    Neto = decimal.Parse(dr["Neto"].ToString());
                if (dr["IVA"] == null | dr["IVA"].ToString() == "")
                    IVA = 0;
                else
                    IVA = decimal.Parse(dr["IVA"].ToString());
                if (dr["Cobrado"] == null | dr["Cobrado"].ToString() == "")
                    Cobrado = 0;
                else
                    Cobrado = decimal.Parse(dr["Cobrado"].ToString());

                if (dr["Recargo"] == null | dr["Recargo"].ToString() == "")
                    Recargo = 0;
                else
                    Recargo = decimal.Parse(dr["Recargo"].ToString());
                if (dr["IVARecargo"] == null | dr["IVARecargo"].ToString() == "")
                    IVARecargo = 0;
                else
                    IVARecargo = decimal.Parse(dr["IVARecargo"].ToString());

                #endregion

                valorTotalSinInteres = valorTotalSinInteres + (Neto + IVA - Cobrado);
                valorInteresesMora = valorInteresesMora + (Recargo + IVARecargo);
            }

            Decimal ImporteTotalSinInteresMora =valorTotalSinInteres + _ConveniosNoCancelados;
            txtTotalSinInteresMora.Text =ImporteTotalSinInteresMora.ToString();
            Decimal ImporteInteresesMora = valorInteresesMora;
            txtImporteInteresesMora.Text = ImporteInteresesMora.ToString();
            txtTotalMoratoria.Text = (ImporteTotalSinInteresMora + ImporteInteresesMora).ToString();
            txtCuotasAbonadasMora.Text = "1";
            txtDescPagoContadoMora.Text = "5%";
            txtCantMaxCuotasMora.Text = "-";

            facturas oFacturas = new facturas();
            oFacturas = oFacturasImplement.GetUltimaFactura(_idSocio);
            DataTable oFacturasDetallesDT = new DataTable();
            FacturasDetallesImplement oFacturasDetallesImplements = new FacturasDetallesImplement();
            oFacturasDetallesDT = oFacturasDetallesImplements.GetAllByIdFacturaDT(oFacturas.id_factura);
            decimal valorUltimaFactura =0;
            foreach(DataRow dr in oFacturasDetallesDT.Rows)
            {
                int _idConcepto = int.Parse(dr["id_concepto"].ToString());
                if(_idConcepto==1 | _idConcepto==2 | _idConcepto==3 |_idConcepto==8)
                {
                    valorUltimaFactura = valorUltimaFactura + decimal.Parse(dr["importe"].ToString());
                }
            }

            decimal valorMinimoCuota = Math.Round((valorUltimaFactura / 2), 2);
            txtValorMinimoCuotaMora.Text=valorMinimoCuota.ToString();

            int maxCantCuotas = (int)((ImporteTotalSinInteresMora + ImporteInteresesMora) / valorMinimoCuota);
            //Pregunto por si la moratoria tiene limitacion, si no la tiene cambio la cant max de cuotas por minimo monto
            //por la max cant de cuotas por moratoria directamente

            MoratoriasImplement oMoratoriasImplement = new MoratoriasImplement();
            DataTable cuotasDT = new DataTable();
            DateTime fechaConv = dtpFechaConvenio.Value;

            cuotasDT = oMoratoriasImplement.GetTablaCuotasConvenioMoratoria(maxCantCuotas, fechaConv, ImporteTotalSinInteresMora, ImporteInteresesMora);
            txtCantMaxCuotasMora.Text = cuotasDT.Rows.Count.ToString();//esta tabla trae la cantidad de cuotas previendo limitacion con valor minimo

            dgvCuotasMora.DataSource = cuotasDT;
        }
        private void CargarTotales()
        {
            int mostrarImpagas = 1;
            FacturasImplement oFacturasImplement = new FacturasImplement();

            decimal _recargo =0;
            decimal _srecargo = 0;

            CalculosFactura oCalculosFactura = new CalculosFactura();
            facturas oFacturas = new facturas();
            foreach (DataGridViewRow dr in dgvFacturas.Rows)
            {
                if (dr.Selected)
                {
                    int id_factura = (int)dr.Cells[1].Value;
                    decimal recargoTemp = oCalculosFactura.CalcularRecargo(id_factura);
                    decimal ivaRecTemp = oCalculosFactura.CalcularIVARecargoNuevo(recargoTemp, _idSocio);
                    _recargo = _recargo + recargoTemp + ivaRecTemp;
                    _srecargo = _srecargo + (decimal)oFacturasImplement.Get(id_factura).importeTotal;
                    CanonMunicipal = CanonMunicipal + oCalculosFactura.ObtenerCanonMunicipal(id_factura);

                }
            }

            ImporteRecargos = Math.Round(_recargo, 2);
            txtRecargo.Text = ImporteRecargos.ToString();
            ImporteSinInteres = Math.Round(_srecargo, 2);
            txtSRecargo.Text = ImporteSinInteres.ToString();

            TotalFacturasImporte = (decimal.Parse(txtSRecargo.Text) + decimal.Parse(txtRecargo.Text));
            txtTotalImporte.Text = TotalFacturasImporte.ToString();

            txtTotalFacturas.Text = oFacturasImplement.GetCountFacturasBySocio(_idSocio, mostrarImpagas).ToString();

            ConceptoImplement oConceptoImplement = new ConceptoImplement();

            txtRecargoDiario.Text = oConceptoImplement.Get(18).variable.ToString();

            txtSelec.Text = ObtenerCantSeleccionadas().ToString();
        }
        private void CargarFacturaFutura(string periodo, int idSocio)
        {
            decimal NetoConIVA = 0;
            decimal NetoSinIVA = 0;
            int idMedidor = 0;
            facturas oFactura = new facturas();
            FacturasImplement oFacturaImplement = new FacturasImplement();
            oFactura = oFacturaImplement.Get(_idFactura);
            _oFactura = new facturas();
            _oFactura.id_socio = _idSocio;
            //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;
            _oFactura.id_medicion = 0;

            // obtengo solo los conceptos activos
            IList listaConceptos = new ConceptoImplement().GetActivosAll();
            SocioConexionImplement oSocioConexionImpl = new SocioConexionImplement();
            DataTable DTUsuariosAFacturar = oSocioConexionImpl.GetSociosAFacturar(periodo, idSocio);
            if (DTUsuariosAFacturar.Rows[0]["medidor"].ToString() != "")
            {
                socios_mediciones oSocioMedicionActual = new socios_mediciones();
                SocioMedicionImplement oSocioMedicionImplement = new SocioMedicionImplement();
                oSocioMedicionActual = oSocioMedicionImplement.ultimaMedicion(int.Parse(DTUsuariosAFacturar.Rows[0]["id_socio"].ToString()));
                socios_mediciones oSocioMedicionNew = new socios_mediciones();
                oSocioMedicionNew.fecha_lectura = null;
                oSocioMedicionNew.id_socio = _idSocio;
                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;
                }
                idMedidor = oSocioMedicionImplement.Save(oSocioMedicionNew);
            }

            _oFactura.id_medicion = idMedidor;//Cargo 0 si no tiene medidor
            // 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(idSocio, 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(idSocio, decimal.Parse(DTUsuariosAFacturar.Rows[0]["cargo_fijo"].ToString()), decimal.Parse(DTUsuariosAFacturar.Rows[0]["abono"].ToString()), decimal.Parse(DTUsuariosAFacturar.Rows[0]["valor_m3"].ToString()), oConcepto, _oFactura, oConceptoParticular);
                    if (oDetalle.importe != 0)
                        AgregarDetalle(oDetalle);
                    // 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);
                }
            }
            cod_conceptos oConceptoIVA = new cod_conceptos();
            ConceptoImplement oConceptoImplement = new ConceptoImplement();
            facturas_detalles oDetalleFac = new facturas_detalles();
            oConceptoIVA = oConceptoImplement.Get(23);//concepto IVA es el 23
            oDetalleFac.id_concepto = oConceptoIVA.id_concepto;
            oDetalleFac.id_factura = 0;
            oDetalleFac.idOrden = oConceptoIVA.orden_concepto;
            oDetalleFac.idTipo = 0;
            oDetalleFac.importe = decimal.Round(NetoConIVA * decimal.Parse(DTUsuariosAFacturar.Rows[0]["iva"].ToString()) / 100, 2);
            AgregarDetalle(oDetalleFac);
        }
 public facturas GetUltimaFactura(int idSocio)
 {
     facturas oFactura = new facturas();
     using (cooperativaEntities bd = new cooperativaEntities())
     {
         var regis = (from p in bd.facturas
                      where p.id_socio == idSocio
                      orderby p.id_periodo descending
                      select p).FirstOrDefault();
         oFactura.id_factura = regis.id_factura;
         oFactura.id_periodo = regis.id_periodo;
         oFactura.id_socio = regis.id_socio;
         oFactura.id_medicion = regis.id_medicion;
         oFactura.id_estadoPago = regis.id_estadoPago;
         oFactura.id_tarifa = regis.id_tarifa;
         oFactura.id_convenio = regis.id_convenio;
         oFactura.fechaPago = regis.fechaPago;
         oFactura.cobrado = regis.cobrado;
         oFactura.neto1 = regis.neto1;
         oFactura.neto2 = regis.neto2;
         oFactura.importeNeto = regis.importeNeto;
         oFactura.importeTotal = regis.importeTotal;
         return oFactura;
     }
 }
 private void CargarFacturas()
 {
     this.pDetalles.Visible = true;
     this.gbRefacturar.Visible = true;
     facturas oFactura = new facturas();
     FacturasImplement oFacturaImplement = new FacturasImplement();
     socios oSocio=new socios();
     SocioImplement oSocioImplement = new SocioImplement();
     oSocio = oSocioImplement.Get(_idSocio);
     tarifas oTarifa=new tarifas();
     TarifaImplement oTarifaImplement=new TarifaImplement();
     cod_impuestos oCodImpuesto = new cod_impuestos();
     ImpuestoImplement oImpuestoImplement = new ImpuestoImplement();
     oCodImpuesto = oImpuestoImplement.Get(oSocio.iva.Value);
     oFactura = oFacturaImplement.Get(_idFactura);
     oTarifa=oTarifaImplement.Get(oSocio.tarifa.Value);
     this.txtNroFacturaAct.Text = oFactura.id_factura.ToString();
     _periodo = oFactura.id_factura.ToString();
     this.txtFechaAct.Text = oFactura.id_periodo.ToString();
     CargarFactura(_idFactura);
     this.txtTotalAct.Text = sumarFilas(ref this.dgDetalleAct,"colAImporte").ToString();
     CargarFacturaFutura(_periodo,_idSocio);
     this.txtTotalFut.Text = sumarFilas(ref this.dgDetalleFut,"colFImporte").ToString();
 }
        public string GetUltimoPeriodoFacturadoBySocio(int idSocio)
        {
            facturas oFactura = new facturas();
            using (cooperativaEntities bd = new cooperativaEntities())
            {
                var regis = (from p in bd.facturas
                             where p.id_socio==idSocio
                             & p.id_estadoPago==3
                             orderby int.Parse(p.id_periodo) descending
                             select new {
                                 p.id_periodo

                             }).Single();

                return regis.id_periodo;
            }
        }
        private void Refacturar1()
        {
            decimal NetoConIVA = 0;
            decimal NetoSinIVA = 0;
            decimal SubTotal = 0;
            SocioConexionImplement oSocioConexionImplement = new SocioConexionImplement();
            DataTable DTMedidores = oSocioConexionImplement.GetEstadosMedidores();
            IList listaConceptos = new ConceptoImplement().GetActivosAll();
            DataTable DTUsuariosAFacturar = oSocioConexionImplement.GetSociosAFacturar(_periodo, _idSocio);
            _oFactura = new facturas();
            _oFactura.id_socio = _idSocio;
            //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;
            _oFactura.id_medicion = 0;
            if (DTUsuariosAFacturar.Rows[0]["medidor"].ToString() != "")
            {
                //preguntar como hago con la medicion?
                //socios_mediciones oSocioMedicionActual = new socios_mediciones();
                //SocioMedicionImplement oSocioMedicionImplement = new SocioMedicionImplement();
                //oSocioMedicionActual = oSocioMedicionImplement.ultimaMedicion(_idSocio);
                //socios_mediciones oSocioMedicionNew = new socios_mediciones();
                //oSocioMedicionNew.fecha_lectura = null;
                //oSocioMedicionNew.id_socio =_idSocio;
                NetoConIVA = 0;
                NetoSinIVA = 0;
                foreach (cod_conceptos oConcepto in listaConceptos)
                {
                    bool CorrespondeFacturar = false;
                    if (DTUsuariosAFacturar.Rows[0]["medidor"].ToString() != "")
                    {
                        //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(_idSocio, oConcepto.id_concepto, _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(_idSocio, decimal.Parse(DTUsuariosAFacturar.Rows[0]["cargo_fijo"].ToString()), decimal.Parse(DTUsuariosAFacturar.Rows[0]["abono"].ToString()), decimal.Parse(DTUsuariosAFacturar.Rows[0]["valor_m3"].ToString()), oConcepto, _oFactura, oConceptoParticular);
                        if (oDetalle.importe != 0)

                            AgregarDetalle(oDetalle);

                        // 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 = 0;
                oFacDetalle.idOrden = oConceptoIVA.orden_concepto;
                oFacDetalle.idTipo = 0;
                oFacDetalle.importe = decimal.Round(NetoConIVA * decimal.Parse(DTUsuariosAFacturar.Rows[0]["iva"].ToString()) / 100, 2);
                AgregarDetalle(oFacDetalle);

                // Calcula Total
                _oFactura.importeTotal = _oFactura.importeNeto.Value + Convert.ToSingle(oFacDetalle.importe); //este ahi que ver el tipo de dato

                //// 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 = _idSocio;
                //oCuentaCorriente.importe_credito = 0;
                //oCuentaCorriente.importe_saldo = 0;
                //oCuentaCorriente.importe_debito = Convert.ToDecimal(oFactura.importeTotal);
                //oCuentaCorriente.id_cobranza = 0;
                //oCuentaCorrienteImplement.Save(oCuentaCorriente);

            }
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the facturas EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddTofacturas(facturas facturas)
 {
     base.AddObject("facturas", facturas);
 }