Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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());
            }
        }
Esempio n. 3
0
        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);
            }
        }