Esempio n. 1
0
        public ActionResult EditContacto(ContactoViewModel model)
        {
            ViewBag.Title      = Resources.ContratosResource.EditPageTitle;
            ViewBag.PageHeader = Resources.ContratosResource.EditHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Contacto dataContacto = db.Contrato_Contacto.Where(x => x.IdContrato == model.IdContrato && x.IdPersonaContacto == model.IdContacto).FirstOrDefault();
                    dataContacto.IdCargoJunta  = model.IdCargoJunta;
                    dataContacto.Nombre        = model.Nombre;
                    dataContacto.TelefonoFijo  = model.TelefonoFijo.ToString();
                    dataContacto.TelefonoMovil = model.TelefonoMovil.ToString();

                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                return(RedirectToAction("Contactos", "Contrato", new { IdPais = model.IdPais, IdContrato = model.IdContrato }));
            }

            return(View(model));
        }
Esempio n. 2
0
        public ActionResult CreateContacto(ContactoViewModel model)
        {
            ViewBag.Title      = Resources.ContratosResource.CreatePageTitle;
            ViewBag.PageHeader = Resources.ContratosResource.CreateHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Contacto dataContacto = new Contrato_Contacto
                    {
                        IdContrato        = model.IdContrato,
                        IdCargoJunta      = model.IdCargoJunta,
                        IdPersonaContacto = Guid.NewGuid(),
                        Nombre            = model.Nombre,
                        TelefonoFijo      = model.TelefonoFijo.ToString(),
                        TelefonoMovil     = model.TelefonoMovil.ToString()
                    };

                    db.Contrato_Contacto.Add(dataContacto);
                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                return(RedirectToAction("Contactos", "Contrato", new { IdPais = model.IdPais, IdContrato = model.IdContrato }));
            }

            return(View(model));
        }
Esempio n. 3
0
        public ActionResult DeleteModulo(long id)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            string Nombre = string.Empty;

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Modulo modulo = db.Modulo.Where(x => x.IdModulo == id).FirstOrDefault();
                Nombre = modulo.Nombre;
                db.Modulo_TipoUsuario.RemoveRange(modulo.Modulo_TipoUsuario);
                db.Modulo.Remove(modulo);
                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                                                "Módulo " + Nombre,
                                                105000003,
                                                "Eliminar");
            }

            return(RedirectToAction("Modulos"));
        }
        public ActionResult Firmware(int?IdTipoDispositivo)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Menu       = ClasesVarias.GetMenuUsuario();
            ViewBag.Title      = Resources.FirmResource.PageTitle;
            ViewBag.PageHeader = Resources.FirmResource.HeaderPage;
            FirmwaresViewModel model = new FirmwaresViewModel();

            model.TipoDispositivo = ClasesVarias.GetDispositivos();
            model.showFirmware    = false;

            if (IdTipoDispositivo != null)
            {
                model.IdTipoDispositivo = (int)IdTipoDispositivo;
                model.showFirmware      = true;
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    model.Firmwares = (from d in db.Firmware
                                       where d.IdTipoDispositivo == IdTipoDispositivo
                                       select new FirmwareViewModel
                    {
                        Version = d.Version,
                        Descripcion = d.Descripcion,
                        Firmware = d.Firmware1,
                        FechaPubilcacion = d.FechaPubilcacion
                    }).ToList();
                }
            }
            return(View(model));
        }
Esempio n. 5
0
        public JsonResult AddCargo(string Nombre, string strIdPais)
        {
            int IdPais = int.Parse(strIdPais);

            using (SeguricelEntities db = new SeguricelEntities())
            {
                int NextId = 0;
                NextId = (db.TipoCargoJuntaCondominio.Where(x => x.Culture == User.Culture).Select(x => (int?)x.IdCargoJunta).Max() ?? 0);

                NextId += 1;

                TipoCargoJuntaCondominio tipoCargo = new TipoCargoJuntaCondominio()
                {
                    Culture      = User.Culture,
                    IdPais       = IdPais,
                    IdCargoJunta = NextId,
                    Nombre       = Nombre
                };

                db.TipoCargoJuntaCondominio.Add(tipoCargo);
                db.SaveChanges();
            }

            IEnumerable <SelectListItem> CargosJunta = ClasesVarias.GetCargosJunta();

            return(Json(new SelectList(CargosJunta, "Value", "Text")));
        }
Esempio n. 6
0
        public ActionResult Modulos()
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Menu       = ClasesVarias.GetMenuUsuario();
            ViewBag.Title      = Resources.ModuloResource.ModulosPageTitle;
            ViewBag.PageHeader = Resources.ModuloResource.ModulosHeaderPage;

            List <ModuloViewModel> data = new List <ModuloViewModel>();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                data = (from d in db.Modulo
                        select new ModuloViewModel
                {
                    Action = d.Action,
                    Activo = d.Activo,
                    Controller = d.Controller,
                    IdModulo = d.IdModulo,
                    IdModuloPadre = (long)(d.IdModuloPadre == null ? d.IdModulo : d.IdModuloPadre),
                    IdTipoElemento = d.IdTipoElemento,
                    ModuloPadre = (d.Modulo2 == null ? d.Nombre : d.Modulo2.Nombre),
                    TipoElemento = ((eTipoElementoMenu)d.IdTipoElemento).ToString(),
                    Nombre = d.Nombre
                }).ToList();
            }

            return(View(data));
        }
        public JsonResult GetNearPoints(string lat, string lng)
        {
            string result = string.Empty;

            var text = string.Format(CultureInfo.InvariantCulture.NumberFormat,
                                       "POINT({0} {1})", lng, lat);
            DbGeography sourcePoint = DbGeography.PointFromText(text, 4326);

            using (SeguricelEntities db = new SeguricelEntities())
            {
                var matches = db.Contrato
                    .Where(x => x.UbicacionGeografica.Distance(sourcePoint) < 15000)
                    .OrderBy(x => x.UbicacionGeografica.Distance(sourcePoint))
                    .Select(x => new
                    {
                        Edificio = x.NombreCompleto,
                        Latitud = x.UbicacionGeografica.Latitude,
                        Longitud = x.UbicacionGeografica.Longitude,
                        Distancia = x.UbicacionGeografica.Distance(sourcePoint)
                    });

                foreach (var location in matches)
                {
                    string mtoK = MetersToKms(location.Distancia).ToString();
                    result += string.Format("{0};{1};{2};{3:n1}/", location.Edificio, location.Latitud.ToString().Replace(",","."), location.Longitud.ToString().Replace(",", "."), mtoK);
                }
            }

            return Json(result);
        }
Esempio n. 8
0
        public ActionResult EditModulo(long id)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Title      = Resources.ModuloResource.EditModuloPageTitle;
            ViewBag.PageHeader = Resources.ModuloResource.EditModuloHeaderPage;
            ModuloViewModel model = new ModuloViewModel();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                model = (from d in db.Modulo
                         where d.IdModulo == id
                         select new ModuloViewModel
                {
                    Action = d.Action,
                    Activo = d.Activo,
                    Controller = d.Controller,
                    IdModulo = d.IdModulo,
                    IdModuloPadre = (int)(d.IdModuloPadre == null ? 0 : d.IdModuloPadre),
                    IdTipoElemento = d.IdTipoElemento,
                    ModuloPadre = (d.Modulo2 == null ? string.Empty : d.Modulo2.Nombre),
                    Nombre = d.Nombre,
                    TipoElemento = ((eTipoElementoMenu)d.IdTipoElemento).ToString()
                }).FirstOrDefault();
            }

            return(View(model));
        }
Esempio n. 9
0
        public ActionResult Index()
        {
            // esto valida si hay una sesion iniciada, de no ser así redirecciona a la página de inicio
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }
            //Coloca el titulo en el navegador
            ViewBag.Title = Resources.AdminIndexResource.PageTitle;
            //coloca el titulo del menú seleccionado
            //ViewBag.PageHeader = Resources.DispositivoResource.DispositivoHeaderPage;
            //carga el menú segun el perfil del usuario
            ViewBag.Menu = ClasesVarias.GetMenuUsuario();
            //carga los contratos en el dropdownlist
            ViewBag.SelectContratos = ClasesVarias.GetContratos();

            List <DispositivoViewModels> data = new List <DispositivoViewModels>();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                data = (from d in db.Contrato_Dispositivo
                        select new DispositivoViewModels
                {
                    Serial = d.Serial,
                    TipoDispositivo = d.IdTipoDispositivo.ToString(),
                    Firmware = d.IdFirmwareActivo.ToString()
                }).ToList();
            }

            return(View(data));
        }
Esempio n. 10
0
        public ActionResult Contactos(ContactosViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Menu       = ClasesVarias.GetMenuUsuario();
            ViewBag.Title      = Resources.ContratoContactoResource.PageTitle;
            ViewBag.PageHeader = Resources.ContratoContactoResource.HeaderPage;

            model.Paises    = ClasesVarias.GetPaises();
            model.Contratos = ClasesVarias.GetContratosByPais(model.IdPais);

            model.showContactos = false;

            if (model.IdPais > 0)
            {
                if (model.IdContrato != null && model.IdContrato != new Guid())
                {
                    model.showContactos = true;
                    using (SeguricelEntities db = new SeguricelEntities())
                    {
                        string _Culture = db.Pais.Where(x => x.IdPais == model.IdPais).FirstOrDefault().Culture;
                        model.Contactos = new List <ContactoViewModel>();

                        List <Contrato_Contacto> contactos = (from d in db.Contrato_Contacto
                                                              where d.IdContrato == model.IdContrato
                                                              select d).ToList();

                        foreach (Contrato_Contacto d in contactos)
                        {
                            model.Contactos.Add(new ContactoViewModel
                            {
                                CargoJunta    = (db.TipoCargoJuntaCondominio.Where(x => x.Culture == _Culture && x.IdCargoJunta == d.IdCargoJunta).FirstOrDefault().Nombre ?? db.TipoCargoJuntaCondominio.Where(x => x.Culture == "en-US" && x.IdCargoJunta == d.IdCargoJunta).FirstOrDefault().Nombre),
                                IdCargoJunta  = d.IdCargoJunta,
                                IdContacto    = d.IdPersonaContacto,
                                IdContrato    = d.IdContrato,
                                IdPais        = model.IdPais,
                                Nombre        = d.Nombre,
                                TelefonoFijo  = int.Parse(d.TelefonoFijo),
                                TelefonoMovil = int.Parse(d.TelefonoMovil)
                            });
                        }
                    }
                }
                else
                {
                    model.showContactos = false;
                    model.Contactos     = new List <ContactoViewModel>();
                }
            }
            else
            {
                model.showContactos = false;
                model.Contactos     = new List <ContactoViewModel>();
            }

            return(View(model));
        }
