コード例 #1
0
        public ActionResult MisDatos()
        {
            Castellano.Persona persona = Castellano.Persona.Get(new Guid(this.User.Identity.Name));

            Castellano.Web.UI.Areas.Administracion.Models.Persona model = new Castellano.Web.UI.Areas.Administracion.Models.Persona
            {
                Id                     = persona.Id,
                Run                    = persona.Run,
                RunCuerpo              = persona.RunCuerpo,
                RunDigito              = persona.RunDigito,
                Nombres                = persona.Nombres,
                ApellidoPaterno        = persona.ApellidoPaterno,
                ApellidoMaterno        = persona.ApellidoMaterno,
                Email                  = persona.Email,
                SexoCodigo             = persona.SexoCodigo,
                FechaNacimiento        = persona.FechaNacimiento,
                NacionalidadCodigo     = persona.NacionalidadCodigo,
                EstadoCivilCodigo      = persona.EstadoCivilCodigo,
                NivelEducacionalCodigo = persona.NivelEducacionalCodigo,
                RegionCodigo           = persona.RegionCodigo,
                CiudadCodigo           = persona.CiudadCodigo,
                ComunaCodigo           = persona.ComunaCodigo,
                VillaPoblacion         = persona.VillaPoblacion,
                Direccion              = persona.Direccion,
                Telefono               = persona.Telefono,
                Celular                = persona.Celular,
                Observaciones          = persona.Observaciones,
                Ocupacion              = persona.Ocupacion,
                TelefonoLaboral        = persona.TelefonoLaboral,
                DireccionLaboral       = persona.DireccionLaboral,
            };

            return(this.View(model));
        }
コード例 #2
0
 public static List <Castellano.Empresa> GetAll(Castellano.Persona persona, Aplicacion aplicacion)
 {
     return
         ((
              from query in Query.GetEmpresas(persona, aplicacion)
              orderby query.RazonSocial
              select query
              ).ToList <Castellano.Empresa>());
 }
コード例 #3
0
 public static List <Castellano.CentroCosto> GetAll(Castellano.Persona persona, Castellano.Empresa empresa, Aplicacion aplicacion)
 {
     return
         ((
              from query in Query.GetCentroCostos(persona, empresa, aplicacion)
              orderby query.Nombre
              select query
              ).ToList <Castellano.CentroCosto>());
 }
コード例 #4
0
        public ActionResult Login(Castellano.Web.UI.Models.Home.Login model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }

            string textoRun = model.Run.Replace(".", string.Empty).Replace("-", string.Empty);

            int  runCuerpo = int.Parse(textoRun.Substring(0, textoRun.Length - 1));
            char runDigito = char.Parse(textoRun.Replace(runCuerpo.ToString(), string.Empty));

            Castellano.Persona persona = Castellano.Persona.Get(runCuerpo, runDigito);

            Castellano.Membresia.LoginStatus loginStatus = Castellano.Membresia.Account.DoLogin(persona, model.Password);

            if (loginStatus == Castellano.Membresia.LoginStatus.InvalidRunOrPassword)
            {
                this.ModelState.AddModelError("loginError", "R.U.N. o contraseña incorrectos. Verifique sus datos e inténte acceder nuevamente.");

                return(this.View(model));
            }
            else if (loginStatus == Castellano.Membresia.LoginStatus.NotAccessAllowed)
            {
                this.ModelState.AddModelError("loginError", "Usted no tiene suficientes permisos para ingresar a la aplicación. Por favor contacte al administrador.");

                return(this.View(model));
            }
            else if (loginStatus == Castellano.Membresia.LoginStatus.UserApprovedOut)
            {
                this.ModelState.AddModelError("loginError", "Su cuenta de acceso a sido caducada. Por favor contacte al administrador del sistema.");

                return(this.View(model));
            }
            else if (loginStatus == Castellano.Membresia.LoginStatus.UserLocked)
            {
                this.ModelState.AddModelError("loginError", "Su cuenta de acceso a sido bloqueada por exceder el máximo de intentos fallidos permitidos.");

                return(this.View(model));
            }

            System.Web.Security.FormsAuthenticationTicket ticket = new System.Web.Security.FormsAuthenticationTicket(1, persona.Id.ToString(), DateTime.Now, DateTime.Now.AddYears(1), model.RememberMe, "CASTELLANO_AUTHENTICATE");

            string cookie = System.Web.Security.FormsAuthentication.Encrypt(ticket);

            HttpCookie httpCookie = new HttpCookie(System.Web.Security.FormsAuthentication.FormsCookieName, cookie);

            System.Web.Security.FormsAuthentication.SetAuthCookie(persona.Id.ToString(), model.RememberMe);

            this.Response.Cookies.Add(httpCookie);

            return(this.RedirectToAction("Index", "Admin", new { area = "Administracion" }));
        }
