public byte[] GenerarRecibo(PagoAlquiler Pago) { OleDbConnection conexion = null; string error = ""; string NombreArchFinal = ReciboAlquiler.Split('.')[0] + Pago.Periodo.Value.ToString("MMyy") + Pago.InquilinoId.ToString() + Pago.PropiedadId.ToString(); string ArchivoFinalRecibo = ""; try { ArchivoFinalRecibo = PATH_DIRECTORIO_TEMP + NombreArchFinal + "." + ReciboAlquiler.Split('.')[1]; error = "Arma el nombre del archivo final ok"; if (File.Exists(HttpContext.Current.Server.MapPath(ArchivoFinalRecibo))) { File.Delete(HttpContext.Current.Server.MapPath(ArchivoFinalRecibo)); error = "Ingresa a verificar q existe el archivo final y lo borra ok"; } error = "Ingresa a verificar si existe el archivo final, no existe sale ok."; File.Copy(HttpContext.Current.Server.MapPath(ArchivoOriginalRecibo), HttpContext.Current.Server.MapPath(ArchivoFinalRecibo)); error = "Crea un nuevo archivo final ok."; string cadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + HttpContext.Current.Server.MapPath(ArchivoFinalRecibo) + ";Extended Properties='Excel 12.0 Xml;HDR=NO';"; using (conexion = new OleDbConnection(cadenaConexion)) { conexion.Open(); using (OleDbCommand comando = conexion.CreateCommand()) { comando.CommandText = "UPDATE [Hoja1$E2:E2] SET F1= '" + Pago.FechaPago.Value.ToShortDateString() + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$L2:L2] SET F1= '" + Pago.FechaPago.Value.ToShortDateString() + "'"; comando.ExecuteNonQuery(); var dom = string.IsNullOrWhiteSpace(Pago.Propiedad.Domicilio.Calle) ? "" : Pago.Propiedad.Domicilio.Calle.ToUpper(); if (Pago.Propiedad.Domicilio.Piso != null) { dom += " Piso " + Pago.Propiedad.Domicilio.Piso + " " + Pago.Propiedad.Domicilio.Dto; } dom += string.IsNullOrWhiteSpace(Pago.Propiedad.Domicilio.Barrio) ? "" : " " + Pago.Propiedad.Domicilio.Barrio.ToUpper(); comando.CommandText = "UPDATE [Hoja1$B7:B7] SET F1= '" + dom + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$I7:I7] SET F1= '" + dom + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$B8:B8] SET F1= '" + Pago.Inquilino.Apellido.ToUpper() + " " + Pago.Inquilino.Nombre.ToUpper() + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$I8:I8] SET F1= '" + Pago.Inquilino.Apellido.ToUpper() + " " + Pago.Inquilino.Nombre.ToUpper() + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$C12:C12] SET F1= '" + Pago.Inquilino.Apellido.ToUpper() + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$J12:J12] SET F1= '" + Pago.Inquilino.Apellido.ToUpper() + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$A13:A13] SET F1= '" + Funciones.NumeroALetras(Pago.MontoTotal.ToString()).ToUpper() + ".---'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$H13:H13] SET F1= '" + Funciones.NumeroALetras(Pago.MontoTotal.ToString()).ToUpper() + ".---'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$D14:D14] SET F1= '" + Enum.GetName(typeof(Meses), Pago.Periodo.Value.Month).ToUpper() + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$K14:K14] SET F1= '" + Enum.GetName(typeof(Meses), Pago.Periodo.Value.Month).ToUpper() + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$A29:A29] SET F1= '" + Pago.Observaciones + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$H29:H29] SET F1= '" + Pago.Observaciones + "'"; comando.ExecuteNonQuery(); foreach (PagoAlquiler_Detalle item in Pago.DetallePago) { int fila; switch (item.TipoId) { case 1: fila = 20; break; case 2: fila = 19; break; case 3: fila = 19; break; case 4: fila = 27; break; case 5: fila = 27; break; case 6: fila = 17; break; case 7: fila = 26; break; case 8: fila = 21; break; case 9: fila = 22; break; case 10: fila = 23; break; case 11: fila = 24; break; case 12: fila = 25; break; case 13: fila = 18; break; default: fila = 27; break; } comando.CommandText = string.Format("UPDATE [Hoja1$C{0}:C{0}] SET F1= '" + Enum.GetName(typeof(Meses), item.PeriodoPago.Month).ToUpper() + "'", fila); comando.ExecuteNonQuery(); comando.CommandText = string.Format("UPDATE [Hoja1$E{0}:E{0}] SET F1= '" + decimal.Round(item.Monto, 2, MidpointRounding.AwayFromZero) + "'", fila); comando.ExecuteNonQuery(); comando.CommandText = string.Format("UPDATE [Hoja1$J{0}:J{0}] SET F1= '" + Enum.GetName(typeof(Meses), item.PeriodoPago.Month).ToUpper() + "'", fila); comando.ExecuteNonQuery(); comando.CommandText = string.Format("UPDATE [Hoja1$L{0}:L{0}] SET F1= '" + decimal.Round(item.Monto, 2, MidpointRounding.AwayFromZero) + "'", fila); comando.ExecuteNonQuery(); } comando.CommandText = "UPDATE [Hoja1$E28:E28] SET F1= '" + Pago.MontoTotal + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1$L28:L28] SET F1= '" + Pago.MontoTotal + "'"; comando.ExecuteNonQuery(); } conexion.Close(); conexion.Dispose(); conexion = null; } byte[] bytes = System.IO.File.ReadAllBytes(HttpContext.Current.Server.MapPath(ArchivoFinalRecibo)); //SautinSoft.ExcelToPdf pdf = new ExcelToPdf(); //pdf.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Pdf; //pdf.ConvertFile(ArchivoFinalRecibo, "C:\\work\\Temp\\prueba.pdf"); //var response = pdf.ConvertFiletoBytes(ArchivoFinalRecibo); //pdf.ConvertByteToFile(response, "C:\\work\\Temp\\"); return(bytes); } catch (Exception ex) { throw new Exception("Llega hasta: " + error + ". Path Origen: " + HttpContext.Current.Server.MapPath(ArchivoOriginalRecibo) + ". Path Final: " + HttpContext.Current.Server.MapPath(ArchivoFinalRecibo) + ex.Message); } }
public ActionResult Create(CobroAlquilerModel collection) { try { //if (ModelState.IsValid) //{ var pagoentity = new PagoAlquiler(); pagoentity.ContratoId = int.Parse(collection.Contrato.sIdContrato); pagoentity.FechaPago = DateTime.Now; pagoentity.InquilinoId = int.Parse(collection.Contrato.sInquilinoId); pagoentity.PropiedadId = int.Parse(collection.Contrato.sPropiedadId); pagoentity.Observaciones = collection.Pago.Observaciones; pagoentity.Periodo = DateTime.Parse(collection.sPeriodo.Substring(6, 2) + "/" + collection.sPeriodo.Substring(4, 2) + "/" + collection.sPeriodo.Substring(0, 4)); pagoentity.Observaciones = collection.Pago.Observaciones; var detallePago = new PagoAlquiler_Detalle(); detallePago.Monto = collection.Pago.MontoTotal.Value; detallePago.TipoId = 6; detallePago.PeriodoPago = pagoentity.Periodo.Value; pagoentity.DetallePago = new List <PagoAlquiler_Detalle>(); pagoentity.DetallePago.Add(detallePago); foreach (var item in collection.OtrosPagos) { if (!string.IsNullOrEmpty(item.Monto)) { pagoentity.DetallePago.Add(new PagoAlquiler_Detalle() { TipoId = item.Codigo, Monto = decimal.Parse(item.Monto), PeriodoPago = pagoentity.Periodo.Value }); collection.Pago.MontoTotal += decimal.Parse(item.Monto); } } pagoentity.MontoTotal = collection.Pago.MontoTotal; var pagoBll = new CobrosBLL(); int cod = pagoBll.Add(pagoentity); collection.Pago = pagoentity; collection.Pago.PagoId = cod; string impu = collection.ImpuestosPresentados; ViewBag.Imprimir = true; ViewBag.TipoMsj = "Success"; ViewBag.Message = "El cobro se registro con Exito!!!"; return(View(collection)); //} //else //{ // ViewBag.TipoMsj = "Info"; // ViewBag.Message = string.Join("; ", ModelState.Values // .SelectMany(x => x.Errors) // .Select(x => x.ErrorMessage)); // return View(collection); //} } catch (Exception ex) { ViewBag.TipoMsj = "Error"; ViewBag.Message = ex.Message; return(View()); } }
public byte[] GenerarReciboPropietario(PagoAlquiler Pago, Contratos Contrato) { OleDbConnection conexion = null; string PATH_DIRECTORIO_ARCHIVOS = ConfigurationManager.AppSettings["PathArchivosOriginal"]; string ReciboPropietario = ConfigurationManager.AppSettings["ArchivoReciboPropietario"]; string PATH_DIRECTORIO_TEMP = ConfigurationManager.AppSettings["PathArchivosTemp"]; string NombreArchFinal = ReciboPropietario.Split('.')[0] + Pago.Periodo.Value.ToString("MMyy") + Pago.InquilinoId.ToString() + Pago.PropiedadId.ToString(); try { string ArchivoOriginalRecibo = PATH_DIRECTORIO_ARCHIVOS + ReciboPropietario; string ArchivoFinalRecibo = PATH_DIRECTORIO_TEMP + NombreArchFinal + "." + ReciboPropietario.Split('.')[1]; if (File.Exists(ArchivoFinalRecibo)) { File.Delete(ArchivoFinalRecibo); } File.Copy(ArchivoOriginalRecibo, ArchivoFinalRecibo); string cadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ArchivoFinalRecibo + ";Extended Properties='Excel 12.0 Xml;HDR=NO';"; using (conexion = new OleDbConnection(cadenaConexion)) { conexion.Open(); using (OleDbCommand comando = conexion.CreateCommand()) { comando.CommandText = "UPDATE [Hoja1 0$E2:E2] SET F1= '" + Pago.FechaPago.Value.ToShortDateString() + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$L2:L2] SET F1= '" + Pago.FechaPago.Value.ToShortDateString() + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$B7:B7] SET F1= '" + Pago.Propiedad.Domicilio.Calle + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$I7:I7] SET F1= '" + Pago.Propiedad.Domicilio.Calle + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$B8:B8] SET F1= '" + Pago.Propiedad.Personas.Apellido + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$I8:I8] SET F1= '" + Pago.Propiedad.Personas.Apellido + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$A13:A13] SET F1= '" + Funciones.NumeroALetras(Pago.MontoTotal.ToString()) + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$H13:H13] SET F1= '" + Funciones.NumeroALetras(Pago.MontoTotal.ToString()) + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$D14:D14] SET F1= '" + Enum.GetName(typeof(Meses), Pago.Periodo.Value.Month) + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$K14:K14] SET F1= '" + Enum.GetName(typeof(Meses), Pago.Periodo.Value.Month) + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$A28:A28] SET F1= '" + Pago.Observaciones + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$H28:H28] SET F1= '" + Pago.Observaciones + "'"; comando.ExecuteNonQuery(); if (Pago.DetallePago.Any(xx => xx.TipoId == (int)TipoImpuestoServicio.Alquiler)) { var alquiler = Pago.DetallePago.First(x => x.TipoId == (int)TipoImpuestoServicio.Alquiler); comando.CommandText = "UPDATE [Hoja1 0$C17:C17] SET F1= '" + Enum.GetName(typeof(Meses), alquiler.PeriodoPago.Month) + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$J17:J17] SET F1= '" + Enum.GetName(typeof(Meses), alquiler.PeriodoPago.Month) + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$C18:C18] SET F1= '" + Contrato.PorcentajeInmobiliaria + "'"; comando.ExecuteNonQuery(); comando.CommandText = "UPDATE [Hoja1 0$J18:J18] SET F1= '" + Contrato.PorcentajeInmobiliaria + "'"; comando.ExecuteNonQuery(); } } conexion.Close(); conexion.Dispose(); conexion = null; } SautinSoft.ExcelToPdf pdf = new ExcelToPdf(); pdf.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Pdf; var response = pdf.ConvertFiletoBytes(ArchivoFinalRecibo); return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }