protected DataTable getResumenContratos() { ResumenContrato oResumenContrato = new ResumenContrato(); oResumenContrato.getMakeTable(); DBConn oConn = new DBConn(); if (oConn.Open()) { cContratos oContratos = new cContratos(ref oConn); oContratos.Aprobado = true; //oContratos.AnoTermino = cmbox_ano.SelectedValue; DataTable dtContrato = oContratos.GetForResumen(); if (dtContrato != null) { foreach (DataRow oRow in dtContrato.Rows) { oResumenContrato.Licenciatario = oRow["licenciatario"].ToString(); oResumenContrato.NoContrato = oRow["no_contrato"].ToString(); oResumenContrato.Inicio = DateTime.Parse(oRow["fech_inicio"].ToString()).ToString("dd/MM/yyyy"); oResumenContrato.Final = DateTime.Parse(oRow["fech_termino"].ToString()).ToString("dd/MM/yyyy"); oResumenContrato.PorVencer = string.Empty; string sMesPeriodo = string.Empty; string sFechaPeriodo = string.Empty; string sNumFactura = string.Empty; string sFechFactura = string.Empty; string sFechComprobante = string.Empty; cReporteVenta oReporteVenta = new cReporteVenta(ref oConn); oReporteVenta.InMesReporte = sMeses; oReporteVenta.AnoReporte = cmbox_ano.SelectedValue; oReporteVenta.NumContrato = oRow["num_contrato"].ToString(); oReporteVenta.OrderMes = true; DataTable dtReporteVenta = oReporteVenta.GetResumenContrato(); if (dtReporteVenta != null) { sNumFactura = string.Empty; sFechFactura = string.Empty; sFechComprobante = string.Empty; oResumenContrato.MesFechaUno = null; oResumenContrato.MesFechaDos = null; oResumenContrato.MesFechaTres = null; if (dtReporteVenta.Rows.Count > 0) { foreach (DataRow oRowVenta in dtReporteVenta.Rows) { sMesPeriodo = (string.IsNullOrEmpty(sMesPeriodo) ? oRowVenta["mes_reporte"].ToString() : sMesPeriodo + ',' + oRowVenta["mes_reporte"].ToString()); sFechaPeriodo = (string.IsNullOrEmpty(sFechaPeriodo) ? oRowVenta["fecha_reporte"].ToString() : sFechaPeriodo + ',' + oRowVenta["fecha_reporte"].ToString()); } string[] sMes = sMeses.Split(','); string[] sMesArrPeriodo = sMesPeriodo.Split(','); string[] sFechPeriodo = sFechaPeriodo.Split(','); oResumenContrato.MesFechaUno = string.Empty; oResumenContrato.MesFechaDos = string.Empty; oResumenContrato.MesFechaTres = string.Empty; for (int i = 0; i < sMesArrPeriodo.Length; i++) { if (sMes[0].ToString() == sMesArrPeriodo[i].ToString()) { oResumenContrato.MesFechaUno = DateTime.Parse(sFechPeriodo[i]).ToString("dd/MM/yyyy"); } if (sMes[1].ToString() == sMesArrPeriodo[i].ToString()) { oResumenContrato.MesFechaDos = DateTime.Parse(sFechPeriodo[i]).ToString("dd/MM/yyyy"); } if (sMes[2].ToString() == sMesArrPeriodo[i].ToString()) { oResumenContrato.MesFechaTres = DateTime.Parse(sFechPeriodo[i]).ToString("dd/MM/yyyy"); } } cFactura oFactura = new cFactura(ref oConn); oFactura.NumContrato = oRow["num_contrato"].ToString(); oFactura.Periodo = cmbox_periodo.SelectedValue + "/" + cmbox_ano.SelectedValue; DataTable dtFactura = oFactura.Get(); if (dtFactura != null) { if (dtFactura.Rows.Count > 0) { sNumFactura = dtFactura.Rows[0]["num_invoice"].ToString(); sFechFactura = DateTime.Parse(dtFactura.Rows[0]["date_invoce"].ToString()).ToString("dd/MM/yyyy"); if (!string.IsNullOrEmpty(dtFactura.Rows[0]["cod_comprobante"].ToString())) { cComprobanteImpuesto oComprobanteImpuesto = new cComprobanteImpuesto(ref oConn); oComprobanteImpuesto.CodComprobante = dtFactura.Rows[0]["cod_comprobante"].ToString(); DataTable dtComprobante = oComprobanteImpuesto.Get(); if (dtComprobante != null) { if (dtComprobante.Rows.Count > 0) { sFechComprobante = DateTime.Parse(dtComprobante.Rows[0]["fecha_declaracion"].ToString()).ToString("dd/MM/yyyy"); } } dtComprobante = null; } } } dtFactura = null; } dtReporteVenta = null; } oResumenContrato.NumInvoce = sNumFactura; oResumenContrato.FechFactura = sFechFactura; oResumenContrato.FechComprobante = sFechComprobante; oResumenContrato.AddRow(); } } dtContrato = null; } oConn.Close(); DataTable dtResumenContrato = oResumenContrato.Get(); return(dtResumenContrato); }
public void ProcessRequest(HttpContext context) { string sPath = string.Empty; string sNoContrato = oWeb.GetData("NumContrato"); string sFileName = string.Empty; string pCodComprobante = oWeb.GetData("pCodComprobante"); DBConn oConn = new DBConn(); if (oConn.Open()) { cComprobanteImpuesto oComprobanteImpuesto = new cComprobanteImpuesto(ref oConn); oComprobanteImpuesto.CodComprobante = pCodComprobante; DataTable dtComprobante = oComprobanteImpuesto.Get(); if (dtComprobante != null) { if (dtComprobante.Rows.Count > 0) { sFileName = dtComprobante.Rows[0]["nom_comprobante"].ToString(); } } dtComprobante = null; } System.Web.HttpResponse oResponse = System.Web.HttpContext.Current.Response; //sPath = System.Web.HttpContext.Current.Server.MapPath("ComprobantesSII/") + sNoContrato + "/" + sFileName; sPath = System.Web.HttpContext.Current.Server.MapPath("rps_licenciatariosmattel/") + sFileName; oResponse.AppendHeader("Content-Disposition", "attachment; filename=" + sFileName); // Write the file to the Response const int bufferLength = 10000; byte[] buffer = new Byte[bufferLength]; int length = 0; Stream download = null; try { download = new FileStream(sPath, FileMode.Open, FileAccess.Read); do { if (oResponse.IsClientConnected) { length = download.Read(buffer, 0, bufferLength); oResponse.OutputStream.Write(buffer, 0, length); buffer = new Byte[bufferLength]; } else { length = -1; } }while (length > 0); oResponse.Flush(); oResponse.End(); } finally { if (download != null) { download.Close(); } } }