コード例 #5
0
        public static MvcHtmlString Menu(this HtmlHelper helper, Guid usuarioId)
        {
            Castellano.Membresia.Usuario usuario = Castellano.Membresia.Usuario.Get(usuarioId);

            Castellano.Persona persona = usuario.Persona;

            TagBuilder t = new TagBuilder("ul");

            t.Attributes.Add("id", "MenuPrincipal");

            t.AddCssClass("cl-vnavigation");

            bool primero = true;

            foreach (Castellano.Membresia.Aplicacion aplicacion in Castellano.Membresia.Aplicacion.GetAll(persona))
            {
                List <Castellano.Membresia.MenuItem> itemPadre = Castellano.Membresia.MenuItem.GetAll(Castellano.Membresia.Menu.MenuPrincipal, aplicacion, aplicacion.Inicio);

                t.InnerHtml += "<li><a href='#'><i class='fa fa-home'></i><span>" + aplicacion.Nombre + "</span></a>";
                t.InnerHtml += "<ul class='sub-menu'>";

                foreach (Castellano.Membresia.MenuItem menuItem in itemPadre)
                {
                    List <Castellano.Membresia.MenuItem> items = Castellano.Membresia.MenuItem.GetAll(menuItem);

                    if (items.Any())
                    {
                        if (primero)
                        {
                            t.InnerHtml += "<li class='active'><a href='#'><span>" + menuItem.Nombre + "</span><i class='fa fa-chevron-down'></i></a>";

                            primero = false;
                        }
                        else
                        {
                            t.InnerHtml += "<li><a href='#'>" + menuItem.Nombre + "<i class='fa fa-chevron-down'></i></a>";
                        }

                        t.InnerHtml += "<ul class='sub-menu'>";
                        t.InnerHtml += MenuExtension.MenuString(menuItem, 10);
                        t.InnerHtml += "</ul></li>";
                    }
                    else
                    {
                        if (primero)
                        {
                            t.InnerHtml += string.Format("<li class='active'><a href='{0}'>{1}</a></li>", menuItem.Url, menuItem.Nombre);

                            primero = false;
                        }
                        else
                        {
                            t.InnerHtml += string.Format("<li><a href='{0}'>{1}</a></li>", menuItem.Url, menuItem.Nombre);
                        }
                    }
                }

                t.InnerHtml += "</ul></li>";
            }

            return(new MvcHtmlString(t.ToString(TagRenderMode.Normal)));
        }
コード例 #6
0
 public static bool Exists(Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Castellano.Persona persona, MenuItem menuItem, Accion accion)
 {
     return(Query.GetRolAcciones(empresa, centroCosto, persona, menuItem).Any <RolAccion>(x => x.MenuItemAccion.Accion.Equals(accion)));
 }
コード例 #7
0
 public static bool Exists(Rol rol, Castellano.Persona persona, Castellano.Empresa empresa)
 {
     return(Query.GetRolPersonaEmpresas(persona, empresa).Any <RolPersonaEmpresa>(x => x.Rol == rol));
 }