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 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 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; } }