protected void BtnEnviar_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                YouCom.DTO.Avisos.ComentarioAvisoDTO theComentarioAvisoDTO = new YouCom.DTO.Avisos.ComentarioAvisoDTO();

                YouCom.DTO.Avisos.AvisoDTO myAvisosDTO = new YouCom.DTO.Avisos.AvisoDTO();
                myAvisosDTO.IdAviso = decimal.Parse(this.HdnIdAviso.Value);
                theComentarioAvisoDTO.TheAvisosDTO = myAvisosDTO;

                theComentarioAvisoDTO.ComentarioAviso      = this.TxtComentarios.Text.ToUpper();
                theComentarioAvisoDTO.EmailComentarioAviso = this.TxtEmail.Text.ToUpper();
                theComentarioAvisoDTO.FechaComentarioAviso = DateTime.Now;

                theComentarioAvisoDTO.IdPadre = 0;

                YouCom.DTO.Propietario.FamiliaDTO myFamiliaDTO = new YouCom.DTO.Propietario.FamiliaDTO();
                myFamiliaDTO = YouCom.bll.FamiliaBLL.detalleFamiliabyRut(myUsuario.Rut);

                theComentarioAvisoDTO.TheFamiliaDTO = myFamiliaDTO;

                theComentarioAvisoDTO.UsuarioIngreso   = myUsuario.Rut;
                theComentarioAvisoDTO.TheCondominioDTO = myUsuario.TheCondominioSeleccionDTO;
                theComentarioAvisoDTO.TheComunidadDTO  = myUsuario.TheComunidadSeleccionDTO;

                bool respuesta = YouCom.bll.Avisos.ComentarioAvisoBLL.Insert(theComentarioAvisoDTO);

                if (respuesta)
                {
                    cargarComentarioAvisos(decimal.Parse(HdnIdAviso.Value));

                    PnlComentar.Visible  = false;
                    pnlResultado.Visible = true;

                    litMensaje.Text = "<strong>Estimado Usuario,</strong> El comentario ha sido enviado correctamente.";
                }
                else
                {
                    PnlComentar.Visible  = false;
                    pnlResultado.Visible = true;

                    litMensaje.Text = "<strong>Estimado Usuario,</strong> Ha ocurrido un error al momento de enviar el comentario.";
                }
            }
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
    protected void getObtieneDetalleAviso(string idAviso)
    {
        try
        {
            YouCom.DTO.Avisos.AvisoDTO myAvisoDTO = new YouCom.DTO.Avisos.AvisoDTO();
            myAvisoDTO = YouCom.bll.Avisos.AvisoBLL.detalleAviso(decimal.Parse(idAviso));

            LitAvisoTitulo.Text  = myAvisoDTO.TituloAviso;
            LitAvisoDetalle.Text = myAvisoDTO.DescripcionAviso;
            LitPrecio.Text       = YouCom.Service.Generales.Formato.FormatoMontoPesoSinReplace(myAvisoDTO.PrecioAviso.ToString(), true);

            YouCom.DTO.Avisos.TipoAvisoDTO myTipoAvisoDTO = new YouCom.DTO.Avisos.TipoAvisoDTO();
            myTipoAvisoDTO = YouCom.bll.Avisos.TipoAvisoBLL.detalleTipoAviso(myAvisoDTO.TheTipoAvisoDTO.IdTipoAviso);

            LitTipo.Text             = myTipoAvisoDTO.NombreTipoAviso;
            LitFechaPublicacion.Text = myAvisoDTO.FechaPublicacion.ToString();
            LitFechaTermino.Text     = myAvisoDTO.FechaTermino.ToShortDateString();

            YouCom.DTO.Propietario.FamiliaDTO myFamiliaDTO = new YouCom.DTO.Propietario.FamiliaDTO();
            myFamiliaDTO = YouCom.bll.FamiliaBLL.detalleFamilia(myAvisoDTO.TheFamiliaDTO.IdFamilia);

            LitContacto.Text = myFamiliaDTO.NombreCompleto;

            cargarComentarioAvisos(decimal.Parse(idAviso));

            IList <YouCom.DTO.Avisos.ImagenAvisoDTO> myImagenAvisoDTO = new List <YouCom.DTO.Avisos.ImagenAvisoDTO>();
            myImagenAvisoDTO = YouCom.bll.Avisos.ImagenAvisoBLL.getListadoImagenAvisoByIdAviso(decimal.Parse(idAviso));

            if (myImagenAvisoDTO.Any())
            {
                rptIndicadorCarrusel.DataSource = myImagenAvisoDTO;
                rptIndicadorCarrusel.DataBind();

                rptGaleriaAvisos.DataSource = myImagenAvisoDTO;
                rptGaleriaAvisos.DataBind();
            }
            else
            {
                pnlCarrusel.Visible = false;
            }

            this.SelView(this.mvwCompras.ActiveViewIndex + 1);
        }
        catch (Exception ex)
        { }
    }
    protected void LnkBtnComprar_Click(object sender, EventArgs e)
    {
        try
        {
            YouCom.DTO.Avisos.AvisoDTO myAvisoDTO = new YouCom.DTO.Avisos.AvisoDTO();
            myAvisoDTO = YouCom.bll.Avisos.AvisoBLL.detalleAviso(decimal.Parse(this.HdnIdAviso.Value));

            YouCom.DTO.Avisos.AvisoEstadoDTO myAvisoEstadoDTO = new YouCom.DTO.Avisos.AvisoEstadoDTO();
            myAvisoEstadoDTO.IdAvisoEstado = 4;
            myAvisoDTO.TheAvisosEstadoDTO  = myAvisoEstadoDTO;
            myAvisoDTO.RutComprador        = myUsuario.Rut;

            myAvisoDTO.FechaCompra = DateTime.Now;

            bool respuesta = YouCom.bll.Avisos.AvisoBLL.Update(myAvisoDTO);

            if (respuesta)
            {
                if (!Page.ClientScript.IsClientScriptBlockRegistered("SET"))
                {
                    string script = "alert('Estimado Cliente,se ha confirmado la compra, el publicador del aviso se contactara con usted para cerrar la compra.');";
                    script += "parent.location = '" + YouCom.Service.Configuracion.Config.getPageName(true) + "';";
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "SET", script, true);
                }
            }
            else
            {
                if (!Page.ClientScript.IsClientScriptBlockRegistered("SET"))
                {
                    string script = "alert('A ocurrido un error. Favor envíe su solicitud al mail [email protected] intente más tarde.');";
                    script += "parent.location = '" + YouCom.Service.Configuracion.Config.getPageName(true) + "';";
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "SET", script, true);
                }
            }
        }
        catch (Exception ex)
        {
        }
    }
    protected void rptAviso_OnItemCommand(object sender, RepeaterCommandEventArgs e)
    {
        UserControl  wucCondominio = (UserControl)Page.Master.FindControl("ContentPlaceHolder1").FindControl("wucCondominioCasaFamilia1");
        DropDownList ddlCondominio = (DropDownList)wucCondominio.FindControl("ddlCondominio");
        DropDownList ddlComunidad  = (DropDownList)wucCondominio.FindControl("ddlComunidad");
        DropDownList ddlCasa       = (DropDownList)wucCondominio.FindControl("ddlCasa");
        DropDownList ddlFamilia    = (DropDownList)wucCondominio.FindControl("ddlFamilia");

        if (e.CommandName == "Editar")
        {
            HiddenField hdnIdAvisos = new HiddenField();
            hdnIdAvisos = (HiddenField)e.Item.FindControl("hdnIdAviso");

            YouCom.DTO.Avisos.AvisoDTO myAvisosDTO = new YouCom.DTO.Avisos.AvisoDTO();
            myAvisosDTO = YouCom.bll.Avisos.AvisoBLL.detalleAviso(decimal.Parse(hdnIdAvisos.Value));

            this.hdnIdAviso.Value         = myAvisosDTO.IdAviso.ToString();
            this.txtAvisoDescripcion.Text = myAvisosDTO.DescripcionAviso;
            this.txtAvisoPrecio.Text      = myAvisosDTO.PrecioAviso.ToString().Replace(".0000", "");
            this.txtAvisoTitulo.Text      = myAvisosDTO.TituloAviso;

            ddlCondominio.SelectedIndex = ddlCondominio.Items.IndexOf(ddlCondominio.Items.FindByValue(myAvisosDTO.TheCondominioDTO.IdCondominio.ToString()));

            ddlComunidad.DataSource     = YouCom.bll.ComunidadBLL.getListadoComunidadByCondominio(decimal.Parse(ddlCondominio.SelectedValue));
            ddlComunidad.DataTextField  = "NombreComunidad";
            ddlComunidad.DataValueField = "IdComunidad";
            ddlComunidad.DataBind();
            ddlComunidad.Items.Insert(0, new ListItem("Seleccione Comunidad", string.Empty));

            ddlComunidad.SelectedIndex = ddlComunidad.Items.IndexOf(ddlComunidad.Items.FindByValue(myAvisosDTO.TheComunidadDTO.IdComunidad.ToString()));

            YouCom.DTO.Propietario.FamiliaDTO myFamiliaDTO = new YouCom.DTO.Propietario.FamiliaDTO();

            myFamiliaDTO = YouCom.bll.FamiliaBLL.detalleFamilia(myAvisosDTO.TheFamiliaDTO.IdFamilia);

            ddlCasa.DataSource     = YouCom.bll.CasaBLL.getListadoCasaByComunidad(decimal.Parse(ddlComunidad.SelectedValue));
            ddlCasa.DataTextField  = "NombreCasa";
            ddlCasa.DataValueField = "IdCasa";
            ddlCasa.DataBind();
            ddlCasa.Items.Insert(0, new ListItem("Seleccione Casa", string.Empty));

            ddlCasa.SelectedIndex = ddlCasa.Items.IndexOf(ddlCasa.Items.FindByValue(myFamiliaDTO.TheCasaDTO.IdCasa.ToString()));

            ddlFamilia.DataSource     = YouCom.bll.FamiliaBLL.getListadoFamiliaByCasa(decimal.Parse(ddlCasa.SelectedValue));
            ddlFamilia.DataTextField  = "NombreCompleto";
            ddlFamilia.DataValueField = "IdFamilia";
            ddlFamilia.DataBind();
            ddlFamilia.Items.Insert(0, new ListItem("Seleccione Familia", string.Empty));

            ddlFamilia.SelectedIndex = ddlFamilia.Items.IndexOf(ddlFamilia.Items.FindByValue(myAvisosDTO.TheFamiliaDTO.IdFamilia.ToString()));

            ddlEstado.SelectedIndex = ddlEstado.Items.IndexOf(ddlEstado.Items.FindByValue(myAvisosDTO.TheAvisosEstadoDTO.IdAvisoEstado.ToString()));

            ddlCategoria.SelectedIndex = ddlCategoria.Items.IndexOf(ddlCategoria.Items.FindByValue(myAvisosDTO.TheCategoriaDTO.IdCategoria.ToString()));

            ddlTipoAviso.SelectedIndex = ddlTipoAviso.Items.IndexOf(ddlTipoAviso.Items.FindByValue(myAvisosDTO.TheTipoAvisoDTO.IdTipoAviso.ToString()));

            ddlCategoria.SelectedIndex = ddlCategoria.Items.IndexOf(ddlCategoria.Items.FindByValue(myAvisosDTO.TheCategoriaDTO.IdCategoria.ToString()));

            if (!string.IsNullOrEmpty(myAvisosDTO.ImagenAviso))
            {
                this.lnkImagen.Visible     = true;
                this.chkImagen.Visible     = true;
                this.lnkImagen.NavigateUrl = YouCom.Service.Generales.General.GetPropiedad("UploadsPathAvisosPub") + myAvisosDTO.ImagenAviso;
            }

            btnGrabar.Visible = false;
            btnEditar.Visible = true;
        }
        if (e.CommandName == "Eliminar")
        {
            HiddenField hdnIdAvisos = new HiddenField();
            hdnIdAvisos = (HiddenField)e.Item.FindControl("hdnIdAvisos");

            AvisoDTO theAvisosDTO = new AvisoDTO();
            theAvisosDTO.IdAviso             = decimal.Parse(hdnIdAvisos.Value);
            theAvisosDTO.UsuarioModificacion = myUsuario.Rut;

            bool validacionIntegridad = YouCom.bll.Avisos.AvisoBLL.ValidaEliminacionAvisos(theAvisosDTO);
            if (validacionIntegridad)
            {
                string script = "alert(' No es posible eliminar un Avisos con informacion asociada.');";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "SET", script, true);
                return;
            }
            else
            {
                bool respuesta = YouCom.bll.Avisos.AvisoBLL.Delete(theAvisosDTO);
                if (respuesta)
                {
                    cargarAviso();
                    if (!Page.ClientScript.IsClientScriptBlockRegistered("SET"))
                    {
                        string script = "alert('Avisos Eliminada correctamente.');";
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "SET", script, true);
                    }
                }
                else
                {
                }
            }
        }
    }
    //protected void cargarDatosPropietario()
    //{
    //    YouCom.DTO.Propietario.FamiliaDTO myFamiliaDTO = new YouCom.DTO.Propietario.FamiliaDTO();

    //    myFamiliaDTO = YouCom.bll.FamiliaBLL.detalleFamiliabyRut(myUsuario.Rut);

    //    this.TxtNombre.Text = myFamiliaDTO.NombreFamilia;
    //    this.TxtPaterno.Text = myFamiliaDTO.ApellidoPaternoFamilia;
    //    this.TxtMaterno.Text = myFamiliaDTO.ApellidoMaternoFamilia;
    //}

    protected bool setEnviaAviso()
    {
        bool retorno = false;
        bool salida  = false;

        AvisoDTO theAvisosDTO = new AvisoDTO();

        theAvisosDTO.TituloAviso      = this.TxtTitulo.Text.ToUpper();
        theAvisosDTO.DescripcionAviso = this.TxtDescripcion.Text.ToUpper();
        theAvisosDTO.PrecioAviso      = decimal.Parse(this.TxtPrecio.Text);

        theAvisosDTO.TheCondominioDTO = myUsuario.TheCondominioSeleccionDTO;

        theAvisosDTO.TheComunidadDTO = myUsuario.TheComunidadSeleccionDTO;

        YouCom.DTO.CategoriaDTO myCategoriaDTO = new YouCom.DTO.CategoriaDTO();
        myCategoriaDTO.IdCategoria   = decimal.Parse(ddlCategoria.SelectedValue);
        theAvisosDTO.TheCategoriaDTO = myCategoriaDTO;

        YouCom.DTO.Avisos.TipoAvisoDTO myTipoAvisoDTO = new YouCom.DTO.Avisos.TipoAvisoDTO();
        myTipoAvisoDTO.IdTipoAviso   = decimal.Parse(ddlTipoAviso.SelectedValue);
        theAvisosDTO.TheTipoAvisoDTO = myTipoAvisoDTO;

        YouCom.DTO.Propietario.FamiliaDTO myFamiliaDTO = new YouCom.DTO.Propietario.FamiliaDTO();

        myFamiliaDTO = YouCom.bll.FamiliaBLL.detalleFamiliabyRut(myUsuario.Rut);
        theAvisosDTO.TheFamiliaDTO = myFamiliaDTO;

        YouCom.DTO.MonedaDTO myMonedaDTO = new YouCom.DTO.MonedaDTO();
        myMonedaDTO.IdMoneda      = 1;
        theAvisosDTO.TheMonedaDTO = myMonedaDTO;

        YouCom.DTO.Avisos.AvisoEstadoDTO myAvisosEstadoDTO = new YouCom.DTO.Avisos.AvisoEstadoDTO();
        myAvisosEstadoDTO.IdAvisoEstado = 1;
        theAvisosDTO.TheAvisosEstadoDTO = myAvisosEstadoDTO;

        theAvisosDTO.FechaPublicacion = DateTime.Now;
        theAvisosDTO.FechaTermino     = DateTime.Now.AddMonths(1);

        theAvisosDTO.UsuarioIngreso = myUsuario.Rut;

        if (this.FileImagenAviso.HasFile)
        {
            theAvisosDTO.ImagenAviso = this.ProcessOtherFile(FileImagenPrincipalAviso, null, YouCom.Service.Generales.General.GetPropiedad("UploadsPathAvisosPub"));
        }

        retorno = YouCom.bll.Avisos.AvisoBLL.Insert(theAvisosDTO);

        if (retorno)
        {
            string ruta          = YouCom.Service.Generales.General.GetPropiedad("UploadsPathAvisosPub");
            string valor_retorno = string.Empty;
            foreach (var file in FileImagenAviso.PostedFiles)
            {
                if (!string.IsNullOrEmpty(file.FileName))
                {
                    YouCom.DTO.Avisos.ImagenAvisoDTO myImagenAvisoDTO = new YouCom.DTO.Avisos.ImagenAvisoDTO();

                    Random myRandom = new Random();
                    string xName    = myRandom.Next(1, 1000000).ToString();

                    if (Intermedia.IMSystem.IMFile.IMFile.GetNameFile(file.FileName).Length > 16)
                    {
                        valor_retorno = xName + "_" + Intermedia.IMSystem.IMFile.IMFile.GetNameFile(file.FileName).Substring(0, 16) + Intermedia.IMSystem.IMFile.IMFile.GetExtensionFile(file.FileName);
                    }
                    else
                    {
                        valor_retorno = xName + "_" + Intermedia.IMSystem.IMFile.IMFile.GetNameFile(file.FileName).Substring(0, Intermedia.IMSystem.IMFile.IMFile.GetNameFile(file.FileName).Length) + Intermedia.IMSystem.IMFile.IMFile.GetExtensionFile(file.FileName);
                    }

                    myImagenAvisoDTO.ThumbailImagenAviso = valor_retorno;
                    myImagenAvisoDTO.GrandeImagenAviso   = valor_retorno;
                    myImagenAvisoDTO.TituloImagenAviso   = this.TxtTitulo.Text;

                    YouCom.DTO.Avisos.AvisoDTO myAvisoDTO = new YouCom.DTO.Avisos.AvisoDTO();
                    myAvisoDTO.IdAviso            = YouCom.bll.Avisos.AvisoBLL.getObtenerUltimoAviso().IdAviso;
                    myImagenAvisoDTO.TheAvisosDTO = myAvisoDTO;

                    YouCom.bll.Avisos.ImagenAvisoBLL.Insert(myImagenAvisoDTO);

                    file.SaveAs(Server.MapPath(ruta + valor_retorno));
                }
            }

            salida = true;
        }

        return(salida);
    }