public ActionResult Editar(int Anuncio_ID)
        {
            try { this.AnunciosProxy = new ADESCOMBUSINESS.Areas.Anuncios.Methods.AnunciosBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); }
            catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); }
            ADESCOMBUSINESS.Areas.Anuncios.Models.ANU_Anuncios Anuncio = new ADESCOMBUSINESS.Areas.Anuncios.Models.ANU_Anuncios();
            Anuncio = AnunciosProxy.GetByID(Anuncio_ID);

            List <ADESCOMBUSINESS.Areas.Anuncios.Models.VwANU_Imagenes> ListaImagenes = new List <ADESCOMBUSINESS.Areas.Anuncios.Models.VwANU_Imagenes>();

            ListaImagenes = ADESCOMBUSINESS.Areas.Anuncios.Methods.ImagenesBusiness.GetByAnuncio_ID((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Anuncio.Anuncio_ID);

            ADESCOMBUSINESS.Areas.Anuncios.Models.AnuncioCompuesto AnuncioCompuesto = new ADESCOMBUSINESS.Areas.Anuncios.Models.AnuncioCompuesto();
            AnuncioCompuesto.Anuncio  = Anuncio;
            AnuncioCompuesto.Imagenes = ListaImagenes;

            //ViewBags
            ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness ResidentesProxy = new ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            ADESCOMBUSINESS.Areas.Residentes.Models.RES_Residentes      Residente       = new ADESCOMBUSINESS.Areas.Residentes.Models.RES_Residentes();
            Residente = ResidentesProxy.GetByID(Anuncio.Residente_ID);

            ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness DireccionProxy = new ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            ADESCOMBUSINESS.Areas.Configuracion.Models.TVI_Direcciones          Direccion      = new ADESCOMBUSINESS.Areas.Configuracion.Models.TVI_Direcciones();
            ViewBag.Direccion = DireccionProxy.GetByID(Residente.Direccion_ID).DIR_Descripcion;

            ViewBag.TipoTrans = new SelectList(GetTipos(), "Option", "Description", Anuncio.ANU_Tipo);
            ViewBag.Categoria = new SelectList(GetCategorias(), "Option", "Description", Anuncio.ANU_Categoria);

            return(View(AnuncioCompuesto));
        }
        public ActionResult Editar(ADESCOMBUSINESS.Areas.Anuncios.Models.AnuncioCompuesto Registro)
        {
            ADESCOMBUSINESS.DataAccess.Models.CompanyInfo CompanyInfo = (ADESCOMBUSINESS.DataAccess.Models.CompanyInfo)Session["CompanyInfo"];

            try { this.AnunciosProxy = new ADESCOMBUSINESS.Areas.Anuncios.Methods.AnunciosBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); }
            catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); }

            //Autorizar Anuncio
            try
            {
                AnunciosProxy.AutorizarAnuncio(Registro.Anuncio, CompanyInfo);
                ViewBag.Error = "OK";
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
            }

            //ViewBags
            ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness ResidentesProxy = new ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            ADESCOMBUSINESS.Areas.Residentes.Models.RES_Residentes      Residente       = new ADESCOMBUSINESS.Areas.Residentes.Models.RES_Residentes();
            Residente = ResidentesProxy.GetByID(Registro.Anuncio.Residente_ID);

            ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness DireccionProxy = new ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            ADESCOMBUSINESS.Areas.Configuracion.Models.TVI_Direcciones          Direccion      = new ADESCOMBUSINESS.Areas.Configuracion.Models.TVI_Direcciones();
            ViewBag.Direccion = DireccionProxy.GetByID(Residente.Direccion_ID).DIR_Descripcion;

            ViewBag.TipoTrans = new SelectList(GetTipos(), "Option", "Description", Registro.Anuncio.ANU_Tipo);
            ViewBag.Categoria = new SelectList(GetCategorias(), "Option", "Description", Registro.Anuncio.ANU_Categoria);

            return(View(Registro));
        }
        //[OutputCache(NoStore = false, Duration = 3600, VaryByParam = "none")]
        public ActionResult Index()
        {
            var sesion = Session["InfoUser"];

            if (sesion == null)
            {
                return(RedirectToAction("Login", "Login"));
            }

            ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness DireccionesProxy = new ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            int CantResidencias = DireccionesProxy.GetCantActivas();

            ViewBag.Residencias = CantResidencias;

            ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness ResidentesProxy = new ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            int CantResidentes = ResidentesProxy.GetCantActivos();

            ViewBag.Residentes = CantResidentes;

            ADESCOMBUSINESS.GlobalBusiness GlobalProxy = new ADESCOMBUSINESS.GlobalBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            int _Recaudado = GlobalProxy.GetRecaudado();

            ViewBag.Recaudado = _Recaudado;

            GlobalProxy = new ADESCOMBUSINESS.GlobalBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            decimal Saldo = GlobalProxy.GetSaldoCuentas();

            ViewBag.SaldoCuentas = Saldo.ToString("C");

            return(View());
        }
        public ActionResult GetResidentes(int Llave1_ID, int Llave2_ID, int Llave3_ID)
        {
            try { this.ResidentesProxy = new ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); }
            catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); }
            ADESCOMBUSINESS.Areas.Configuracion.Models.VwTVI_Direcciones dir = new ADESCOMBUSINESS.Areas.Configuracion.Models.VwTVI_Direcciones();

            ADESCOMBUSINESS.DataAccess.Models.CompanyInfo CompanyInfo = (ADESCOMBUSINESS.DataAccess.Models.CompanyInfo)Session["CompanyInfo"];
            int cantLlaves = CompanyInfo.CantLlaves;

            if (cantLlaves == 1)
            {
                dir = ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness.GetByLlaves1((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Llave1_ID);
            }

            if (cantLlaves == 2)
            {
                dir = ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness.GetByLlaves2((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Llave1_ID, Llave2_ID);
            }

            if (cantLlaves == 3)
            {
                dir = ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness.GetByLlaves3((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Llave1_ID, Llave2_ID, Llave3_ID);
            }

            List <ADESCOMBUSINESS.Areas.Residentes.Models.VwRES_Residentes> ListaResidentes = new List <ADESCOMBUSINESS.Areas.Residentes.Models.VwRES_Residentes>();

            ListaResidentes = ResidentesProxy.GetByDireccion_ID(dir.Direccion_ID);

            ViewBag.Direccion = dir.DIR_Descripcion;
            return(View(ListaResidentes));
        }
        public ActionResult Editar(int Residente_ID)
        {
            try { this.ResidentesProxy = new ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); } catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); }
            OBJRES_Residentes = ResidentesProxy.GetByID(Residente_ID);

            if (OBJRES_Residentes == null)
            {
                return(HttpNotFound());
            }

            ADESCOMBUSINESS.Areas.Configuracion.Models.TVI_Direcciones          Direccion        = new ADESCOMBUSINESS.Areas.Configuracion.Models.TVI_Direcciones();
            ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness DireccionesProxy = new ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            Direccion = DireccionesProxy.GetByID(OBJRES_Residentes.Direccion_ID);

            ADESCOMBUSINESS.DataAccess.Models.CompanyInfo CompanyInfo = (ADESCOMBUSINESS.DataAccess.Models.CompanyInfo)Session["CompanyInfo"];

            int cantLlaves = CompanyInfo.CantLlaves;

            ViewBag.DescLlave1 = CompanyInfo.LabelLlave1;
            ViewBag.DescLlave2 = CompanyInfo.LabelLlave2;
            ViewBag.DescLlave3 = CompanyInfo.LabelLlave3;

            switch (cantLlaves)
            {
            case 1:
                ViewBag.Llave1_ID = new SelectList(GetLlave1(0, "Elija una opción"), "Llave1_ID", "LL1_Descripcion", Direccion.Llave1_ID);
                return(View("Editar1", OBJRES_Residentes));

            case 2:
                ViewBag.Llave1_ID = new SelectList(GetLlave1(0, "Elija una opción"), "Llave1_ID", "LL1_Descripcion", Direccion.Llave1_ID);
                ViewBag.Llave2_ID = new SelectList(GetLlave2(Direccion.Llave1_ID, "Elija una opción"), "Llave2_ID", "LL2_Descripcion", Direccion.Llave2_ID);
                return(View("Editar2", OBJRES_Residentes));

            case 3:
                ViewBag.Llave1_ID = new SelectList(GetLlave1(0, "Elija una opción"), "Llave1_ID", "LL1_Descripcion", Direccion.Llave1_ID);
                ViewBag.Llave2_ID = new SelectList(GetLlave2(Direccion.Llave1_ID, "Elija una opción"), "Llave2_ID", "LL2_Descripcion", Direccion.Llave2_ID);
                ViewBag.Llave3_ID = new SelectList(GetLlave3(Direccion.Llave1_ID, Direccion.Llave2_ID, "Elija una opción"), "Llave3_ID", "LL3_Descripcion", Direccion.Llave3_ID);
                return(View("Editar3", OBJRES_Residentes));
            }

            return(null);
        }
        public ActionResult RefreshDataSearchList(FormCollection Form)
        {
            int    searchLL1   = Convert.ToInt32(Form["Llave1_IDFilter"]);
            int    searchLL2   = Convert.ToInt32(Form["Llave2_IDFilter"]);
            int    searchLL3   = Convert.ToInt32(Form["Llave3_IDFilter"]);
            String searchName  = Form["FindName"];
            String searchEmail = Form["FindEmail"];
            int    Estatus     = Convert.ToInt32(Form["FindEstatus"]);

            try { this.ResidentesProxy = new ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); }
            catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); }
            List <ADESCOMBUSINESS.Areas.Residentes.Models.VwRES_Residentes> Lista = new List <ADESCOMBUSINESS.Areas.Residentes.Models.VwRES_Residentes>();

            Lista = ResidentesProxy.GetByFilters(searchLL1, searchLL2, searchLL3, searchName, searchEmail, Estatus);

            ADESCOMBUSINESS.DataAccess.Models.CompanyInfo CompanyInfo = (ADESCOMBUSINESS.DataAccess.Models.CompanyInfo)Session["CompanyInfo"];
            int cantLlaves = CompanyInfo.CantLlaves;

            ViewBag.DescLlave1 = CompanyInfo.LabelLlave1;
            ViewBag.DescLlave2 = CompanyInfo.LabelLlave2;
            ViewBag.DescLlave3 = CompanyInfo.LabelLlave3;

            switch (cantLlaves)
            {
            case 1:
                return(View("RefreshData1", Lista));

            case 2:
                return(View("RefreshData2", Lista));

            case 3:
                return(View("RefreshData3", Lista));
            }

            return(null);
        }
        public ActionResult Crear(FormCollection Form)
        {
            int Llave1 = 0;
            int Llave2 = 0;
            int Llave3 = 0;

            ADESCOMBUSINESS.Areas.Configuracion.Models.VwTVI_Direcciones Direccion = new ADESCOMBUSINESS.Areas.Configuracion.Models.VwTVI_Direcciones();
            ADESCOMBUSINESS.Areas.Residentes.Models.RES_Residentes       Registro  = new ADESCOMBUSINESS.Areas.Residentes.Models.RES_Residentes();
            ADESCOMBUSINESS.DataAccess.Models.CompanyInfo CompanyInfo = (ADESCOMBUSINESS.DataAccess.Models.CompanyInfo)Session["CompanyInfo"];
            int cantLlaves = CompanyInfo.CantLlaves;

            try { this.ResidentesProxy = new ADESCOMBUSINESS.Areas.Residentes.Methods.ResidentesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); } catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); }

            if (string.IsNullOrEmpty(Form["Llave1_ID"]) || Form["Llave1_ID"] == "0")
            {
                ModelState.AddModelError("Llave1_ID", "Campo Requerido");
                ViewBag.Error = "No ingresó " + CompanyInfo.LabelLlave1;
            }
            else
            {
                Llave1 = Convert.ToInt32(Form["Llave1_ID"]);
            }


            if (cantLlaves > 1)
            {
                if (string.IsNullOrEmpty(Form["Llave2_ID"]) || Form["Llave2_ID"] == "0")
                {
                    ModelState.AddModelError("Llave2_ID", "Campo Requerido");
                    ViewBag.Error = "No ingresó " + CompanyInfo.LabelLlave2;
                }
                else
                {
                    Llave2 = Convert.ToInt32(Form["Llave2_ID"]);
                }
            }

            if (cantLlaves > 2)
            {
                if (string.IsNullOrEmpty(Form["Llave3_ID"]) || Form["Llave3_ID"] == "0")
                {
                    ModelState.AddModelError("Llave3_ID", "Campo Requerido");
                    ViewBag.Error = "No ingresó " + CompanyInfo.LabelLlave3;
                }
                else
                {
                    Llave3 = Convert.ToInt32(Form["Llave3_ID"]);
                }
            }

            if (cantLlaves == 1)
            {
                Direccion = ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness.GetByLlaves1((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Llave1);
            }
            if (cantLlaves == 2)
            {
                Direccion = ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness.GetByLlaves2((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Llave1, Llave2);
            }
            if (cantLlaves == 3)
            {
                Direccion = ADESCOMBUSINESS.Areas.Configuracion.Methods.TVI_DireccionesBusiness.GetByLlaves3((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Llave1, Llave2, Llave3);
            }
            if (Direccion == null)
            {
                //Agregar un error pero no a un campo en especifico
                ModelState.AddModelError("Llave1_ID", "Campo Requerido");
                ViewBag.Error = "No existe la dirección o está desactivada";
            }
            else
            {
                Registro.Direccion_ID = Direccion.Direccion_ID;
            }

            String activo = Form["BS_Activo"];

            Registro.BS_Activo    = activo.Contains("true") ? true : false;
            Registro.RES_Telefono = Form["RES_Telefono"].ToString(); //Opcional, si viene en blanco, se guarda en blanco
            Registro.RES_Movil    = Form["RES_Movil"].ToString();    //Opcional, si viene en blanco, se guarda en blanco

            if (string.IsNullOrEmpty(Form["RES_RelDuenio"]))
            {
                ModelState.AddModelError("RES_RelDuenio", "Campo Requerido");
            }
            else
            {
                Registro.RES_RelDuenio = Form["RES_RelDuenio"];
            }

            if (string.IsNullOrEmpty(Form["RES_Email"]))
            {
                ModelState.AddModelError("RES_Email", "Campo Requerido");
            }
            else
            {
                Registro.RES_Email = Form["RES_Email"];
            }

            if (string.IsNullOrEmpty(Form["RES_Nombre"]))
            {
                ModelState.AddModelError("RES_Nombre", "Campo Requerido");
            }
            else
            {
                Registro.RES_Nombre = Form["RES_Nombre"];
            }

            if (string.IsNullOrEmpty(Form["RES_Nombre"]))
            {
                ModelState.AddModelError("RES_Nombre", "Campo Requerido");
            }
            else
            {
                Registro.RES_Nombre = Form["RES_Nombre"];
            }

            if (string.IsNullOrEmpty(Form["RES_Password"]))
            {
                ModelState.AddModelError("RES_Password", "Campo Requerido");
            }
            else
            {
                Registro.RES_Password = Form["RES_Password"];
            }

            if (ModelState.IsValid)
            {
                try
                {
                    ResidentesProxy.Crear(Registro);
                    ViewBag.Error = "OK";
                }
                catch (Exception ex)
                {
                    ViewBag.Error = ex.Message;
                }
            }

            ViewBag.DescLlave1 = CompanyInfo.LabelLlave1;
            ViewBag.DescLlave2 = CompanyInfo.LabelLlave2;
            ViewBag.DescLlave3 = CompanyInfo.LabelLlave3;

            switch (cantLlaves)
            {
            case 1:
                ViewBag.Llave1_ID = new SelectList(GetLlave1(0, "Elija una opción"), "Llave1_ID", "LL1_Descripcion", Llave1);
                return(View("Crear1", Registro));

            case 2:
                ViewBag.Llave1_ID = new SelectList(GetLlave1(0, "Elija una opción"), "Llave1_ID", "LL1_Descripcion", Llave1);
                ViewBag.Llave2_ID = new SelectList(GetLlave2(Llave2, "Elija una opción"), "Llave2_ID", "LL2_Descripcion", Llave2);
                return(View("Crear2", Registro));

            case 3:
                ViewBag.Llave1_ID = new SelectList(GetLlave1(0, "Elija una opción"), "Llave1_ID", "LL1_Descripcion", Llave1);
                ViewBag.Llave2_ID = new SelectList(GetLlave2(Llave1, "Elija una opción"), "Llave2_ID", "LL2_Descripcion", Llave2);
                ViewBag.Llave3_ID = new SelectList(GetLlave3(Llave1, Llave2, "Elija una opción"), "Llave3_ID", "LL3_Descripcion", Direccion.Llave3_ID);
                return(View("Crear3", Registro));
            }

            return(null);
        }