Esempio n. 11
0
        public ActionResult UsuarioContrato(UsuarioContratoViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Title      = Resources.UsuarioSeguridadResource.UsuarioContratoPageTitle;
            ViewBag.PageHeader = Resources.UsuarioSeguridadResource.UsuarioContratoHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Usuario usuario = (from d in db.Contrato_Usuario
                                                where d.IdContrato == model.IdContrato && d.IdUsuario == model.IdUsuario
                                                select d).FirstOrDefault();

                    if (usuario == null)
                    {
                        usuario = new Contrato_Usuario
                        {
                            IdContrato    = model.IdContrato,
                            IdUsuario     = model.IdUsuario,
                            FechaRegistro = DateTime.UtcNow
                        };

                        db.SaveChanges();
                    }
                }
            }

            return(View());
        }
        public JsonResult GetNearPoints(string lat, string lng)
        {
            string result = string.Empty;

            var text = string.Format(CultureInfo.InvariantCulture.NumberFormat,
                                     "POINT({0} {1})", lng, lat);
            DbGeography sourcePoint = DbGeography.PointFromText(text, 4326);

            using (SeguricelEntities db = new SeguricelEntities())
            {
                var matches = db.Contrato
                              .Where(x => x.UbicacionGeografica.Distance(sourcePoint) < 15000)
                              .OrderBy(x => x.UbicacionGeografica.Distance(sourcePoint))
                              .Select(x => new
                {
                    Edificio  = x.NombreCompleto,
                    Latitud   = x.UbicacionGeografica.Latitude,
                    Longitud  = x.UbicacionGeografica.Longitude,
                    Distancia = x.UbicacionGeografica.Distance(sourcePoint)
                });

                foreach (var location in matches)
                {
                    string mtoK = MetersToKms(location.Distancia).ToString();
                    result += string.Format("{0};{1};{2};{3:n1}/", location.Edificio, location.Latitud.ToString().Replace(",", "."), location.Longitud.ToString().Replace(",", "."), mtoK);
                }
            }

            return(Json(result));
        }
Esempio n. 13
0
        public ActionResult EditUsuario(Guid id)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Title      = Resources.UsuarioSeguridadResource.CreateUsuarioPageTitle;
            ViewBag.PageHeader = Resources.UsuarioSeguridadResource.CreateUsuarioHeaderPage;
            UsuarioViewModel model = new UsuarioViewModel();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Encriptador Encrypt = new Encriptador();
                Encrypt.InicioClaves("53gur1cel!n37", "4LC_C0MUN1C4C10N35@S3GUR1C3L!N37", "53gur1c3l!4lcC0mun1c4c10n35@s3gur1c3lgm41l!c0m", 5);

                Usuario usuario = (from d in db.Usuario
                                   where d.IdUsuario == id
                                   select d).FirstOrDefault();

                string decryptedPassword = Encrypt.Encriptar(usuario.ClaveUsuario, Encriptador.HasAlgorimt.SHA1, Encriptador.Keysize.KS256);
                if (usuario != null)
                {
                    model.ConfirmPasswordUsuario = decryptedPassword;
                    model.EmailUsuario           = usuario.Email;
                    model.Estado          = usuario.IdEstadoUsuario;
                    model.Id              = usuario.IdUsuario;
                    model.IdTipoUsuario   = usuario.IdTipoUsuario;
                    model.Nombre          = usuario.Nombre;
                    model.PasswordUsuario = decryptedPassword;
                }
            }

            return(View(model));
        }
Esempio n. 14
0
        public ActionResult LogOff()
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            try
            {
                if (User != null)
                {
                    using (SeguricelEntities db = new SeguricelEntities())
                    {
                        Usuario Usuario = (from d in db.Usuario
                                           where d.IdUsuario == User.Id
                                           select d).FirstOrDefault();

                        if (Usuario != null)
                        {
                            Usuario.IdEstadoUsuario    = 1;
                            Usuario.FechaCambioEstatus = DateTime.UtcNow;
                            db.SaveChanges();
                        }
                    }
                }
            }
            finally
            {
                FormsAuthentication.SignOut();
                TempData["Expired"] = "1";
            }
            return(RedirectToAction("Index", "Home"));
        }
Esempio n. 15
0
        private ActionResult ConectarUsuario(Usuario dataUsuario, SeguricelEntities db)
        {
            try
            {
                dataUsuario.IdEstadoUsuario     = (int)eEstadoUsuario.Conectado;
                dataUsuario.FechaUltimaConexion = DateTime.UtcNow;
                dataUsuario.FechaCambioEstatus  = DateTime.UtcNow;

                Usuario_Bitacora newBitacora = new Usuario_Bitacora()
                {
                    Accion = "Ingresando al Sistema",
                    DireccionIP_Privada = ClasesVarias.GetLocalIPAddress(),
                    DireccionIP_Publica = ClasesVarias.GetPublicIPAddress(),
                    FechaRegistro       = DateTime.UtcNow,
                    IdUsuario           = dataUsuario.IdUsuario,
                    IdBitacora          = Guid.NewGuid(),
                    Observacion         = ""
                };
                db.Usuario_Bitacora.Add(newBitacora);
                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                throw e;
            }

            switch ((eTipoUsuario)dataUsuario.IdTipoUsuario)
            {
            case eTipoUsuario.Instalador:
                return(RedirectToAction("Index", "Instalacion"));

            case eTipoUsuario.Atención_Cliente:
                return(RedirectToAction("Index", "Atencion"));

            case eTipoUsuario.Administrador_Sistema:
            case eTipoUsuario.Administrador:
                return(RedirectToAction("Index", "Administracion"));

            case eTipoUsuario.Vendedor:
                return(RedirectToAction("Index", "Ventas"));

            case eTipoUsuario.Administradora:
                return(RedirectToAction("Index", "Administradora"));

            case eTipoUsuario.Firmware:
                return(RedirectToAction("Index", "Firmware"));

            case eTipoUsuario.Franquiciado:
                return(RedirectToAction("Index", "Franquicia"));

            case eTipoUsuario.Software:
                return(RedirectToAction("Index", "Software"));

            default:
                return(RedirectToAction("Index", "Cliente"));
            }
        }
Esempio n. 16
0
        public ActionResult Perfil(PerfilViewModel model)
        {
            ViewBag.Title      = Resources.PerfilResource.PageTitle;
            ViewBag.PageHeader = Resources.PerfilResource.HeaderPage;
            ViewBag.ShowMenu   = false;
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            FormsAuthenticationTicket     encTicket      = FormsAuthentication.Decrypt(Session["user"].ToString());
            CustomPrincipalSerializeModel serializeModel = JsonConvert.DeserializeObject <CustomPrincipalSerializeModel>(encTicket.UserData);

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Usuario _dataUsuario = (from u in db.Usuario
                                        where u.IdUsuario == serializeModel.Id
                                        select u).FirstOrDefault();

                if (_dataUsuario != null)
                {
                    Encrypt.InicioClaves("53gur1cel!n37", "4LC_C0MUN1C4C10N35@S3GUR1C3L!N37", "53gur1c3l!4lcC0mun1c4c10n35@s3gur1c3lgm41l!c0m", 5);
                    string encryptedPassword = Encrypt.Encriptar(model.Password, Encriptador.HasAlgorimt.SHA1, Encriptador.Keysize.KS256);

                    _dataUsuario.ClaveUsuario = encryptedPassword;
                    _dataUsuario.Email        = model.Email;
                    _dataUsuario.Pregunta1    = model.Pregunta1;
                    _dataUsuario.Respuesta1   = model.Respuesta1;
                    _dataUsuario.Pregunta2    = model.Pregunta2;
                    _dataUsuario.Respuesta2   = model.Respuesta2;
                    _dataUsuario.Pregunta3    = model.Pregunta3;
                    _dataUsuario.Respuesta3   = model.Respuesta3;

                    /*
                     * Guardar datos
                     */
                    db.Database.ExecuteSqlCommand(
                        "update Usuario set ClaveUsuario=@p0, Email=@p1, Pregunta1=@p2, " +
                        "Respuesta1 = @p3, Pregunta2 = @p4, Respuesta2 = @p5, Pregunta3 = @p6, Respuesta3 = @p7, PrimeraVez=0, CodigoUsuario=@p8 where CodigoUsuario=@p1 or Email=@p1 ",
                        new SqlParameter("@p0", encryptedPassword),
                        new SqlParameter("@p1", model.Email),
                        new SqlParameter("@p2", model.Pregunta1),
                        new SqlParameter("@p3", model.Respuesta1),
                        new SqlParameter("@p4", model.Pregunta2),
                        new SqlParameter("@p5", model.Respuesta2),
                        new SqlParameter("@p6", model.Pregunta3),
                        new SqlParameter("@p7", model.Respuesta3),
                        new SqlParameter("@p8", model.Apodo));

                    return(ConectarUsuario(_dataUsuario, db));
                }
            }

            return(View(model));
        }
Esempio n. 17
0
        public ActionResult ShowUnidad(int IdPais, Guid IdContrato, Guid IdUnidad)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Title      = Resources.ContratoUnidadResource.EditPageTitle;
            ViewBag.PageHeader = Resources.ContratoUnidadResource.EditHeaderPage;

            UnidadViewModel Model = new UnidadViewModel();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Contrato_Unidad Unidad = (from d in db.Contrato_Unidad
                                          where d.IdContrato == IdContrato && d.IdUnidad == IdUnidad
                                          select d).FirstOrDefault();

                if (Unidad != null)
                {
                    string strUnidadMaestra = string.Empty;

                    Contrato_Unidad unidadMaestra = (db.Contrato_Unidad.Where(x => x.IdContrato == Unidad.IdContrato && x.IdUnidad == Unidad.IdUnidadMaestra).FirstOrDefault());
                    if (unidadMaestra != null)
                    {
                        strUnidadMaestra = unidadMaestra.Nombre;
                    }

                    Model = new UnidadViewModel
                    {
                        AceptaInvitados                = Unidad.AceptaInvitados,
                        AceptaSecundarios              = Unidad.AceptaSecundarios,
                        Activa                         = Unidad.Activa,
                        CodigoAutorizacion             = Unidad.CodigoAutorizacionAcceso,
                        CodigoIdentificacionVigilancia = Unidad.CodigoIdentificacionVigilancia,
                        IdContrato                     = Unidad.IdContrato,
                        IdPais                         = IdPais,
                        IdUnidad                       = Unidad.IdUnidad,
                        IdUnidadMaestra                = Unidad.IdUnidadMaestra,
                        JuntaCondominio                = Unidad.JuntaCondominio,
                        Nombre                         = Unidad.Nombre,
                        Piso          = Unidad.Piso,
                        Seguridad     = Unidad.Seguridad,
                        Torre         = Unidad.Torre,
                        UnidadMaestra = strUnidadMaestra,
                        Vacaciones    = Unidad.ModoVacaciones
                    };
                }
            }
            Model.UnidadesContrato = ClasesVarias.getUnidadesMaestrasContrato(IdContrato, Model.IdUnidad);

            return(View(Model));
        }
