示例#1
0
 private void CargarFactura(int idFactura)
 {
     CalculosFactura oCalculoFactura = new CalculosFactura();
     this.dgDetalleAct.DataSource = oCalculoFactura.GetFacturasDetalles(idFactura);
 }
        public DataTable GetByIdFacturaDT(int idFactura)
        {
            try
            {
                int controlImpagas = 0;

                using (cooperativaEntities bd = new cooperativaEntities())
                {

                    var Listar = (from f in bd.facturas

                                  join e in bd.cod_estados_pago on f.id_estadoPago equals e.id_estado_pago
                                  join m in bd.socios_mediciones on f.id_medicion equals m.id_medicion
                                  join pr in bd.periodos on f.id_periodo equals pr.id_periodo
                                  #region
                                  join detalle1 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 23  //IVA
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe,
                                           importea = d != null ? (int?)d.importe : null
                                       }) on f.id_factura equals detalle1.id_factura
                                  into temp
                                  from i in temp.DefaultIfEmpty()

                                  join detalle2 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 18  //Recargo
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle2.id_factura
                                  into temp2
                                  from r in temp2.DefaultIfEmpty()

                                  join detalle3 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 20  //IVARECARGO
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle3.id_factura
                                  into temp3
                                  from ir in temp3.DefaultIfEmpty()

                                  join detalle4 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 21  //DESCUENTO
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle4.id_factura
                                  into temp4
                                  from desc in temp4.DefaultIfEmpty()

                                  join detalle5 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 22   //IVADESCUENTO
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle5.id_factura
                                  into temp5
                                  from idesc in temp5.DefaultIfEmpty()

                                  join detalle6 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 5   //CONVENIOS
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle6.id_factura
                                  into temp6
                                  from fconv in temp6.DefaultIfEmpty()

                                  join detalle7 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 4   //ACCIONES
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle7.id_factura
                                 into temp7
                                  from facc in temp7.DefaultIfEmpty()

                                  join yr in
                                      (from fx in bd.facturas
                                       join mx in bd.socios_mediciones on fx.id_medicion equals mx.id_medicion

                                       where fx.id_socio == idFactura
                                       orderby fx.id_factura descending
                                       select new
                                       {
                                           fx.id_factura,
                                           mx.lectura,
                                           fx.id_socio
                                       }) on idFactura equals yr.id_factura
                                    into tempo
                                  from df in tempo.Take(1).DefaultIfEmpty()

                                  #endregion
                                  where f.id_factura == idFactura
                                  select new
                                  {
                                      Periodo = f.id_periodo,
                                      Factura = f.id_factura,
                                      FechaFact = f.fechaPago,
                                      FechaVenc = pr.fecha_primer_venc,
                                      idEstado = e.id_estado_pago,
                                      Estado = e.estado_pago,
                                      Total = f.importeTotal,
                                      Neto = f.importeNeto,
                                      IVA = (Decimal?)i.importe,

                                      Recargo = (Decimal?)r.importe,

                                      IVARecargo = (Decimal?)ir.importe,

                                      Descuento = (Decimal?)desc.importe,

                                      IVADescuento = (Decimal?)idesc.importe,

                                      Cobrado = f.cobrado,
                                      Consumo = m.consumo,
                                      Lectura = m.lectura,

                                      LecturaAnt = (Int32?)df.lectura,
                                      DiasVenc = 0,

                                      // Status = aa == null ? (bool?)null : aa.Online;
                                      Convenio = (Decimal?)fconv.importe==null? 0 :(Decimal?)fconv.importe,
                                      Acciones = (Decimal?)facc.importe == null ? 0 : (Decimal?)facc.importe

                                  }).ToList();

                    Commons oCommons = new Commons();
                    DataTable FacturasDetalles = oCommons.convertToTable(Listar);

                    foreach (DataRow rowFactDet in FacturasDetalles.Rows)
                    {
                        CalculosFactura oCalculosFactura = new CalculosFactura();

                        if (int.Parse(rowFactDet["idEstado"].ToString()) == 3)
                        {
                            //paga muestro lo de la fact. como lo hice al principio

                        }
                        else
                        {
                            rowFactDet["Recargo"] = oCalculosFactura.CalcularRecargo(idFactura);
                            rowFactDet["IVARecargo"] = oCalculosFactura.CalcularIVARecargo(idFactura);
                            rowFactDet["Total"] = decimal.Parse(rowFactDet["Total"].ToString()) + decimal.Parse(rowFactDet["Recargo"].ToString()) + decimal.Parse(rowFactDet["IVARecargo"].ToString());

                            rowFactDet["Descuento"] = oCalculosFactura.CalcularDescuento(idFactura);
                            rowFactDet["IVADescuento"] = oCalculosFactura.CalcularIVADescuento(idFactura);
                        }

                        rowFactDet["LecturaAnt"] = oCalculosFactura.ObtenerLecturaAnterior(idFactura);

                        rowFactDet["FechaVenc"] = oCalculosFactura.ObtenerFechaVenc(idFactura);

                        rowFactDet["DiasVenc"] = oCalculosFactura.ObtenerDiasDeVencimiento(idFactura);
                    }
                    return FacturasDetalles;
                }

            }
            catch (Exception)
            {
                return null;
            }
        }
        public Decimal? GetTotalIVARecargoBySocio(int idSocio, int mostrarImpagas)
        {
            decimal totalIVARecargo = 0;
            Commons oCommons = new Commons();
            int controlImpagas = 0;
            if (mostrarImpagas == 1)
            {
                controlImpagas = 3;
            }
            using (cooperativaEntities bd = new cooperativaEntities())
            {
                var detallesByFact = (from fac in bd.facturas

                                      where fac.id_socio == idSocio && (fac.id_estadoPago < controlImpagas | controlImpagas == 0)
                                      select new
                                      {
                                          fac.id_factura
                                      }).ToList();

                DataTable detallesCalc = oCommons.convertToTable(detallesByFact);
                CalculosFactura oCalculosFactura = new CalculosFactura();
                foreach (DataRow rowDet in detallesCalc.Rows)
                {
                    totalIVARecargo = totalIVARecargo + oCalculosFactura.CalcularIVARecargo(int.Parse(rowDet["id_factura"].ToString()));
                }

                return totalIVARecargo;

            }
        }
        public DataTable GetByIdSocioSinConvenioDT(int idSocio, int mostrarImpagas, int mostrarValoresActualizados)
        {
            try
            {
                int controlImpagas = 0;
                if (mostrarImpagas == 1)
                {
                    controlImpagas = 3;
                }
                DataTable FacturasDetalles = new DataTable();
                MySqlCommand _comando = new MySqlCommand(String.Format(
               " call facturas_GetByIdSocio('{0}', '{1}')", idSocio, controlImpagas), dbConectorMySql.ObtenerConexion());

                //MySqlDataAdapter _da = new MySqlDataAdapter(_comando);
                //_da.Fill(DTIntimaciones);

                MySqlDataReader _reader = _comando.ExecuteReader();

                FacturasDetalles.Load(_reader);

                using (cooperativaEntities bd = new cooperativaEntities())
                {
                //    var Listar = (from f in bd.facturas

                //                  join e in bd.cod_estados_pago on f.id_estadoPago equals e.id_estado_pago
                //                  join m in bd.socios_mediciones on f.id_medicion equals m.id_medicion
                //                  join pr in bd.periodos on f.id_periodo equals pr.id_periodo
                //                  #region
                //                  join detalle1 in
                //                      (from d in bd.facturas_detalles
                //                       where d.id_concepto == 23  //IVA
                //                       select new
                //                       {
                //                           d.id_factura,
                //                           d.importe,
                //                           importea = d != null ? (int?)d.importe : null
                //                       }) on f.id_factura equals detalle1.id_factura
                //                  into temp
                //                  from i in temp.DefaultIfEmpty()

                //                  join detalle2 in
                //                      (from d in bd.facturas_detalles
                //                       where d.id_concepto == 18  //Recargo
                //                       select new
                //                       {
                //                           d.id_factura,
                //                           d.importe
                //                       }) on f.id_factura equals detalle2.id_factura
                //                  into temp2
                //                  from r in temp2.DefaultIfEmpty()

                //                  join detalle3 in
                //                      (from d in bd.facturas_detalles
                //                       where d.id_concepto == 20  //IVARECARGO
                //                       select new
                //                       {
                //                           d.id_factura,
                //                           d.importe
                //                       }) on f.id_factura equals detalle3.id_factura
                //                  into temp3
                //                  from ir in temp3.DefaultIfEmpty()

                //                  join detalle4 in
                //                      (from d in bd.facturas_detalles
                //                       where d.id_concepto == 21  //DESCUENTO
                //                       select new
                //                       {
                //                           d.id_factura,
                //                           d.importe
                //                       }) on f.id_factura equals detalle4.id_factura
                //                  into temp4
                //                  from desc in temp4.DefaultIfEmpty()

                //                  join detalle5 in
                //                      (from d in bd.facturas_detalles
                //                       where d.id_concepto == 22   //IVADESCUENTO
                //                       select new
                //                       {
                //                           d.id_factura,
                //                           d.importe
                //                       }) on f.id_factura equals detalle5.id_factura
                //                  into temp5
                //                  from idesc in temp5.DefaultIfEmpty()

                //                  join yr in
                //                      (from fx in bd.facturas
                //                       join mx in bd.socios_mediciones on fx.id_medicion equals mx.id_medicion

                //                       where fx.id_socio == idSocio
                //                       orderby fx.id_factura descending
                //                       select new
                //                       {
                //                           fx.id_factura,
                //                           mx.lectura,
                //                           fx.id_socio
                //                       }) on idSocio equals yr.id_socio
                //                    into tempo
                //                  from df in tempo.Take(1).DefaultIfEmpty()

                //                  #endregion
                //                  where f.id_socio == idSocio && (f.id_estadoPago < controlImpagas | controlImpagas == 0)
                //                  && (f.id_convenio==0 | f.id_convenio ==null)
                //                  select new
                //                  {
                //                      Periodo = f.id_periodo,
                //                      Factura = f.id_factura,
                //                      FechaFact = f.fechaPago,
                //                      FechaVenc = pr.fecha_primer_venc,
                //                      idEstado = e.id_estado_pago,
                //                      Estado = e.estado_pago,
                //                      Total = f.importeTotal,
                //                      Neto = f.importeNeto,
                //                      IVA = (Decimal?)i.importe,

                //                      Recargo = (Decimal?)r.importe,

                //                      IVARecargo = (Decimal?)ir.importe,

                //                      Descuento = (Decimal?)desc.importe,

                //                      IVADescuento = (Decimal?)idesc.importe,

                //                      Cobrado = f.cobrado,
                //                      Consumo = m.consumo,
                //                      Lectura = m.lectura,

                //                      LecturaAnt = (Int32?)df.lectura,
                //                      DiasVenc = 0

                //                  }).ToList();

                //    Commons oCommons = new Commons();
                //    DataTable FacturasDetalles = oCommons.convertToTable(Listar);

                    foreach (DataRow rowFactDet in FacturasDetalles.Rows)
                    {
                        CalculosFactura oCalculosFactura = new CalculosFactura();
                        int idFactura = int.Parse(rowFactDet["Factura"].ToString());
                        if (int.Parse(rowFactDet["idEstado"].ToString()) == 3)
                        {
                            //paga muestro lo de la fact. como lo hice al principio

                        }
                        else
                        {
                            //calculo

                            // rowFactDet["IVA"] = oCalculosFactura.CalcularIVA(idFactura);
                            if (mostrarValoresActualizados == 1)
                            {
                                Decimal rec = oCalculosFactura.CalcularRecargo(idFactura);
                                rowFactDet["Recargo"] = rec;
                                rowFactDet["IVARecargo"] = oCalculosFactura.CalcularIVARecargoNuevo(rec, idSocio);
                                rowFactDet["Total"] = decimal.Parse(rowFactDet["Total"].ToString()) + decimal.Parse(rowFactDet["Recargo"].ToString()) + decimal.Parse(rowFactDet["IVARecargo"].ToString());
                            }
                            else
                            {
                                rowFactDet["Recargo"] = 0;
                                rowFactDet["IVARecargo"] = 0;
                            }

                            rowFactDet["Descuento"] = oCalculosFactura.CalcularDescuento(idFactura);
                            rowFactDet["IVADescuento"] = oCalculosFactura.CalcularIVADescuento(idFactura);

                        }

                        rowFactDet["LecturaAnt"] = oCalculosFactura.ObtenerLecturaAnterior(idFactura);

                        rowFactDet["FechaVenc"] = oCalculosFactura.ObtenerFechaVenc(idFactura);

                        rowFactDet["DiasVenc"] = oCalculosFactura.ObtenerDiasDeVencimiento(idFactura);
                    }
                    return FacturasDetalles;
                }

            }
            catch (Exception)
            {
                return null;
            }
        }
        public DataTable GetByIdSocioDT(int idSocio, int mostrarImpagas, int mostrarValoresActualizados)
        {
            try
            {
                int controlImpagas = 0;
                if (mostrarImpagas == 1)
                {
                    controlImpagas = 3;
                }

                DataTable FacturasDetalles = new DataTable();
                MySqlCommand _comando = new MySqlCommand(String.Format(
               " call facturas_GetByIdSocio('{0}', '{1}')", idSocio, controlImpagas), dbConectorMySql.ObtenerConexion());

                //MySqlDataAdapter _da = new MySqlDataAdapter(_comando);
                //_da.Fill(DTIntimaciones);

                MySqlDataReader _reader = _comando.ExecuteReader();

                FacturasDetalles.Load(_reader);

                using (cooperativaEntities bd = new cooperativaEntities())
                {

                    #region
                    //new DataTable("FacturasBySocio");

                    //DataColumn FacturasBySocioCol = FacturasBySocio.Columns.Add("Periodo");
                    //FacturasBySocio.Columns.Add("Factura");
                    //FacturasBySocio.Columns.Add("Estado");
                    //FacturasBySocio.Columns.Add("Total");
                    //FacturasBySocio.Columns.Add("Neto");
                    //FacturasBySocio.Columns.Add("IVA");
                    //FacturasBySocio.Columns.Add("Recargo");
                    //FacturasBySocio.Columns.Add("IVARecargo");
                    //FacturasBySocio.Columns.Add("Descuento");
                    //FacturasBySocio.Columns.Add("IVADescuento");
                    //FacturasBySocio.Columns.Add("Cobrado");
                    //FacturasBySocio.Columns.Add("Consumo");
                    //FacturasBySocio.Columns.Add("Lectura");
                    //FacturasBySocio.Columns.Add("LecturaAnt");

                    //var facturasConsulta = (from fac in bd.facturas
                    //                        where fac.id_socio == idSocio
                    //                        select fac).ToList();
                    //DataTable facturasDT = oCommons.convertToTable(facturasConsulta);

                    //var detallesConsulta = (from d in bd.facturas_detalles
                    //                        join fasd in bd.facturas on d.id_factura equals fasd.id_factura
                    //                        where fasd.id_socio == idSocio
                    //                        select d).ToList();
                    //DataTable detallesDT = oCommons.convertToTable(detallesConsulta);

                    //foreach (DataRow row in facturasDT.Rows)
                    //{
                    //    DataRow rowaux =  FacturasBySocio.NewRow();

                    //    rowaux["Periodo"] =row["id_periodo"];
                    //    rowaux["Factura"] =row["id_factura"];
                    //    EstadosPagoImplement oEstadosPagoImplement = new EstadosPagoImplement();

                    //    rowaux["Estado"] = oEstadosPagoImplement.Get(int.Parse(row["id_estadoPago"].ToString())).estado_pago;
                    //    rowaux["Total"] =row["importeTotal"];
                    //    rowaux["Neto"] =row["importeNeto"];

                    //    foreach (DataRow rowD in detallesDT.Rows)
                    //    {
                    //        if (int.Parse(rowD["id_concepto"].ToString()) == 2)
                    //        {
                    //            rowaux["IVA"] = decimal.Parse(rowD["importe"].ToString());
                    //        }
                    //        if (int.Parse(rowD["id_concepto"].ToString()) == 2)
                    //        {
                    //            rowaux["Recargo"] = decimal.Parse(rowD["importe"].ToString());
                    //        }
                    //        if (int.Parse(rowD["id_concepto"].ToString()) == 2)
                    //        {
                    //            rowaux["IVARecargo"] = decimal.Parse(rowD["importe"].ToString());
                    //        }
                    //        if (int.Parse(rowD["id_concepto"].ToString()) == 2)
                    //        {
                    //            rowaux["Descuento"] = decimal.Parse(rowD["importe"].ToString());
                    //        }
                    //        if (int.Parse(rowD["id_concepto"].ToString()) == 2)
                    //        {
                    //            rowaux["IVADescuento"] = decimal.Parse(rowD["importe"].ToString());
                    //        }
                    //    }

                    //    rowaux["Cobrado"] =row["cobrado"];

                    //    SocioMedicionImplement oSocioMedicionImplement = new SocioMedicionImplement();

                    //    rowaux["Consumo"] = oSocioMedicionImplement.Get(int.Parse(row["id_medicion"].ToString())).consumo;

                    //    rowaux["Lectura"] = oSocioMedicionImplement.Get(int.Parse(row["id_medicion"].ToString())).lectura;

                    //    DateTime? pepe = oSocioMedicionImplement.Get(int.Parse(row["id_medicion"].ToString())).fecha_lectura;
                    //    if (pepe != null)
                    //    {
                    //        rowaux["LecturaAnt"] = (from f2 in bd.facturas
                    //                                join sm2 in bd.socios_mediciones on f2.id_medicion equals sm2.id_medicion
                    //                                where f2.id_socio == idSocio & sm2.fecha_lectura < pepe
                    //                                orderby sm2.fecha_lectura descending
                    //                                select new
                    //                                {
                    //                                    sm2.lectura
                    //                                }).Single().lectura;
                    //    }
                    //    FacturasBySocio.Rows.Add(rowaux);
                    //}

                    //return FacturasBySocio;

                    #endregion
                    #region viejo EF
                    /*
                    var Listar = (from f in bd.facturas

                                  join e in bd.cod_estados_pago on f.id_estadoPago equals e.id_estado_pago
                                  join m in bd.socios_mediciones on f.id_medicion equals m.id_medicion
                                  join pr in bd.periodos on f.id_periodo equals pr.id_periodo
                                  #region
                                  join detalle1 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 23  //IVA
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe,
                                           importea = d != null ? (int?)d.importe : null
                                       }) on f.id_factura equals detalle1.id_factura
                                  into temp
                                  from i in temp.DefaultIfEmpty()

                                  join detalle2 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 18  //Recargo
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle2.id_factura
                                  into temp2
                                  from r in temp2.DefaultIfEmpty()

                                  join detalle3 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 20  //IVARECARGO
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle3.id_factura
                                  into temp3
                                  from ir in temp3.DefaultIfEmpty()

                                  join detalle4 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 21  //DESCUENTO
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle4.id_factura
                                  into temp4
                                  from desc in temp4.DefaultIfEmpty()

                                  join detalle5 in
                                      (from d in bd.facturas_detalles
                                       where d.id_concepto == 22   //IVADESCUENTO
                                       select new
                                       {
                                           d.id_factura,
                                           d.importe
                                       }) on f.id_factura equals detalle5.id_factura
                                  into temp5
                                  from idesc in temp5.DefaultIfEmpty()

                                  join yr in
                                      (from fx in bd.facturas
                                       join mx in bd.socios_mediciones on fx.id_medicion equals mx.id_medicion

                                       where fx.id_socio == idSocio
                                       orderby fx.id_factura descending
                                       select new
                                       {
                                           fx.id_factura,
                                           mx.lectura,
                                           fx.id_socio
                                       }) on idSocio equals yr.id_socio
                                    into tempo
                                  from df in tempo.Take(1).DefaultIfEmpty()

                                  #endregion
                                  where f.id_socio == idSocio && (f.id_estadoPago < controlImpagas | controlImpagas == 0)
                                  select new
                                  {
                                      Periodo = f.id_periodo,
                                      Factura = f.id_factura,
                                      FechaFact = f.fechaPago,
                                      FechaVenc = pr.fecha_primer_venc,
                                      idEstado = e.id_estado_pago,
                                      Estado = e.estado_pago,
                                      Total = f.importeTotal,
                                      Neto = f.importeNeto,
                                      IVA = (Decimal?)i.importe,

                                      Recargo = (Decimal?)r.importe,

                                      IVARecargo = (Decimal?)ir.importe,

                                      Descuento = (Decimal?)desc.importe,

                                      IVADescuento = (Decimal?)idesc.importe,

                                      Cobrado = f.cobrado,
                                      Consumo = m.consumo,
                                      Lectura = m.lectura,

                                      LecturaAnt = (Int32?)df.lectura,
                                      DiasVenc = 0

                                  }).ToList();

                    Commons oCommons = new Commons();
                    DataTable FacturasDetalles = oCommons.convertToTable(Listar);*/
                    #endregion

                    foreach (DataRow rowFactDet in FacturasDetalles.Rows)
                    {
                        CalculosFactura oCalculosFactura = new CalculosFactura();
                        int idFactura = int.Parse(rowFactDet["Factura"].ToString());
                        if (int.Parse(rowFactDet["idEstado"].ToString()) == 3)
                        {
                            //paga muestro lo de la fact. como lo hice al principio
                            /*Decimal rec= oCalculosFactura.CalcularRecargo(idFactura);
                            rowFactDet["Recargo"] = rec;
                            rowFactDet["IVARecargo"] = oCalculosFactura.CalcularIVARecargoNuevo(rec, idSocio);*/
                        }
                        else
                        {
                            //calculo

                           // rowFactDet["IVA"] = oCalculosFactura.CalcularIVA(idFactura);

                            if (mostrarValoresActualizados == 1)
                            {
                                Decimal rec = oCalculosFactura.CalcularRecargo(idFactura);
                                rowFactDet["Recargo"] = rec;
                                rowFactDet["IVARecargo"] = oCalculosFactura.CalcularIVARecargoNuevo(rec, idSocio);
                                rowFactDet["Total"] = decimal.Parse(rowFactDet["Total"].ToString()) + decimal.Parse(rowFactDet["Recargo"].ToString()) + decimal.Parse(rowFactDet["IVARecargo"].ToString());
                            }
                            else {
                                rowFactDet["Recargo"] =0;
                                rowFactDet["IVARecargo"] = 0;
                            }

                            rowFactDet["Descuento"] = oCalculosFactura.CalcularDescuento(idFactura);
                            rowFactDet["IVADescuento"] = oCalculosFactura.CalcularIVADescuento(idFactura);

                        }

                        rowFactDet["LecturaAnt"] = oCalculosFactura.ObtenerLecturaAnterior(idFactura);

                        //rowFactDet["FechaVenc"] = oCalculosFactura.ObtenerFechaVenc(idFactura);

                        //rowFactDet["DiasVenc"] = oCalculosFactura.ObtenerDiasDeVencimientoNuevo(DateTime.Parse(rowFactDet["FechaVenc"].ToString()));
                    }
                    return FacturasDetalles;
                }

            }
            catch (Exception)
            {
                return null;
            }
        }
        public Decimal? GetTotalRecargoBySocio(int idSocio, int mostrarImpagas)
        {
            decimal totalRecargo = 0;
            Commons oCommons = new Commons();
            int controlImpagas = 0;
            if (mostrarImpagas == 1)
            {
                controlImpagas = 3;
            }

            MySqlCommand _comando = new MySqlCommand(String.Format(
            "call GetIdFactBySocio('{0}', '{1}')", idSocio, controlImpagas), dbConectorMySql.ObtenerConexion());

            MySqlDataReader _reader = _comando.ExecuteReader();
            DataTable detallesCalc = new DataTable();
            detallesCalc.Load(_reader);

            /*using (cooperativaEntities bd = new cooperativaEntities())
            {
                var detallesByFact = (from fac in bd.facturas

                                      where fac.id_socio == idSocio && (fac.id_estadoPago < controlImpagas | controlImpagas == 0)
                                      select new
                                      {
                                          fac.id_factura
                                      }).ToList();

                DataTable detallesCalc = oCommons.convertToTable(detallesByFact);
                CalculosFactura oCalculosFactura = new CalculosFactura();
                foreach (DataRow rowDet in detallesCalc.Rows)
                {
                    totalRecargo = totalRecargo + oCalculosFactura.CalcularRecargo(int.Parse(rowDet["id_factura"].ToString()));
                }

                return totalRecargo;

            }*/
            CalculosFactura oCalculosFactura = new CalculosFactura();
            /*foreach (DataRow rowDet in detallesCalc.Rows)
            {
                totalRecargo = totalRecargo + oCalculosFactura.CalcularRecargo(int.Parse(rowDet[0].ToString()));
            }*/

            return totalRecargo;
        }
示例#7
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;
                    }
                }
            }
        }
        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();
        }