protected override System.Data.DataSet GetDatosReporte()
        {
            DataSet.DSListadoAdmAlquileres ds = new GI.Reportes.DataSet.DSListadoAdmAlquileres();

            Managers.ManagerGeneral mngGeneral = new GI.Reportes.Managers.ManagerGeneral();

            #region Imagenes Encabezado y pie

            DataSet.DSListadoAdmAlquileres.EncabezadosRow row_encabezado = ds.Encabezados.NewEncabezadosRow();
            GI.BR.Reportes.ParametrosReportes param = new GI.BR.Reportes.ParametrosReportes();
            param.Recuperar();
            if (param.Encabezado != null)
                row_encabezado.Encabezado = mngGeneral.ConvertBitmapToArray(param.Encabezado, System.Drawing.Imaging.ImageFormat.Jpeg);
            if (param.PiePagina != null)
                row_encabezado.PiePagina = mngGeneral.ConvertBitmapToArray(param.PiePagina, System.Drawing.Imaging.ImageFormat.Jpeg);
            ds.Encabezados.Rows.Add(row_encabezado);

            #endregion

            DataSet.DSListadoAdmAlquileres.EncabezadoRow rowEncabezado = ds.Encabezado.NewEncabezadoRow();

            rowEncabezado.TituloReporte = titulo;

            ds.Encabezado.Rows.Add(rowEncabezado);

            DataSet.DSListadoAdmAlquileres.DetallesRow rowDetalles = null;

            foreach (GI.BR.AdmAlquileres.AdmAlquiler a in admAlquileres)
            {
                rowDetalles = ds.Detalles.NewDetallesRow();

                rowDetalles.DiaCobro = a.ContratoVigente.DiaCobro;
                rowDetalles.DireccionPropiedad = a.Alquiler.Direccion.ToString();
                rowDetalles.FechaInicio = a.ContratoVigente.FechaInicio;
                rowDetalles.FechaVencimiento = a.ContratoVigente.FechaVencimiento;
                GI.BR.Valor monto = a.ContratoVigente.GetMonto(DateTime.Today.Month, DateTime.Today.Year);
                if (monto != null)
                    rowDetalles.Monto = monto.ToString();
                else
                    rowDetalles.Monto = "------";

                if(a.Contacto == null)
                    rowDetalles.NombreContacto = "------";
                else
                    rowDetalles.NombreContacto = a.Contacto.ToString();

                if (a.ContratoVigente.Inquilino == null)
                    rowDetalles.NombreInquilino = "No hay Inquilino.";
                else
                    rowDetalles.NombreInquilino = a.ContratoVigente.Inquilino.ToString();

                ds.Detalles.Rows.Add(rowDetalles);
            }

            return ds;
        }
        private void bAceptar_Click(object sender, EventArgs e)
        {
            int port = 0;
            if (!Int32.TryParse(textBoxPort.Text, out port))
            {
                Framework.General.GIMsgBox.Show("Debe ingresar un valor válido para el perto", GI.Framework.General.enumTipoMensaje.Error);
                return;
            }

            Inmobiliaria.Direccion = ctrlDireccion1.Direccion;
            Inmobiliaria.Fax = textBoxFax.Text;
            Inmobiliaria.Nombre = textBoxNombreInmobiliaria.Text;
            Inmobiliaria.Telefono = textBoxTelefono.Text;
            Inmobiliaria.Url = textBoxDireccionWeb.Text;

            Inmobiliaria.Actualizar();

            smtp.AutenticacionSmtp = checkBoxAutenticacion.Checked;
            smtp.Email = textBoxMail.Text;
            smtp.Host = textBoxSmtpHost.Text;
            smtp.Nombre = textBoxNombre.Text;
            smtp.Password = textBoxPassword.Text;
            smtp.Puerto = port;
            smtp.Ssl = checkBoxSSL.Checked;
            smtp.UserName = textBoxUsuario.Text;

            smtp.Actualizar();

            BR.Reportes.ParametrosReportes reps = new GI.BR.Reportes.ParametrosReportes();
            if (pictureBox1.Image != null)
            {
                reps.Encabezado = new Bitmap( pictureBox1.Image);
            }
            if (pictureBox2.Image != null)
            {
                reps.PiePagina = new Bitmap(pictureBox2.Image);
            }
            reps.Guardar();

            Close();
        }
        public override GI.Reportes.DataSet.DSFichaPropiedadv2 GetDataSet(GI.BR.Propiedades.Propiedad Propiedad)
        {
            Managers.ManagerGeneral mngGeneral = new GI.Reportes.Managers.ManagerGeneral();
            DataSet.DSFichaPropiedadv2 ds = new GI.Reportes.DataSet.DSFichaPropiedadv2();
            int index = 0;

            #region Encabezado

            DataSet.DSFichaPropiedadv2.EncabezadosRow row_encabezado = ds.Encabezados.NewEncabezadosRow();
            GI.BR.Reportes.ParametrosReportes param = new GI.BR.Reportes.ParametrosReportes();
            param.Recuperar();
            if (param.Encabezado != null)
                row_encabezado.Encabezado = mngGeneral.ConvertBitmapToArray(param.Encabezado, System.Drawing.Imaging.ImageFormat.Jpeg);
            if (param.PiePagina != null)
                row_encabezado.PiePagina = mngGeneral.ConvertBitmapToArray(param.PiePagina, System.Drawing.Imaging.ImageFormat.Jpeg);
            ds.Encabezados.Rows.Add(row_encabezado);

            #endregion

            #region Propiedad - Generales

            DataSet.DSFichaPropiedadv2.PropiedadRow row_propiedad = ds.Propiedad.NewPropiedadRow();

            row_propiedad.Direccion = Propiedad.Direccion.ToStringReporte();
            row_propiedad.Codigo = Propiedad.Codigo;
            row_propiedad.Operacion = (Propiedad is GI.BR.Propiedades.Venta) ? "Venta" : "Alquiler";
            row_propiedad.Localizacion = Propiedad.Ubicacion.Barrio.ToString() + " - " + Propiedad.Ubicacion.Localidad.ToString() + " - " + Propiedad.Ubicacion.Provincia.ToString();
            row_propiedad.Ambientes = Propiedad.Ambiente.ToString();
            row_propiedad.TipoUnidad = Propiedad.TipoPropiedad.Descripcion;
            row_propiedad.Ubicacion = Propiedad.Orientacion.ToString();

            row_propiedad.Antiguedad = Propiedad.Antiguedad == 0 ? "A Estrenar" : Propiedad.Antiguedad.ToString() + " años";

            row_propiedad.Estado = Propiedad.EnumEstado.ToString();
            row_propiedad.Precio = Propiedad.ValorPublicacion.Moneda.ToString() + " " + Propiedad.ValorPublicacion.Importe.ToString("##,###,###.##");
            row_propiedad.Observaciones = Propiedad.Observaciones;

            GI.BR.Propiedades.Galeria.Foto fachada = null;
            if ((fachada = Propiedad.GaleriaFotos.GetFotoFachada) != null)
            {
                /* FALTA COLOCAR FOTO FACHADA */
                row_propiedad.Fachada = mngGeneral.ConvertBitmapToArray(fachada.Imagen, System.Drawing.Imaging.ImageFormat.Jpeg);
            }
            else
            {
                row_propiedad.Fachada = new byte[1];
            }

            ds.Propiedad.Rows.Add(row_propiedad);

            #endregion

            #region Propiedad - Superficies

            DataSet.DSFichaPropiedadv2.SuperficiesRow row_superficies = ds.Superficies.NewSuperficiesRow();
            index = 1;

            if (Propiedad.MedidasPropiedad.MetrosCubiertos > 0)
            {
                row_superficies["SupNombre" + index] = "Metros Cubiertos:";
                row_superficies["Sup" + index] = Propiedad.MedidasPropiedad.MetrosCubiertos.ToString();
                ++index;
            }
            if (Propiedad.MedidasPropiedad.MetrosSemicubiertos > 0)
            {
                row_superficies["SupNombre" + index] = "Metros Semicubiertos:";
                row_superficies["Sup" + index] = Propiedad.MedidasPropiedad.MetrosSemicubiertos.ToString();
                ++index;
            }
            if (Propiedad.MedidasPropiedad.MetrosLibres > 0)
            {
                row_superficies["SupNombre" + index] = "Metros Libres:";
                row_superficies["Sup" + index] = Propiedad.MedidasPropiedad.MetrosLibres.ToString();
            }

            ds.Superficies.Rows.Add(row_superficies);

            #endregion

            #region Datos Principales

            index = 1;
            DataSet.DSFichaPropiedadv2.CaracteristicasPrincipalesRow row_principales = ds.CaracteristicasPrincipales.NewCaracteristicasPrincipalesRow();

            if (Propiedad.Disposicion != GI.BR.Propiedades.DepartamentoDisposicion.SinDefinir)
            {
                row_principales["Campo" + index] = "Disposición:";
                row_principales["Valor" + index] = Propiedad.Disposicion.ToString();
                ++index;
            }

            row_principales["Campo" + index] = "Dormitorios:";
            row_principales["Valor" + index] = Propiedad.CantidadDormitorios.ToString();
            ++index;

            ds.CaracteristicasPrincipales.Rows.Add(row_principales);

            #endregion

            #region Region I

            index = 1;
            DataSet.DSFichaPropiedadv2.Region1Row row_region_1 = ds.Region1.NewRegion1Row();

            row_region_1.NombreRegion = "Edificio";

            row_region_1["Campo" + index] = "Cantidad de Pisos:";
            row_region_1["Valor" + index] = Propiedad.CantidadPisos.ToString();
            index++;

            row_region_1["Campo" + index] = "Departamentos por Piso:";
            row_region_1["Valor" + index] = Propiedad.DepartamentosPorPiso.ToString();
            index++;

            if (Propiedad.CantidadAscensores > 0)
            {
                row_region_1["Campo" + index] = "Ascensores:";
                row_region_1["Valor" + index] = Propiedad.CantidadAscensores.ToString();
                index++;
            }

            if (Propiedad.CantidadAscensoresServicio > 0)
            {
                row_region_1["Campo" + index] = "Ascensores de Servicio:";
                row_region_1["Valor" + index] = Propiedad.CantidadAscensoresServicio.ToString();
                index++;
            }

            if (Propiedad.ValorExpensas > 0)
            {
                row_region_1["Campo" + index] = "Expensas:";
                row_region_1["Valor" + index] = Propiedad.ValorExpensas.ToString();
                index++;
            }

            row_region_1["Campo" + index] = "Apto Profesional:";
            row_region_1["Valor" + index] = Propiedad.EsAptoProfesional ? "Si" : "No";
            index++;

            ds.Region1.Rows.Add(row_region_1);

            #endregion

            #region Region II

            DataSet.DSFichaPropiedadv2.Region2Row row_region_2 = ds.Region2.NewRegion2Row();

            row_region_2.NombreRegion = "Servicios";
            ds.Region2.Rows.Add(row_region_2);

            #endregion

            #region Region III

            DataSet.DSFichaPropiedadv2.Region3Row row_region_3 = ds.Region3.NewRegion3Row();

            row_region_3.NombreRegion = "Unidad";

            if (Propiedad.CantidadCocheras > 0)
            {
                row_region_3.Campo1 = "Cochera";
                row_region_3.Valor1 = "Si";
            }

            ds.Region3.Rows.Add(row_region_3);

            #endregion

            #region Region IV

            DataSet.DSFichaPropiedadv2.Region4Row row_region_4 = ds.Region4.NewRegion4Row();
            index = 1;

            foreach (GI.BR.Propiedades.MedidaAmbiente ambiente in Propiedad.Medidas)
            {
                if (index > 18) break;

                    row_region_4["Campo" + index] = ambiente.ToString() + ":";
                    row_region_4["Valor" + index] = ambiente.Ancho.ToString() + " x " + ambiente.Largo.ToString();
                    index++;

            }

            row_region_4.NombreRegion = "Detalles Ambientes";
            ds.Region4.Rows.Add(row_region_4);

            #endregion

            #region Region V

            DataSet.DSFichaPropiedadv2.Region5Row row_region_5 = ds.Region5.NewRegion5Row();
            index = 1;

            if (Propiedad.Jardin)
            {
                row_region_5["Campo" + index] = "Jardín: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Patio)
            {
                row_region_5["Campo" + index] = "Patio: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Piscina)
            {
                row_region_5["Campo" + index] = "Piscina: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Lavadero)
            {
                row_region_5["Campo" + index] = "Lavadero: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Dependencia)
            {
                row_region_5["Campo" + index] = "Dependencia: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Quincho)
            {
                row_region_5["Campo" + index] = "Quincho: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Parrilla)
            {
                row_region_5["Campo" + index] = "Parrilla: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Balcon)
            {
                row_region_5["Campo" + index] = "Balcón: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Terraza)
            {
                row_region_5["Campo" + index] = "Terraza: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Playroom)
            {
                row_region_5["Campo" + index] = "Playroom: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.Baulera)
            {
                row_region_5["Campo" + index] = "Baulera: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }
            if (Propiedad.CuartoHerraminetas)
            {
                row_region_5["Campo" + index] = "Cuarto de Herramientas: ";
                row_region_5["Valor" + index] = "Si";
                index++;
            }

            //foreach (GI.BR.Propiedades.MedidaAmbiente ambiente in Propiedad.Medidas)
            //{
            //    if (ambiente.TipoAmbiente.Codigo == 10001)
            //    {
            //        row_region_5["Campo" + index] = ambiente.ToString() + ":";
            //        row_region_5["Valor" + index] = ambiente.Ancho.ToString() + " x " + ambiente.Largo.ToString();
            //        index++;
            //        break;
            //    }
            //}

            //foreach (GI.BR.Propiedades.MedidaAmbiente ambiente in Propiedad.Medidas)
            //{
            //    if (ambiente.TipoAmbiente.Codigo == 10014)
            //    {
            //        row_region_5["Campo" + index] = ambiente.ToString() + ":";
            //        row_region_5["Valor" + index] = ambiente.Ancho.ToString() + " x " + ambiente.Largo.ToString();
            //        index++;
            //        break;
            //    }
            //}

            //foreach (GI.BR.Propiedades.MedidaAmbiente ambiente in Propiedad.Medidas)
            //{
            //    if (ambiente.TipoAmbiente.Codigo == 10015)
            //    {
            //        row_region_5["Campo" + index] = ambiente.ToString() + ":";
            //        row_region_5["Valor" + index] = ambiente.Ancho.ToString() + " x " + ambiente.Largo.ToString();
            //        index++;
            //        break;
            //    }
            //}

            //foreach (GI.BR.Propiedades.MedidaAmbiente ambiente in Propiedad.Medidas)
            //{
            //    if (ambiente.TipoAmbiente.Codigo == 10012)
            //    {
            //        row_region_5["Campo" + index] = ambiente.ToString() + ":";
            //        row_region_5["Valor" + index] = "Si";
            //        index++;
            //        break;
            //    }
            //}

            //foreach (GI.BR.Propiedades.MedidaAmbiente ambiente in Propiedad.Medidas)
            //{
            //    if (ambiente.TipoAmbiente.Codigo == 10013)
            //    {
            //        row_region_5["Campo" + index] = ambiente.ToString() + ":";
            //        row_region_5["Valor" + index] = "Si";
            //        index++;
            //        break;
            //    }
            //}

            //foreach (GI.BR.Propiedades.MedidaAmbiente ambiente in Propiedad.Medidas)
            //{
            //    if (ambiente.TipoAmbiente.Codigo == 10007)
            //    {
            //        row_region_5["Campo" + index] = ambiente.ToString() + ":";
            //        row_region_5["Valor" + index] = ambiente.Ancho.ToString() + " x " + ambiente.Largo.ToString();
            //        index++;
            //        break;
            //    }
            //}

            //foreach (GI.BR.Propiedades.MedidaAmbiente ambiente in Propiedad.Medidas)
            //{
            //    if (ambiente.TipoAmbiente.Codigo == 10008)
            //    {
            //        row_region_5["Campo" + index] = ambiente.ToString() + ":";
            //        row_region_5["Valor" + index] = ambiente.Ancho.ToString() + " x " + ambiente.Largo.ToString();
            //        index++;
            //        break;
            //    }
            //}

            row_region_5.NombreRegion = "Área de Servicios";
            ds.Region5.Rows.Add(row_region_5);

            #endregion

            return ds;
        }
        private void Inicializar()
        {
            textBoxDireccionWeb.Text = Inmobiliaria.Url;
            textBoxFax.Text = Inmobiliaria.Fax;
            textBoxNombreInmobiliaria.Text = Inmobiliaria.Nombre;
            textBoxTelefono.Text = Inmobiliaria.Telefono;
            ctrlDireccion1.Direccion = Inmobiliaria.Direccion;

            textBoxMail.Text = smtp.Email;
            textBoxNombre.Text = smtp.Nombre;
            textBoxPassword.Text = smtp.Password;
            textBoxPort.Text = smtp.Puerto.ToString();
            textBoxSmtpHost.Text = smtp.Host;
            textBoxUsuario.Text = smtp.UserName;

            checkBoxAutenticacion.Checked = smtp.AutenticacionSmtp;
            checkBoxSSL.Checked = smtp.Ssl;

            BR.Reportes.ParametrosReportes reps = new GI.BR.Reportes.ParametrosReportes();
            reps.Recuperar();
            pictureBox1.Image = reps.Encabezado;
            pictureBox2.Image = reps.PiePagina;
        }
        protected override System.Data.DataSet GetDatosReporte()
        {
            DataSet.DSFichaAdmAlquiler ds = new GI.Reportes.DataSet.DSFichaAdmAlquiler();
            Managers.ManagerGeneral mngGeneral = new GI.Reportes.Managers.ManagerGeneral();

            #region Imagenes Encabezado y pie

            DataSet.DSFichaAdmAlquiler.EncabezadosRow row_encabezado = ds.Encabezados.NewEncabezadosRow();
            GI.BR.Reportes.ParametrosReportes param = new GI.BR.Reportes.ParametrosReportes();
            param.Recuperar();
            if (param.Encabezado != null)
                row_encabezado.Encabezado = mngGeneral.ConvertBitmapToArray(param.Encabezado, System.Drawing.Imaging.ImageFormat.Jpeg);
            if (param.PiePagina != null)
                row_encabezado.PiePagina = mngGeneral.ConvertBitmapToArray(param.PiePagina, System.Drawing.Imaging.ImageFormat.Jpeg);
            ds.Encabezados.Rows.Add(row_encabezado);

            #endregion

            #region Encabezado
            DataSet.DSFichaAdmAlquiler.EncabezadoRow rowEncabezado = ds.Encabezado.NewEncabezadoRow();

            rowEncabezado.Titulo = titulo;
            rowEncabezado.CodigoPropiedad = admAlquiler.Alquiler.Codigo;

            if (admAlquiler.Contacto == null)
                rowEncabezado.Contacto = "Sin Definir";
            else
                rowEncabezado.Contacto = admAlquiler.Contacto.ToString();

            rowEncabezado.Direccion = admAlquiler.Alquiler.Direccion.ToString();

            if(admAlquiler.Alquiler.Propietario == null)
                rowEncabezado.Propietario = "Sin Definir";
            else
                rowEncabezado.Propietario = admAlquiler.Alquiler.Propietario.ToString();

            ds.Encabezado.AddEncabezadoRow(rowEncabezado);
            #endregion

            #region Contrato Vigente
            DataSet.DSFichaAdmAlquiler.ContratoVigenteRow rowContrato = ds.ContratoVigente.NewContratoVigenteRow();
            rowContrato.Deposito = admAlquiler.ContratoVigente.Deposito.ToString();
            rowContrato.DiaCobro = admAlquiler.ContratoVigente.DiaCobro.ToString();
            rowContrato.FechaInicio = admAlquiler.ContratoVigente.FechaInicio;

            if (admAlquiler.ContratoVigente.Inquilino != null)
                rowContrato.Inquilino = admAlquiler.ContratoVigente.Inquilino.ToString();
            else
                rowContrato.Inquilino = "Sin Definir";

            rowContrato.FechaVencimiento = admAlquiler.ContratoVigente.FechaVencimiento;

            if (admAlquiler.ContratoVigente.Observaciones == "")
                rowContrato.Observaciones = "- Sin Observaciones -";
            else
                rowContrato.Observaciones = admAlquiler.ContratoVigente.Observaciones;
            ds.ContratoVigente.AddContratoVigenteRow(rowContrato);
            #endregion

            #region Valores Renta
            DataSet.DSFichaAdmAlquiler.ValoresRentaRow rowValorRenta;
            foreach (GI.BR.AdmAlquileres.ValorRenta vr in admAlquiler.ContratoVigente.ValoresRenta)
            {
                rowValorRenta = ds.ValoresRenta.NewValoresRentaRow();
                rowValorRenta.Desde = (System.Globalization.DateTimeFormatInfo.CurrentInfo.GetMonthName(vr.MesVigenciaDesde)).ToUpper() + " - " + vr.AnioVigenciaDesde.ToString();
                rowValorRenta.Hasta = (System.Globalization.DateTimeFormatInfo.CurrentInfo.GetMonthName(vr.MesVigenciaHasta)).ToUpper() + " - " + vr.AnioVigenciaHasta.ToString();
                rowValorRenta.Monto = vr.Monto.ToString();

                ds.ValoresRenta.AddValoresRentaRow(rowValorRenta);

            }
            #endregion

            #region Pagos
            DataSet.DSFichaAdmAlquiler.PagosRow rowPago;

            GI.BR.AdmAlquileres.Pagos pagos = new GI.BR.AdmAlquileres.Pagos();
            pagos.RecuperarPorContrato(admAlquiler.ContratoVigente);
            foreach (GI.BR.AdmAlquileres.Pago p in pagos)
            {
                rowPago = ds.Pagos.NewPagosRow();
                rowPago.FechaPago = p.FechaPago;
                rowPago.Monto = p.Importe.ToString();
                rowPago.RentaCancelada = (System.Globalization.DateTimeFormatInfo.CurrentInfo.GetMonthName(p.MesCancelado)).ToUpper() + " - " + p.AnioPagado.ToString();

                ds.Pagos.AddPagosRow(rowPago);
            }
            #endregion

            return ds;
        }