Esempio n. 18
0
        public JsonResult GetUltimoNroTipoCargoJunta()
        {
            int NextId = 0;

            using (SeguricelEntities db = new SeguricelEntities())
            {
                string _culture = Session["Culture"].ToString();
                NextId = (db.TipoCargoJuntaCondominio.Where(x => x.Culture == _culture).Select(x => (int?)x.IdCargoJunta).Max() ?? 0);
            }

            NextId += 1;
            return(Json(NextId.ToString()));
        }
Esempio n. 19
0
        public ActionResult Index()
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Title                  = Resources.CotizacionResource.PageTitle;
            ViewBag.PageHeader             = Resources.CotizacionResource.HeaderPage;
            ViewBag.TableHeader            = Resources.CotizacionResource.TableHeader;
            ViewBag.Menu                   = ClasesVarias.GetMenuUsuario();
            ViewBag.TitleAlarmaSilente     = Resources.CotizacionResource.labelAlarmaSilente;
            ViewBag.TitleAccesoTelefonico  = Resources.CotizacionResource.labelAccesoTelefono;
            ViewBag.TitleAccesoBiometrico  = Resources.CotizacionResource.labelAccesoBiometrico;
            ViewBag.TitleAccesoRFID        = Resources.CotizacionResource.labelAccesoRFID;
            ViewBag.TitleControlVigilancia = Resources.CotizacionResource.labelControlVigilancia;

            List <Models.CotizacionViewModel> data = new List <Models.CotizacionViewModel>();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                data = (from d in db.Cotizacion
                        select new Models.CotizacionViewModel
                {
                    AccesoBiometrico = d.AccesoBiometrico,
                    AccesoRFID = d.AccesoRFID,
                    AccesoTelefonico = d.AccesoTelefonico,
                    AlarmaSilente = d.AlarmaSilente,
                    ControlVigilancia = d.ControlVigilancia,
                    DescripcionAccesoActual = d.DescripcionAccesoActual,
                    Direccion = d.Direccion,
                    FechaEstadoPropuesta = d.FechaEstadoPropuesta,
                    IdCiudad = d.IdCiudad,
                    IdCotizacion = d.IdCotizacion,
                    IdEstado = d.IdEstado,
                    IdEstadoPropuesta = d.IdEstadoPropuesta,
                    IdPais = d.IdPais,
                    IdTipoPropuesta = d.IdTipoPropuesta,
                    //IdVendedor = d.IdVendedor,
                    Nombre = d.Nombre,
                    NombreEmpresaVigilancia = d.NombreEmpresaVigilancia,
                    NroLocalesComerciales = d.NroLocalesComerciales,
                    NroResidenciasXTorre = d.NroResidenciasXTorre,
                    TotalResidencias = d.TotalResidencias,
                    TotalTorres = d.TotalTorres,
                    VigilanciaContratada = d.VigilanciaContratada
                }).ToList();
            }

            return(View(data));
        }
Esempio n. 20
0
        public ActionResult DeleteContacto(int IdPais, Guid IdContrato, Guid IdContacto)
        {
            using (SeguricelEntities db = new SeguricelEntities())
            {
                Contrato_Contacto contacto = (from d in db.Contrato_Contacto
                                              where d.IdContrato == IdContrato && d.IdPersonaContacto == IdContacto
                                              select d).FirstOrDefault();

                db.Contrato_Contacto.Remove(contacto);
                db.SaveChanges();
            }

            return(RedirectToAction("Contactos", "Contrato", new { IdPais = IdPais, IdContrato = IdContrato }));
        }
        public ActionResult CreateAdministradora(AdministradoraViewModel model)
        {
            ViewBag.Title      = Resources.AdministradorasResources.CreatePageTitle;
            ViewBag.PageHeader = Resources.AdministradorasResources.CreateHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Administradora record = new Contrato_Administradora
                    {
                        CodigoPostal = model.CodigoPostal,
                        CorreoElectronicoAdministradora = model.CorreoAdministradora,
                        CorreoElectronicoContacto       = model.CorreoContacto,
                        Direccion        = model.Direccion,
                        IdCiudad         = model.IdCiudad,
                        IdEstado         = model.IdEstado,
                        IdPais           = model.IdPais,
                        IdAdministradora = Guid.NewGuid(),
                        Nombre           = model.Nombre,
                        NombreContacto   = model.NombreContacto,
                        Rif = model.Rif,
                        TelefonoCelular1 = model.TelefonoCelular1,
                        TelefonoCelular2 = (model.TelefonoCelular2 == null ? string.Empty : model.TelefonoCelular2),
                        TelefonoFax      = (model.TelefonoFax == null ? string.Empty : model.TelefonoFax),
                        TelefonoOficina  = model.TelefonoOficina
                    };
                    db.Contrato_Administradora.Add(record);
                    db.SaveChanges();

                    ClasesVarias.AddBitacoraUsuario(db,
                                                    "Administradora " + model.Nombre + "en " + db.Pais.Where(x => x.IdPais == model.IdPais).Select(x => x.Nombre).FirstOrDefault(),
                                                    102000001,
                                                    "Agregar");
                }
                return(RedirectToAction("Administradoras", new { IdPais = model.IdPais }));
            }

            model.EstadosDisponibles = ClasesVarias.GetEstados(model.IdPais);
            if (model.IdEstado > 0)
            {
                model.Ciudades = ClasesVarias.GetCiudades(model.IdPais, model.IdEstado);
            }
            else
            {
                model.Ciudades = new SelectList(string.Empty, "Value", "Text");
            }

            return(View(model));
        }
Esempio n. 22
0
        public ActionResult CreateUsuario(UsuarioViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (!ModelState.IsValid)
            {
                ViewBag.Title      = Resources.UsuarioSeguridadResource.CreateUsuarioPageTitle;
                ViewBag.PageHeader = Resources.UsuarioSeguridadResource.CreateUsuarioHeaderPage;
                return(View(model));
            }

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Encriptador Encrypt = new Encriptador();
                Encrypt.InicioClaves("53gur1cel!n37", "4LC_C0MUN1C4C10N35@S3GUR1C3L!N37", "53gur1c3l!4lcC0mun1c4c10n35@s3gur1c3lgm41l!c0m", 5);
                string encryptedPassword = Encrypt.Encriptar(model.PasswordUsuario, Encriptador.HasAlgorimt.SHA1, Encriptador.Keysize.KS256);

                Usuario usuario = new Usuario
                {
                    ClaveUsuario        = encryptedPassword,
                    Email               = model.EmailUsuario,
                    CodigoUsuario       = string.Empty,
                    FechaCambioEstatus  = DateTime.UtcNow,
                    FechaUltimaConexion = DateTime.UtcNow,
                    IdEstadoUsuario     = (int)eEstadoUsuario.Activo,
                    IdTipoUsuario       = model.IdTipoUsuario,
                    IdUsuario           = Guid.NewGuid(),
                    Nombre              = model.Nombre,
                    Pregunta1           = string.Empty,
                    Pregunta2           = string.Empty,
                    Pregunta3           = string.Empty,
                    PrimeraVez          = true,
                    Respuesta1          = string.Empty,
                    Respuesta2          = string.Empty,
                    Respuesta3          = string.Empty
                };

                db.Usuario.Add(usuario);
                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                                                "Usuario para " + model.Nombre,
                                                105000001,
                                                "Agregar");
            }
            return(RedirectToAction("Usuarios"));
        }
        public ActionResult EditAdministradora(AdministradoraViewModel model)
        {
            ViewBag.Title      = Resources.AdministradorasResources.CreatePageTitle;
            ViewBag.PageHeader = Resources.AdministradorasResources.CreateHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Administradora Administradora = (from d in db.Contrato_Administradora
                                                              where d.IdPais == model.IdPais && d.IdAdministradora == model.Id
                                                              select d).FirstOrDefault();

                    Administradora.CodigoPostal = model.CodigoPostal;
                    Administradora.CorreoElectronicoAdministradora = model.CorreoAdministradora;
                    Administradora.CorreoElectronicoContacto       = model.CorreoContacto;
                    Administradora.Direccion        = model.Direccion;
                    Administradora.IdCiudad         = model.IdCiudad;
                    Administradora.IdEstado         = model.IdEstado;
                    Administradora.Nombre           = model.Nombre;
                    Administradora.NombreContacto   = model.NombreContacto;
                    Administradora.Rif              = model.Rif;
                    Administradora.TelefonoCelular1 = model.TelefonoCelular1;
                    Administradora.TelefonoCelular2 = (model.TelefonoCelular2 == null ? string.Empty : model.TelefonoCelular2);
                    Administradora.TelefonoFax      = (model.TelefonoFax == null ? string.Empty : model.TelefonoFax);
                    Administradora.TelefonoOficina  = model.TelefonoOficina;

                    db.SaveChanges();

                    ClasesVarias.AddBitacoraUsuario(db,
                                                    "Administradora " + model.Nombre + "en " + db.Pais.Where(x => x.IdPais == model.IdPais).Select(x => x.Nombre).FirstOrDefault(),
                                                    102000001,
                                                    "Actualizar");
                }
                return(RedirectToAction("Administradoras", new { IdPais = model.IdPais }));
            }

            model.EstadosDisponibles = ClasesVarias.GetEstados(model.IdPais);
            if (model.IdEstado > 0)
            {
                model.Ciudades = ClasesVarias.GetCiudades(model.IdPais, model.IdEstado);
            }
            else
            {
                model.Ciudades = new SelectList(string.Empty, "Value", "Text");
            }

            return(View(model));
        }
        public ActionResult Index()
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Title = Resources.CotizacionResource.PageTitle;
            ViewBag.PageHeader = Resources.CotizacionResource.HeaderPage;
            ViewBag.TableHeader = Resources.CotizacionResource.TableHeader;
            ViewBag.Menu = ClasesVarias.GetMenuUsuario();
            ViewBag.TitleAlarmaSilente = Resources.CotizacionResource.labelAlarmaSilente;
            ViewBag.TitleAccesoTelefonico = Resources.CotizacionResource.labelAccesoTelefono;
            ViewBag.TitleAccesoBiometrico = Resources.CotizacionResource.labelAccesoBiometrico;
            ViewBag.TitleAccesoRFID = Resources.CotizacionResource.labelAccesoRFID;
            ViewBag.TitleControlVigilancia = Resources.CotizacionResource.labelControlVigilancia;

            List<Models.CotizacionViewModel> data = new List<Models.CotizacionViewModel>();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                data = (from d in db.Cotizacion
                        select new Models.CotizacionViewModel
                        {
                            AccesoBiometrico = d.AccesoBiometrico,
                            AccesoRFID = d.AccesoRFID,
                            AccesoTelefonico = d.AccesoTelefonico,
                            AlarmaSilente = d.AlarmaSilente,
                            ControlVigilancia = d.ControlVigilancia,
                            DescripcionAccesoActual = d.DescripcionAccesoActual,
                            Direccion = d.Direccion,
                            FechaEstadoPropuesta = d.FechaEstadoPropuesta,
                            IdCiudad = d.IdCiudad,
                            IdCotizacion = d.IdCotizacion,
                            IdEstado = d.IdEstado,
                            IdEstadoPropuesta = d.IdEstadoPropuesta,
                            IdPais = d.IdPais,
                            IdTipoPropuesta = d.IdTipoPropuesta,
                            //IdVendedor = d.IdVendedor,
                            Nombre = d.Nombre,
                            NombreEmpresaVigilancia = d.NombreEmpresaVigilancia,
                            NroLocalesComerciales = d.NroLocalesComerciales,
                            NroResidenciasXTorre = d.NroResidenciasXTorre,
                            TotalResidencias = d.TotalResidencias,
                            TotalTorres = d.TotalTorres,
                            VigilanciaContratada = d.VigilanciaContratada
                        }).ToList();
            }

            return View(data);
        }
Esempio n. 25
0
        public ActionResult EditUnidad(UnidadViewModel model)
        {
            ViewBag.Title      = Resources.ContratosResource.EditPageTitle;
            ViewBag.PageHeader = Resources.ContratosResource.EditHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Unidad Unidad = (from d in db.Contrato_Unidad
                                              where d.IdContrato == model.IdContrato && d.IdUnidad == model.IdUnidad
                                              select d).FirstOrDefault();

                    string strUnidadMaestra = string.Empty;

                    Contrato_Unidad unidadMaestra = (db.Contrato_Unidad.Where(x => x.IdContrato == model.IdContrato && x.IdUnidad == model.IdUnidadMaestra).FirstOrDefault());
                    if (unidadMaestra != null)
                    {
                        strUnidadMaestra = unidadMaestra.Nombre;
                    }

                    Unidad.AceptaInvitados                = model.AceptaInvitados;
                    Unidad.AceptaSecundarios              = model.AceptaSecundarios;
                    Unidad.Activa                         = model.Activa;
                    Unidad.CodigoAutorizacionAcceso       = model.CodigoAutorizacion;
                    Unidad.CodigoIdentificacionVigilancia = model.CodigoIdentificacionVigilancia;
                    Unidad.IdUnidadMaestra                = model.IdUnidadMaestra;
                    Unidad.Image           = model.Imagen;
                    Unidad.JuntaCondominio = model.JuntaCondominio;
                    Unidad.Nombre          = model.Nombre;
                    Unidad.Piso            = model.Piso;
                    Unidad.Seguridad       = model.Seguridad;
                    Unidad.Torre           = model.Torre;
                    Unidad.ModoVacaciones  = model.Vacaciones;

                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                return(RedirectToAction("Index", "Unidad", new { IdPais = model.IdPais, IdContrato = model.IdContrato }));
            }

            return(View(model));
        }
Esempio n. 26
0
        public ActionResult ShowAcceso(int IdPais, Guid IdContrato, Guid IdAcceso)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Title      = Resources.ContratoAccesoResource.ShowPageTitle;
            ViewBag.PageHeader = Resources.ContratoAccesoResource.ShowHeaderPage;

            AccesoViewModel Model = new AccesoViewModel();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Contrato_Acceso Acceso = (from d in db.Contrato_Acceso
                                          where d.IdContrato == IdContrato && d.IdAcceso == IdAcceso
                                          select d).FirstOrDefault();

                if (Acceso != null)
                {
                    Model = new AccesoViewModel
                    {
                        CantidadSecundarios = Acceso.CantidadSecundarios,
                        Entrada             = Acceso.Entrada,
                        IdContrato          = Acceso.IdContrato,
                        IdPais               = (int)IdPais,
                        IdAcceso             = Acceso.IdAcceso,
                        JuntaCondominio      = Acceso.JuntaCondominio,
                        Nombre               = Acceso.Nombre,
                        NroPersonas          = Acceso.NroPersonas,
                        Peatonal             = Acceso.Peatonal,
                        Personal             = Acceso.Personal,
                        PlantillasEmergencia = Acceso.Plantillas_Emergencia,
                        PlantillasPersona    = Acceso.Plantillas_X_Persona,
                        Principales          = Acceso.Principales,
                        Secundarios          = (bool)Acceso.Secundarios,
                        RFID      = Acceso.RFID,
                        Salida    = Acceso.Salida,
                        Servicio  = Acceso.Servicio,
                        Vehicular = Acceso.Vehicular,
                        Visitante = Acceso.Visitante
                    };
                }
            }

            return(View(Model));
        }
Esempio n. 27
0
        public ActionResult CreateAcceso(AccesoViewModel model)
        {
            ViewBag.Title      = Resources.ContratosResource.CreatePageTitle;
            ViewBag.PageHeader = Resources.ContratosResource.CreateHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Acceso dataAcceso = new Contrato_Acceso
                    {
                        CantidadSecundarios = model.CantidadSecundarios,
                        Entrada             = model.Entrada,
                        IdContrato          = model.IdContrato,
                        IdAcceso            = Guid.NewGuid(),
                        JuntaCondominio     = model.JuntaCondominio,
                        Nombre                = model.Nombre,
                        NroPersonas           = model.NroPersonas,
                        Peatonal              = model.Peatonal,
                        Personal              = model.Personal,
                        Plantillas_Emergencia = model.PlantillasEmergencia,
                        Plantillas_X_Persona  = model.PlantillasPersona,
                        Principales           = model.Principales,
                        Secundarios           = model.Secundarios,
                        RFID      = model.RFID,
                        Salida    = model.Salida,
                        Servicio  = model.Servicio,
                        Vehicular = model.Vehicular,
                        Visitante = model.Visitante
                    };

                    db.Contrato_Acceso.Add(dataAcceso);
                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                return(RedirectToAction("Index", "Acceso", new { IdPais = model.IdPais, IdContrato = model.IdContrato }));
            }

            return(View(model));
        }
Esempio n. 28
0
        public ActionResult EditAcceso(AccesoViewModel model)
        {
            ViewBag.Title      = Resources.ContratosResource.EditPageTitle;
            ViewBag.PageHeader = Resources.ContratosResource.EditHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Acceso Acceso = (from d in db.Contrato_Acceso
                                              where d.IdContrato == model.IdContrato && d.IdAcceso == model.IdAcceso
                                              select d).FirstOrDefault();

                    Acceso.CantidadSecundarios = model.CantidadSecundarios;
                    Acceso.Entrada             = model.Entrada;
                    Acceso.IdContrato          = model.IdContrato;
                    Acceso.IdAcceso            = Guid.NewGuid();
                    Acceso.JuntaCondominio     = model.JuntaCondominio;
                    Acceso.Nombre                = model.Nombre;
                    Acceso.NroPersonas           = model.NroPersonas;
                    Acceso.Peatonal              = model.Peatonal;
                    Acceso.Personal              = model.Personal;
                    Acceso.Plantillas_Emergencia = model.PlantillasEmergencia;
                    Acceso.Plantillas_X_Persona  = model.PlantillasPersona;
                    Acceso.Principales           = model.Principales;
                    Acceso.Secundarios           = model.Secundarios;
                    Acceso.RFID      = model.RFID;
                    Acceso.Salida    = model.Salida;
                    Acceso.Servicio  = model.Servicio;
                    Acceso.Vehicular = model.Vehicular;
                    Acceso.Visitante = model.Visitante;

                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                return(RedirectToAction("Index", "Acceso", new { IdPais = model.IdPais, IdContrato = model.IdContrato }));
            }

            return(View(model));
        }
        public ActionResult Administradoras(int?IdPais)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Menu       = ClasesVarias.GetMenuUsuario();
            ViewBag.Title      = Resources.AdministradorasResources.PageTitle;
            ViewBag.PageHeader = Resources.AdministradorasResources.HeaderPage;
            AdministradorasViewModel model = new AdministradorasViewModel();

            model.Paises = ClasesVarias.GetPaises();
            model.showAdministradoras = false;

            if (IdPais != null)
            {
                model.IdPais = (int)IdPais;
                model.showAdministradoras = true;
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    model.Administradoras = (from d in db.Contrato_Administradora
                                             where d.IdPais == IdPais
                                             select new AdministradoraViewModel
                    {
                        CodigoPostal = d.CodigoPostal,
                        CorreoAdministradora = d.CorreoElectronicoAdministradora,
                        CorreoContacto = d.CorreoElectronicoContacto,
                        Direccion = d.Direccion,
                        Id = d.IdAdministradora,
                        IdCiudad = d.IdCiudad,
                        IdEstado = d.IdEstado,
                        IdPais = d.IdPais,
                        Nombre = d.Nombre,
                        NombreContacto = d.NombreContacto,
                        Rif = d.Rif,
                        TelefonoCelular1 = d.TelefonoCelular1,
                        TelefonoCelular2 = d.TelefonoCelular2,
                        TelefonoFax = d.TelefonoFax,
                        TelefonoOficina = d.TelefonoOficina
                    }).ToList();
                }
            }
            return(View(model));
        }
        public ActionResult Index()
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Title = Resources.AdminIndexResource.PageTitle;
            ViewBag.PageHeader = Resources.AdminIndexResource.HeaderPage;
            ViewBag.Menu = ClasesVarias.GetMenuUsuario();
            ViewBag.EstadisticaDispositivo = new List<Contrato_Dispositivo_Estadistica>();
            ViewBag.MensajesPendientes = new List<Contrato_Mensaje>();

            using (SeguricelEntities db = new SeguricelEntities())
            {

            }

            return View();
        }
Esempio n. 31
0
        public ActionResult Delete(Guid IdContrato)
        {
            ContratoViewModel Model = new ContratoViewModel();

            string Culture = Session["Culture"].ToString();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Contrato contrato = (from d in db.Contrato
                                     where d.IdContrato == IdContrato
                                     select d).FirstOrDefault();

                db.Contrato.Remove(contrato);
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 32
0
        public ActionResult CreateUnidad(UnidadViewModel model)
        {
            ViewBag.Title      = Resources.ContratosResource.CreatePageTitle;
            ViewBag.PageHeader = Resources.ContratosResource.CreateHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Unidad dataUnidad = new Contrato_Unidad
                    {
                        AceptaInvitados                = model.AceptaInvitados,
                        AceptaSecundarios              = model.AceptaSecundarios,
                        Activa                         = model.Activa,
                        CodigoAutorizacionAcceso       = model.CodigoAutorizacion,
                        CodigoIdentificacionVigilancia = model.CodigoIdentificacionVigilancia,
                        IdContrato                     = model.IdContrato,
                        IdUnidad                       = Guid.NewGuid(),
                        IdUnidadMaestra                = model.IdUnidadMaestra,
                        Image           = model.Imagen,
                        JuntaCondominio = model.JuntaCondominio,
                        Nombre          = model.Nombre,
                        ModoVacaciones  = model.Vacaciones,
                        Piso            = model.Piso,
                        Seguridad       = model.Seguridad,
                        Torre           = model.Torre
                    };

                    db.Contrato_Unidad.Add(dataUnidad);
                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                return(RedirectToAction("Index", "Unidad", new { IdPais = model.IdPais, IdContrato = model.IdContrato }));
            }

            model.UnidadesContrato = ClasesVarias.getUnidadesMaestrasContrato(model.IdContrato, model.IdUnidad);
            return(View(model));
        }
        public ActionResult DeleteAdministradora(int IdPais, Guid Id)
        {
            using (SeguricelEntities db = new SeguricelEntities())
            {
                Contrato_Administradora Administradora = (from d in db.Contrato_Administradora
                                                          where d.IdPais == IdPais && d.IdAdministradora == Id
                                                          select d).FirstOrDefault();
                string Nombre = Administradora.Nombre;
                db.Contrato_Administradora.Remove(Administradora);
                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                                                "Administradora " + Nombre + "en " + db.Pais.Where(x => x.IdPais == IdPais).Select(x => x.Nombre).FirstOrDefault(),
                                                102000001,
                                                "Eliminar");
            }

            return(RedirectToAction("Administradoras", new { IdPais }));
        }
        public ActionResult Administradoras(int? IdPais)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Menu = ClasesVarias.GetMenuUsuario();
            ViewBag.Title = Resources.AdministradorasResources.PageTitle;
            ViewBag.PageHeader = Resources.AdministradorasResources.HeaderPage;
            AdministradorasViewModel model = new AdministradorasViewModel();
            model.Paises = ClasesVarias.GetPaises();
            model.showAdministradoras = false;

            if (IdPais != null)
            {
                model.IdPais = (int)IdPais;
                model.showAdministradoras = true;
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    model.Administradoras = (from d in db.Contrato_Administradora
                                           where d.IdPais == IdPais
                                           select new AdministradoraViewModel
                                           {
                                               CodigoPostal = d.CodigoPostal,
                                               CorreoAdministradora = d.CorreoElectronicoAdministradora,
                                               CorreoContacto = d.CorreoElectronicoContacto,
                                               Direccion = d.Direccion,
                                               Id = d.IdAdministradora,
                                               IdCiudad = d.IdCiudad,
                                               IdEstado = d.IdEstado,
                                               IdPais = d.IdPais,
                                               Nombre = d.Nombre,
                                               NombreContacto = d.NombreContacto,
                                               Rif = d.Rif,
                                               TelefonoCelular1 = d.TelefonoCelular1,
                                               TelefonoCelular2 = d.TelefonoCelular2,
                                               TelefonoFax = d.TelefonoFax,
                                               TelefonoOficina = d.TelefonoOficina
                                           }).ToList();
                }
            }
            return View(model);
        }
        public ActionResult Index()
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Title = Resources.ContratosResource.PageTitle;
            ViewBag.PageHeader = Resources.ContratosResource.HeaderPage;
            ViewBag.TableHeader = Resources.ContratosResource.TableHeader;
            ViewBag.Menu = ClasesVarias.GetMenuUsuario();

            List<Models.ContratoViewModel> contratos = new List<Models.ContratoViewModel>();
            string _Culture = Thread.CurrentThread.CurrentCulture.ToString();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                contratos = (from d in db.Contrato
                             select new Models.ContratoViewModel
                             {
                                 CodigoPostal = d.CodigoPostal,
                                 Contratante = d.Contratante,
                                 Direccion = d.Direccion,
                                 EstadoContrato = db.EstadoContrato.Where(x => x.Culture == _Culture && x.IdEstadoContrato == d.IdEstadoContrato).FirstOrDefault().Nombre,
                                 FechaContrato = d.FechaContrato,
                                 IdAdministradora = d.IdAdministradora,
                                 IdCiudad = d.IdCiudad,
                                 IdContrato = d.IdContrato,
                                 IdEstado = d.IdEstado,
                                 IdEstadoContrato = d.IdEstadoContrato,
                                 IdPais = d.IdPais,
                                 IdTipoContrato = d.IdTipoContrato,
                                 NombreCompleto = d.NombreCompleto,
                                 NroContrato = d.NroContrato.ToString(),
                                 RegistroFiscal = d.RegistroFiscal,
                                 TipoContrato = db.TipoContrato.Where(x => x.Culture == _Culture && x.IdTipoContrato == d.IdTipoContrato).FirstOrDefault().Nombre,
                                 UbicacionGeografica = d.UbicacionGeografica
                             }).ToList();
            }
            return View(contratos);
        }
        public ActionResult Usuarios()
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Menu = ClasesVarias.GetMenuUsuario();
            ViewBag.Title = Resources.UsuarioSeguridadResource.UsuariosPageTitle;
            ViewBag.PageHeader = Resources.UsuarioSeguridadResource.UsuariosHeaderPage;

            List<UsuarioViewModel> data = new List<UsuarioViewModel>();
            string _Culture = Thread.CurrentThread.CurrentCulture.ToString();


            using (SeguricelEntities db = new SeguricelEntities())
            {
                data = (from d in db.Usuario
                        let fce = SqlFunctions.DateAdd("hh", User.HoursTimeZone, SqlFunctions.DateAdd("mi", User.MinutesTimeZone, d.FechaCambioEstatus))
                        let fuc = SqlFunctions.DateAdd("hh", User.HoursTimeZone, SqlFunctions.DateAdd("mi", User.MinutesTimeZone, d.FechaUltimaConexion))
                        where d.IdTipoUsuario > (User.IdTipoUsuario == 1 ? 0 : 1)
                        select new UsuarioViewModel
                        {
                            ConfirmPasswordUsuario = d.ClaveUsuario,
                            EmailUsuario = d.Email,
                            Estado = d.IdEstadoUsuario,
                            EstadoUsuario = db.EstadoUsuario.Where(x => x.Culture == _Culture && x.IdEstadoUsuario == d.IdEstadoUsuario).FirstOrDefault().Nombre,
                            FechaCambioEstado = (DateTime)fce,
                            FechaUltimaConexion = (DateTime)fuc,
                            Id = d.IdUsuario,
                            IdTipoUsuario = d.IdTipoUsuario,
                            NivelUsuario = db.TipoUsuario.Where(x => x.Culture == _Culture && x.IdTipoUsuario == d.IdTipoUsuario).FirstOrDefault().Nombre,
                            Nombre = d.Nombre,
                            PasswordUsuario = d.ClaveUsuario
                        }).ToList();
            }

            return View(data);
        }
        public ActionResult EditContacto(ContactoViewModel model)
        {
            ViewBag.Title = Resources.ContratosResource.EditPageTitle;
            ViewBag.PageHeader = Resources.ContratosResource.EditHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {

                    Contrato_Contacto dataContacto = db.Contrato_Contacto.Where(x => x.IdContrato == model.IdContrato && x.IdPersonaContacto == model.IdContacto).FirstOrDefault();
                    dataContacto.IdCargoJunta = model.IdCargoJunta;
                    dataContacto.Nombre = model.Nombre;
                    dataContacto.TelefonoFijo = model.TelefonoFijo.ToString();
                    dataContacto.TelefonoMovil = model.TelefonoMovil.ToString();

                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                return RedirectToAction("Contactos", "Contrato", new { IdPais = model.IdPais, IdContrato = model.IdContrato });
            }

            return View(model);
        }
        public ActionResult DeleteContacto(int IdPais, Guid IdContrato, Guid IdContacto)
        {

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Contrato_Contacto contacto = (from d in db.Contrato_Contacto
                                              where d.IdContrato == IdContrato && d.IdPersonaContacto == IdContacto
                                              select d).FirstOrDefault();

                db.Contrato_Contacto.Remove(contacto);
                db.SaveChanges();
            }

            return RedirectToAction("Contactos", "Contrato", new { IdPais = IdPais, IdContrato = IdContrato });
        }
        public JsonResult GetUltimoNroTipoCargoJunta()
        {
            int NextId = 0;
            using (SeguricelEntities db = new SeguricelEntities())
            {
                string _culture = Session["Culture"].ToString();
                NextId = (db.TipoCargoJuntaCondominio.Where(x => x.Culture == _culture).Select(x => (int?)x.IdCargoJunta).Max() ?? 0);
            }

            NextId += 1;
            return Json(NextId.ToString());
        }
        public ActionResult CreateModulo(ModuloViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            if (!ModelState.IsValid)
            {
                ViewBag.Title = Resources.ModuloResource.CreateModuloPageTitle;
                ViewBag.PageHeader = Resources.ModuloResource.CreateModuloHeaderPage;
                return View(model);
            }

            using (SeguricelEntities db = new SeguricelEntities())
            {

                Modulo modulo = new Modulo
                {
                    Action = model.Action,
                    Activo = model.Activo,
                    Controller = model.Controller,
                    IdModulo = model.IdModulo,
                    IdModuloPadre = (((eTipoElementoMenu)model.IdTipoElemento) != eTipoElementoMenu.Nivel1 ? model.IdModuloPadre : (int?)null),
                    IdTipoElemento = model.IdTipoElemento,
                    Nombre = model.Nombre
                };

                db.Modulo.Add(modulo);
                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                   "Módulo " + model.Nombre,
                   105000003,
                   "Agregar");

            }
            return RedirectToAction("Modulos");
        }
        public ActionResult Firmware(int? IdTipoDispositivo)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Menu = ClasesVarias.GetMenuUsuario();
            ViewBag.Title = Resources.FirmResource.PageTitle;
            ViewBag.PageHeader = Resources.FirmResource.HeaderPage;
            FirmwaresViewModel model = new FirmwaresViewModel();
            model.TipoDispositivo = ClasesVarias.GetDispositivos();
            model.showFirmware = false;

            if (IdTipoDispositivo != null)
            {
                model.IdTipoDispositivo = (int)IdTipoDispositivo;
                model.showFirmware = true;
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    model.Firmwares = (from d in db.Firmware
                                             where d.IdTipoDispositivo == IdTipoDispositivo
                                             select new FirmwareViewModel
                                             {
                                                 Version = d.Version,
                                                 Descripcion = d.Descripcion,
                                                 Firmware = d.Firmware1,
                                                 FechaPubilcacion = d.FechaPubilcacion
                                             }).ToList();
                }
            }
            return View(model);
        }
        public ActionResult EditAdministradora(AdministradoraViewModel model)
        {
            ViewBag.Title = Resources.AdministradorasResources.CreatePageTitle;
            ViewBag.PageHeader = Resources.AdministradorasResources.CreateHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Administradora Administradora = (from d in db.Contrato_Administradora
                                                              where d.IdPais == model.IdPais && d.IdAdministradora == model.Id
                                                              select d).FirstOrDefault();

                    Administradora.CodigoPostal = model.CodigoPostal;
                    Administradora.CorreoElectronicoAdministradora = model.CorreoAdministradora;
                    Administradora.CorreoElectronicoContacto = model.CorreoContacto;
                    Administradora.Direccion = model.Direccion;
                    Administradora.IdCiudad = model.IdCiudad;
                    Administradora.IdEstado = model.IdEstado;
                    Administradora.Nombre = model.Nombre;
                    Administradora.NombreContacto = model.NombreContacto;
                    Administradora.Rif = model.Rif;
                    Administradora.TelefonoCelular1 = model.TelefonoCelular1;
                    Administradora.TelefonoCelular2 = (model.TelefonoCelular2 == null ? string.Empty : model.TelefonoCelular2);
                    Administradora.TelefonoFax = (model.TelefonoFax == null ? string.Empty : model.TelefonoFax);
                    Administradora.TelefonoOficina = model.TelefonoOficina;

                    db.SaveChanges();

                    ClasesVarias.AddBitacoraUsuario(db,
                       "Administradora " + model.Nombre + "en " + db.Pais.Where(x => x.IdPais == model.IdPais).Select(x => x.Nombre).FirstOrDefault(),
                       102000001,
                       "Actualizar");

                }
                return RedirectToAction("Administradoras", new { IdPais = model.IdPais });
            }

            model.EstadosDisponibles = ClasesVarias.GetEstados(model.IdPais);
            if (model.IdEstado > 0)
                model.Ciudades = ClasesVarias.GetCiudades(model.IdPais, model.IdEstado);
            else
                model.Ciudades = new SelectList(string.Empty, "Value", "Text");

            return View(model);
        }
        public ActionResult EditUsuario(UsuarioViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            if (!ModelState.IsValid)
            {
                ViewBag.Title = Resources.UsuarioSeguridadResource.CreateUsuarioPageTitle;
                ViewBag.PageHeader = Resources.UsuarioSeguridadResource.CreateUsuarioHeaderPage;
                return View(model);
            }

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Encriptador Encrypt = new Encriptador();
                Encrypt.InicioClaves("53gur1cel!n37", "4LC_C0MUN1C4C10N35@S3GUR1C3L!N37", "53gur1c3l!4lcC0mun1c4c10n35@s3gur1c3lgm41l!c0m", 5);
                string encryptedPassword = Encrypt.Encriptar(model.PasswordUsuario, Encriptador.HasAlgorimt.SHA1, Encriptador.Keysize.KS256);

                Usuario usuario = (from d in db.Usuario
                                   where d.IdUsuario == model.Id
                                   select d).FirstOrDefault();

                usuario.ClaveUsuario = encryptedPassword;
                usuario.CodigoUsuario = model.EmailUsuario;
                usuario.Email = model.EmailUsuario;
                usuario.IdTipoUsuario = model.IdTipoUsuario;
                usuario.PrimeraVez = true;
                usuario.Nombre = model.Nombre;

                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                   "Usuario para " + model.Nombre,
                   105000001,
                   "Actualizar");

            }

            return RedirectToAction("Usuarios");
        }
        public ActionResult UsuarioContrato(UsuarioContratoViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Title = Resources.UsuarioSeguridadResource.UsuarioContratoPageTitle;
            ViewBag.PageHeader = Resources.UsuarioSeguridadResource.UsuarioContratoHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Usuario usuario = (from d in db.Contrato_Usuario
                                                where d.IdContrato == model.IdContrato && d.IdUsuario == model.IdUsuario
                                                select d).FirstOrDefault();

                    if (usuario == null)
                    {
                        usuario = new Contrato_Usuario
                        {
                            IdContrato = model.IdContrato,
                            IdUsuario = model.IdUsuario,
                            FechaRegistro = DateTime.UtcNow
                        };

                        db.SaveChanges();
                    }
                }
            }

            return View();
        }
        public ActionResult UpdateRol(int IdRol, long IdModulo, bool Active)
        {
            try
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Modulo modulo = db.Modulo.Where(x => x.IdModulo == IdModulo).FirstOrDefault();

                    if (Active)
                    {
                        Modulo_TipoUsuario moduloUsuario = new Modulo_TipoUsuario
                        {
                            FechaAsignacion = DateTime.UtcNow,
                            IdModulo = IdModulo,
                            IdTipoUsuario = IdRol
                        };

                        db.Modulo_TipoUsuario.Add(moduloUsuario);

                        var chdQry1 = db.Modulo.Where(x => x.IdModuloPadre == IdModulo).Select(x => x.IdModulo);
                        var chdQry2 = from m in db.Modulo where chdQry1.Contains((long)m.IdModuloPadre) select m.IdModulo;
                        var chdQry3 = from m in db.Modulo where chdQry2.Contains((long)m.IdModuloPadre) select m.IdModulo;
                        var chdQry4 = from m in db.Modulo where chdQry3.Contains((long)m.IdModuloPadre) select m.IdModulo;

                        List<Modulo_TipoUsuario> Modulos = new List<Modulo_TipoUsuario>();
                        foreach (int IdNewModulo in chdQry1)
                        {
                            if (db.Modulo_TipoUsuario.Where(x => x.IdModulo == IdNewModulo && x.IdTipoUsuario == IdRol).Count() == 0)
                                Modulos.Add(new Modulo_TipoUsuario
                                {
                                    FechaAsignacion = DateTime.UtcNow,
                                    IdModulo = IdNewModulo,
                                    IdTipoUsuario = IdRol
                                });
                        }
                        if (chdQry2 != null && chdQry2.Count() > 0)
                        {
                            foreach (int IdNewModulo in chdQry2)
                            {
                                if (db.Modulo_TipoUsuario.Where(x => x.IdModulo == IdNewModulo && x.IdTipoUsuario == IdRol).Count() == 0)
                                    Modulos.Add(new Modulo_TipoUsuario
                                    {
                                        FechaAsignacion = DateTime.UtcNow,
                                        IdModulo = IdNewModulo,
                                        IdTipoUsuario = IdRol
                                    });
                            }
                        }
                        if (chdQry3 != null && chdQry3.Count() > 0)
                        {
                            foreach (int IdNewModulo in chdQry3)
                            {
                                if (db.Modulo_TipoUsuario.Where(x => x.IdModulo == IdNewModulo && x.IdTipoUsuario == IdRol).Count() == 0)
                                    Modulos.Add(new Modulo_TipoUsuario
                                    {
                                        FechaAsignacion = DateTime.UtcNow,
                                        IdModulo = IdNewModulo,
                                        IdTipoUsuario = IdRol
                                    });
                            }
                        }
                        if (chdQry4 != null && chdQry4.Count() > 0)
                        {
                            foreach (int IdNewModulo in chdQry4)
                            {
                                if (db.Modulo_TipoUsuario.Where(x => x.IdModulo == IdNewModulo && x.IdTipoUsuario == IdRol).Count() == 0)
                                    Modulos.Add(new Modulo_TipoUsuario
                                    {
                                        FechaAsignacion = DateTime.UtcNow,
                                        IdModulo = IdNewModulo,
                                        IdTipoUsuario = IdRol
                                    });
                            }
                        }

                        db.Modulo_TipoUsuario.AddRange(Modulos);

                        while (modulo.IdModuloPadre != null)
                        {
                            long idModuloPadre = (long)modulo.IdModuloPadre;

                            if (db.Modulo_TipoUsuario.Where(x => x.IdModulo == idModuloPadre && x.IdTipoUsuario == IdRol).Count() == 0)
                                db.Modulo_TipoUsuario.Add(new Modulo_TipoUsuario
                                {
                                    FechaAsignacion = DateTime.UtcNow,
                                    IdModulo = idModuloPadre,
                                    IdTipoUsuario = IdRol
                                });

                            modulo = db.Modulo.Where(x => x.IdModulo == idModuloPadre).FirstOrDefault();
                        }
                    }
                    else
                    {
                        Modulo_TipoUsuario moduloUsuario = db.Modulo_TipoUsuario.Where(x => x.IdModulo == IdModulo && x.IdTipoUsuario == IdRol).FirstOrDefault();
                        db.Modulo_TipoUsuario.Remove(moduloUsuario);

                        var inQry1 = db.Modulo.Where(x => x.IdModuloPadre == IdModulo).Select(x => x.IdModulo);
                        var inQry2 = from m in db.Modulo where inQry1.Contains((long)m.IdModuloPadre) select m.IdModulo;
                        var inQry3 = from m in db.Modulo where inQry2.Contains((long)m.IdModuloPadre) select m.IdModulo;
                        var inQry4 = from m in db.Modulo where inQry3.Contains((long)m.IdModuloPadre) select m.IdModulo;
                        var data = from m in db.Modulo_TipoUsuario
                                   where (inQry1.Contains(m.IdModulo)
                                        || inQry2.Contains(m.IdModulo)
                                        || inQry3.Contains(m.IdModulo)
                                        || inQry4.Contains(m.IdModulo)) && m.IdTipoUsuario == IdRol
                                   select m;
                        db.Modulo_TipoUsuario.RemoveRange(data);
                        List<Modulo_TipoUsuario> forDelete = new List<Modulo_TipoUsuario>();
                        long IdModuloSelected = modulo.IdModulo;

                        while (modulo.IdModuloPadre != null)
                        {

                            long IdModuloPadreDelete = (long)modulo.IdModuloPadre;
                            long Childs = db.Modulo_TipoUsuario.Where(x => x.Modulo.IdModuloPadre == IdModuloPadreDelete && x.IdTipoUsuario == IdRol && x.IdModulo != IdModuloSelected).Count();

                            if (Childs == 0)
                            {
                                Modulo_TipoUsuario DeleteModulo = db.Modulo_TipoUsuario.Where(x => x.IdModulo == modulo.IdModuloPadre && x.IdTipoUsuario == IdRol).FirstOrDefault();
                                if (DeleteModulo != null)
                                    forDelete.Add(DeleteModulo);
                            }
                            else if (Childs == 1)
                            {
                                Modulo_TipoUsuario ChildModulo = db.Modulo_TipoUsuario.Where(x => x.Modulo.IdModuloPadre == IdModuloPadreDelete && x.IdTipoUsuario == IdRol && x.IdModulo != IdModuloSelected).FirstOrDefault();
                                if (forDelete.Contains(ChildModulo))
                                {
                                    Modulo_TipoUsuario DeleteModulo = db.Modulo_TipoUsuario.Where(x => x.IdModulo == modulo.IdModuloPadre && x.IdTipoUsuario == IdRol).FirstOrDefault();
                                    forDelete.Add(DeleteModulo);
                                }
                            }

                            modulo = db.Modulo.Where(x => x.IdModulo == IdModuloPadreDelete).FirstOrDefault();
                        }

                        db.Modulo_TipoUsuario.RemoveRange(forDelete);
                        
                    }

                    db.SaveChanges();
                }


            }
            catch (Exception ex)
            {
                throw ex;
            }

            string returnURL = Url.Action("Roles", "Seguridad", new { Id = IdRol }).ToString();
            return Json(returnURL);
        }
        public ActionResult Roles(RolesViewModel model)
        {

            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Menu = ClasesVarias.GetMenuUsuario();
            ViewBag.Title = Resources.RolesResource.RolesPageTitle;
            ViewBag.PageHeader = Resources.RolesResource.RolesHeaderPage;
            model.Roles = ClasesVarias.GetNivelesUsuario();
            model.showModulos = false;
            if (model.RolID > 0)
            {
                model.showModulos = true;
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    model.Modulos = (from d in db.Modulo
                                     select new RolViewModel
                                     {
                                         Asignado = (d.Modulo_TipoUsuario.Where(x => x.IdTipoUsuario == model.RolID).Count() > 0),
                                         FechaAsignacion = (DateTime)d.Modulo_TipoUsuario.Where(x => x.IdTipoUsuario == model.RolID).FirstOrDefault().FechaAsignacion,
                                         IdModulo = d.IdModulo,
                                         IdTipoUsuario = model.RolID,
                                         Modulo = d.Nombre,
                                         ModuloPadre = (d.Modulo2 != null ? d.Modulo2.Nombre : string.Empty)
                                     }).ToList();

                }
            }
            else
            {
                model.showModulos = false;
                model.Modulos = new List<RolViewModel>();
            }

            return View(model);
        }
        public ActionResult DeleteModulo(long id)
        {

            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            string Nombre = string.Empty;

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Modulo modulo = db.Modulo.Where(x => x.IdModulo == id).FirstOrDefault();
                Nombre = modulo.Nombre;
                db.Modulo_TipoUsuario.RemoveRange(modulo.Modulo_TipoUsuario);
                db.Modulo.Remove(modulo);
                db.SaveChanges();

            ClasesVarias.AddBitacoraUsuario(db,
               "Módulo " + Nombre,
               105000003,
               "Eliminar");

            }

            return RedirectToAction("Modulos");
        }
        public ActionResult EditModulo(ModuloViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            if (!ModelState.IsValid)
            {
                ViewBag.Title = Resources.ModuloResource.EditModuloPageTitle;
                ViewBag.PageHeader = Resources.ModuloResource.EditModuloHeaderPage;
                return View(model);
            }

            using (SeguricelEntities db = new SeguricelEntities())
            {

                Modulo modulo = (from m in db.Modulo
                                 where m.IdModulo == model.IdModulo
                                 select m).FirstOrDefault();

                modulo.Action = model.Action;
                modulo.Activo = model.Activo;
                modulo.Controller = model.Controller;
                modulo.IdModuloPadre = (((eTipoElementoMenu)model.IdTipoElemento) != eTipoElementoMenu.Nivel1 ? model.IdModuloPadre : (int?)null);
                modulo.IdTipoElemento = model.IdTipoElemento;
                modulo.Nombre = model.Nombre;

                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                   "Módulo " + model.Nombre,
                   105000003,
                   "Actualizar");

            }

            return RedirectToAction("Modulos");
        }
        public ActionResult EditModulo(long id)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Title = Resources.ModuloResource.EditModuloPageTitle;
            ViewBag.PageHeader = Resources.ModuloResource.EditModuloHeaderPage;
            ModuloViewModel model = new ModuloViewModel();

            using (SeguricelEntities db = new SeguricelEntities())
            {

                model = (from d in db.Modulo
                         where d.IdModulo == id
                         select new ModuloViewModel
                         {
                             Action = d.Action,
                             Activo = d.Activo,
                             Controller = d.Controller,
                             IdModulo = d.IdModulo,
                             IdModuloPadre = (int)(d.IdModuloPadre == null ? 0 : d.IdModuloPadre),
                             IdTipoElemento = d.IdTipoElemento,
                             ModuloPadre = (d.Modulo2 == null ? string.Empty : d.Modulo2.Nombre),
                             Nombre = d.Nombre,
                             TipoElemento = ((eTipoElementoMenu)d.IdTipoElemento).ToString()
                         }).FirstOrDefault();

            }

            return View(model);
        }
        public ActionResult EditContacto(int IdPais, Guid IdContrato, Guid IdContacto)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Title = Resources.ContratoContactoResource.EditPageTitle;
            ViewBag.PageHeader = Resources.ContratoContactoResource.EditHeaderPage;

            ContactoViewModel Model = new ContactoViewModel();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Contrato_Contacto contacto = (from d in db.Contrato_Contacto
                                              where d.IdContrato == IdContrato && d.IdPersonaContacto == IdContacto
                                              select d).FirstOrDefault();

                if (contacto != null) {
                    Model = new ContactoViewModel
                    {
                        IdCargoJunta = contacto.IdCargoJunta,
                        IdContacto = contacto.IdPersonaContacto,
                        IdContrato = contacto.IdContrato,
                        Nombre = contacto.Nombre,
                        IdPais = IdPais,
                        TelefonoFijo = int.Parse(contacto.TelefonoFijo),
                        TelefonoMovil = int.Parse(contacto.TelefonoMovil)
                    };
                }
            }
            Model.CargosJunta = ClasesVarias.GetCargosJunta();

            return View(Model);
        }
        public ActionResult CreateAdministradora(AdministradoraViewModel model)
        {
            ViewBag.Title = Resources.AdministradorasResources.CreatePageTitle;
            ViewBag.PageHeader = Resources.AdministradorasResources.CreateHeaderPage;

            if (ModelState.IsValid)
            {
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    Contrato_Administradora record = new Contrato_Administradora
                    {
                        CodigoPostal = model.CodigoPostal,
                        CorreoElectronicoAdministradora = model.CorreoAdministradora,
                        CorreoElectronicoContacto = model.CorreoContacto,
                        Direccion = model.Direccion,
                        IdCiudad = model.IdCiudad,
                        IdEstado = model.IdEstado,
                        IdPais = model.IdPais,
                        IdAdministradora = Guid.NewGuid(),
                        Nombre = model.Nombre,
                        NombreContacto = model.NombreContacto,
                        Rif = model.Rif,
                        TelefonoCelular1 = model.TelefonoCelular1,
                        TelefonoCelular2 = (model.TelefonoCelular2 == null ? string.Empty : model.TelefonoCelular2),
                        TelefonoFax = (model.TelefonoFax == null ? string.Empty : model.TelefonoFax),
                        TelefonoOficina = model.TelefonoOficina
                    };
                    db.Contrato_Administradora.Add(record);
                    db.SaveChanges();

                    ClasesVarias.AddBitacoraUsuario(db,
                       "Administradora " + model.Nombre + "en " + db.Pais.Where(x => x.IdPais == model.IdPais).Select(x => x.Nombre).FirstOrDefault(),
                       102000001,
                       "Agregar");

                }
                return RedirectToAction("Administradoras", new { IdPais = model.IdPais});
            }

            model.EstadosDisponibles = ClasesVarias.GetEstados(model.IdPais);
            if (model.IdEstado > 0)
                model.Ciudades = ClasesVarias.GetCiudades(model.IdPais, model.IdEstado);
            else
                model.Ciudades = new SelectList(string.Empty, "Value", "Text");

            return View(model);
        }
Esempio n. 52
0
        private ActionResult ConectarUsuario(Usuario dataUsuario, SeguricelEntities db)
        {
            try
            {
                dataUsuario.IdEstadoUsuario = (int)eEstadoUsuario.Conectado;
                dataUsuario.FechaUltimaConexion = DateTime.UtcNow;
                dataUsuario.FechaCambioEstatus = DateTime.UtcNow;

                Usuario_Bitacora newBitacora = new Usuario_Bitacora()
                {
                    Accion = "Ingresando al Sistema",
                    DireccionIP_Privada = ClasesVarias.GetLocalIPAddress(),
                    DireccionIP_Publica = ClasesVarias.GetPublicIPAddress(),
                    FechaRegistro = DateTime.UtcNow,
                    IdUsuario = dataUsuario.IdUsuario,
                    IdBitacora = Guid.NewGuid(),
                    Observacion = ""
                };
                db.Usuario_Bitacora.Add(newBitacora);
                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                throw e;
            }

            if (Request.UserLanguages != null && Request.UserLanguages.Length > 0)
                Session["Culture"] = Request.UserLanguages[0];
            else
                Session["Culture"] = "en-US";

            switch ((eTipoUsuario)dataUsuario.IdTipoUsuario)
            {
                case eTipoUsuario.Instalador:
                    return RedirectToAction("Index", "Instalacion");
                case eTipoUsuario.Atención_Cliente:
                    return RedirectToAction("Index", "Atencion");
                case eTipoUsuario.Administrador_Sistema:
                case eTipoUsuario.Administrador:
                    return RedirectToAction("Index", "Administracion");
                case eTipoUsuario.Vendedor:
                    return RedirectToAction("Index", "Ventas");
                case eTipoUsuario.Administradora:
                    return RedirectToAction("Index", "Administradora");
                case eTipoUsuario.Firmware:
                    return RedirectToAction("Index", "Firmware");
                case eTipoUsuario.Franquiciado:
                    return RedirectToAction("Index", "Franquicia");
                case eTipoUsuario.Software:
                    return RedirectToAction("Index", "Software");
                default:
                    return RedirectToAction("Index", "Cliente");
            }
        }
        public ActionResult EditAdministradora(int IdPais, Guid Id)
        {
            ViewBag.Title = Resources.AdministradorasResources.CreatePageTitle;
            ViewBag.PageHeader = Resources.AdministradorasResources.CreateHeaderPage;
            AdministradoraViewModel model = new AdministradoraViewModel();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                model = (from d in db.Contrato_Administradora
                         where d.IdPais == IdPais && d.IdAdministradora == Id
                         select new AdministradoraViewModel
                         {
                             CodigoPostal = d.CodigoPostal,
                             CorreoAdministradora = d.CorreoElectronicoAdministradora,
                             CorreoContacto = d.CorreoElectronicoContacto,
                             Direccion = d.Direccion,
                             Id = d.IdAdministradora,
                             IdCiudad = d.IdCiudad,
                             IdEstado = d.IdEstado,
                             IdPais = d.IdPais,
                             Nombre = d.Nombre,
                             NombreContacto = d.NombreContacto,
                             Rif = d.Rif,
                             TelefonoCelular1 = d.TelefonoCelular1,
                             TelefonoCelular2 = (d.TelefonoCelular2 == null ? string.Empty : d.TelefonoCelular2),
                             TelefonoFax = (d.TelefonoFax == null ? string.Empty : d.TelefonoFax),
                             TelefonoOficina = d.TelefonoOficina
                         }).FirstOrDefault();
            }
            model.EstadosDisponibles = ClasesVarias.GetEstados(model.IdPais);
            if (model.IdEstado > 0)
                model.Ciudades = ClasesVarias.GetCiudades(model.IdPais, model.IdEstado);
            else
                model.Ciudades = new SelectList(string.Empty, "Value", "Text");


            return View(model);
        }
        public JsonResult AddCargo(string Nombre, string strIdPais)
        {
            int IdPais = int.Parse(strIdPais);

            using (SeguricelEntities db = new SeguricelEntities())
            {
                int NextId = 0;
                NextId = (db.TipoCargoJuntaCondominio.Where(x => x.Culture == User.Culture).Select(x => (int?)x.IdCargoJunta).Max() ?? 0);

                NextId += 1;

                TipoCargoJuntaCondominio tipoCargo = new TipoCargoJuntaCondominio()
                {
                    Culture = User.Culture,
                    IdPais = IdPais,
                    IdCargoJunta = NextId,
                    Nombre = Nombre
                };

                db.TipoCargoJuntaCondominio.Add(tipoCargo);
                db.SaveChanges();

            }

            IEnumerable<SelectListItem> CargosJunta = ClasesVarias.GetCargosJunta();

            return Json(new SelectList(CargosJunta, "Value", "Text"));
        }
        public ActionResult DeleteAdministradora(int IdPais, Guid Id)
        {

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Contrato_Administradora Administradora = (from d in db.Contrato_Administradora
                                                          where d.IdPais == IdPais && d.IdAdministradora == Id
                                                          select d).FirstOrDefault();
                string Nombre = Administradora.Nombre;
                db.Contrato_Administradora.Remove(Administradora);
                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                   "Administradora " + Nombre + "en " + db.Pais.Where(x => x.IdPais == IdPais).Select(x => x.Nombre).FirstOrDefault(),
                   102000001,
                   "Eliminar");

            }

            return RedirectToAction("Administradoras", new { IdPais });
        }
        public JsonResult AddAdministradora(string Nombre, string strIdPais, string strIdEstado, string strIdCiudad)
        {
            string newGuid = string.Empty;
            int IdPais = int.Parse(strIdPais);
            int IdEstado = int.Parse(strIdEstado);
            int IdCiudad = int.Parse(strIdCiudad);

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Contrato_Administradora Administradora = new Contrato_Administradora()
                {
                    CodigoPostal = string.Empty,
                    CorreoElectronicoAdministradora = string.Empty,
                    CorreoElectronicoContacto = string.Empty,
                    Direccion = string.Empty,
                    IdAdministradora = Guid.NewGuid(),
                    IdCiudad = IdCiudad,
                    IdEstado = IdEstado,
                    IdPais = IdPais,
                    Nombre = Nombre,
                    NombreContacto = string.Empty,
                    Rif = string.Empty,
                    TelefonoCelular1 = string.Empty,
                    TelefonoCelular2 = string.Empty,
                    TelefonoFax = string.Empty,
                    TelefonoOficina = string.Empty,
                };

                db.Contrato_Administradora.Add(Administradora);
                db.SaveChanges();

            }

            IEnumerable<SelectListItem> Administradoras = ClasesVarias.GetAdministradoras(IdPais);

            return Json(new SelectList(Administradoras, "Value", "Text"));
        }
        public ActionResult CreateUsuario(UsuarioViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            if (!ModelState.IsValid)
            {
                ViewBag.Title = Resources.UsuarioSeguridadResource.CreateUsuarioPageTitle;
                ViewBag.PageHeader = Resources.UsuarioSeguridadResource.CreateUsuarioHeaderPage;
                return View(model);
            }

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Encriptador Encrypt = new Encriptador();
                Encrypt.InicioClaves("53gur1cel!n37", "4LC_C0MUN1C4C10N35@S3GUR1C3L!N37", "53gur1c3l!4lcC0mun1c4c10n35@s3gur1c3lgm41l!c0m", 5);
                string encryptedPassword = Encrypt.Encriptar(model.PasswordUsuario, Encriptador.HasAlgorimt.SHA1, Encriptador.Keysize.KS256);

                Usuario usuario = new Usuario
                {
                    ClaveUsuario = encryptedPassword,
                    Email = model.EmailUsuario,
                    CodigoUsuario = string.Empty,
                    FechaCambioEstatus = DateTime.UtcNow,
                    FechaUltimaConexion = DateTime.UtcNow,
                    IdEstadoUsuario = (int)eEstadoUsuario.Activo,
                    IdTipoUsuario = model.IdTipoUsuario,
                    IdUsuario = Guid.NewGuid(),
                    Nombre = model.Nombre,
                    Pregunta1 = string.Empty,
                    Pregunta2 = string.Empty,
                    Pregunta3 = string.Empty,
                    PrimeraVez = true,
                    Respuesta1 = string.Empty,
                    Respuesta2 = string.Empty,
                    Respuesta3 = string.Empty
                };

                db.Usuario.Add(usuario);
                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                   "Usuario para " + model.Nombre,
                   105000001,
                   "Agregar");

            }
            return RedirectToAction("Usuarios");
        }
        public ActionResult Modulos()
        {

            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Menu = ClasesVarias.GetMenuUsuario();
            ViewBag.Title = Resources.ModuloResource.ModulosPageTitle;
            ViewBag.PageHeader = Resources.ModuloResource.ModulosHeaderPage;

            List<ModuloViewModel> data = new List<ModuloViewModel>();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                data = (from d in db.Modulo
                        select new ModuloViewModel
                        {
                            Action = d.Action,
                            Activo = d.Activo,
                            Controller = d.Controller,
                            IdModulo = d.IdModulo,
                            IdModuloPadre = (long)(d.IdModuloPadre == null ? d.IdModulo : d.IdModuloPadre),
                            IdTipoElemento = d.IdTipoElemento,
                            ModuloPadre = (d.Modulo2 == null ? d.Nombre : d.Modulo2.Nombre),
                            TipoElemento = ((eTipoElementoMenu)d.IdTipoElemento).ToString(),
                            Nombre = d.Nombre
                        }).ToList();
            }

            return View(data);
        }
Esempio n. 59
0
        public ActionResult Checklogin(LoginViewModel model, string returnUrl)
        {
            ViewBag.Title = Resources.LoginResource.PageTitle;
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            // No cuenta los errores de inicio de sesión para el bloqueo de la cuenta
            // Para permitir que los errores de contraseña desencadenen el bloqueo de la cuenta, cambie a shouldLockout: true
            //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);

            Encriptador Encrypt = new Encriptador();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Encrypt.InicioClaves("53gur1cel!n37", "4LC_C0MUN1C4C10N35@S3GUR1C3L!N37", "53gur1c3l!4lcC0mun1c4c10n35@s3gur1c3lgm41l!c0m", 5);
                string encryptedPassword = Encrypt.Encriptar(model.Password, Encriptador.HasAlgorimt.SHA1, Encriptador.Keysize.KS256);

                Usuario dataUsuario = (from u in db.Usuario
                                       where (u.CodigoUsuario == model.Email | u.Email == model.Email) && u.ClaveUsuario == encryptedPassword
                                       select u).FirstOrDefault();

                if (dataUsuario != null)
                {
                    switch ((eEstadoUsuario)dataUsuario.IdEstadoUsuario)
                    {
                        case eEstadoUsuario.Conectado:
                        case eEstadoUsuario.Activo:
                            string[] utz = model.UserTimeZone.Split(':');
                            int hourZone;
                            int minZone;
                            if (utz.Length <= 0)
                            {
                                hourZone = 0;
                                minZone = 0;
                            }
                            else
                            {
                                hourZone = int.Parse(utz[0]);
                                minZone = int.Parse(utz[1]);
                            }

                            CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel()
                            {
                                Email = dataUsuario.Email,
                                Estado = (eEstadoUsuario)dataUsuario.IdEstadoUsuario,
                                Id = dataUsuario.IdUsuario,
                                FechaUltimaConexion = DateTime.UtcNow,
                                Name = dataUsuario.Nombre,
                                IdTipoUsuario = dataUsuario.IdTipoUsuario,
                                HoursTimeZone = hourZone,
                                MinutesTimeZone = minZone,
                                Culture = Request.UserLanguages[0],
                                DefaultCulture = "es-VE"
                            };

                            string _jsonUserData = JsonConvert.SerializeObject(serializeModel);
                            FormsAuthenticationTicket authTicket =
                                new FormsAuthenticationTicket(1, serializeModel.Email,
                                    DateTime.UtcNow.AddHours(-4).AddMinutes(-30),
                                    DateTime.UtcNow.AddHours(-4).AddMinutes(-15),
                                    false, _jsonUserData);
                            string encTicket = FormsAuthentication.Encrypt(authTicket);
                            HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
                            bool PrimeraVez = false;

                            /*if (dataUsuario.FechaUltimaConexion == null)
                                PrimeraVez = true;*/
                            PrimeraVez = dataUsuario.PrimeraVez;

                            Response.Cookies.Add(faCookie);
                            Session["user"] = encTicket;

                            if (PrimeraVez)
                                return RedirectToAction("Perfil", "Account");
                            else
                            {
                                return ConectarUsuario(dataUsuario, db);
                            }
                        case eEstadoUsuario.Inactivo:
                            ModelState.AddModelError("", Resources.LoginResource.LoginFailedMessageInactivo);
                            break;
                        case eEstadoUsuario.Bloqueado:
                            ModelState.AddModelError("", Resources.LoginResource.LoginFailedMessageBloqueado);
                            break;
                        default:
                            ModelState.AddModelError("", Resources.LoginResource.LoginFailedMessage);
                            break;
                    }
                }
                else
                {
                    ModelState.AddModelError("", Resources.LoginResource.LoginFailedMessage);
                }
            }
            return View(model);

        }
        public ActionResult EditUsuario(Guid id)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Title = Resources.UsuarioSeguridadResource.CreateUsuarioPageTitle;
            ViewBag.PageHeader = Resources.UsuarioSeguridadResource.CreateUsuarioHeaderPage;
            UsuarioViewModel model = new UsuarioViewModel();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                Encriptador Encrypt = new Encriptador();
                Encrypt.InicioClaves("53gur1cel!n37", "4LC_C0MUN1C4C10N35@S3GUR1C3L!N37", "53gur1c3l!4lcC0mun1c4c10n35@s3gur1c3lgm41l!c0m", 5);

                Usuario usuario = (from d in db.Usuario
                                   where d.IdUsuario == id
                                   select d).FirstOrDefault();

                string decryptedPassword = Encrypt.Encriptar(usuario.ClaveUsuario, Encriptador.HasAlgorimt.SHA1, Encriptador.Keysize.KS256);
                if (usuario != null)
                {
                    model.ConfirmPasswordUsuario = decryptedPassword;
                    model.EmailUsuario = usuario.Email;
                    model.Estado = usuario.IdEstadoUsuario;
                    model.Id = usuario.IdUsuario;
                    model.IdTipoUsuario = usuario.IdTipoUsuario;
                    model.Nombre = usuario.Nombre;
                    model.PasswordUsuario = decryptedPassword;
                }
            }

            return View(model);
        }