예제 #1
0
        public void UiOrderingManager(OrderQuery order, string tableName, string pkName = "Id")
        {
            string query = null;

            if (order.ToPosition > order.FromPosition)
            {
                query = @"Update " + tableName + " set [Order] = [Order]-1 where [Order] between " + order.FromPosition + "+1 and " + order.ToPosition + "";
            }
            if (order.ToPosition < order.FromPosition)
            {
                query = @"Update " + tableName + " set [Order] = [Order]+1 where [Order] between " + order.ToPosition + " and " + order.FromPosition + "-1";
            }

            using (var db = new MvcDemoContext())
            {
                if (query != null)
                {
                    db.Database.ExecuteSqlCommand(query);
                    query = @"UPDATE " + tableName + " SET [Order]=" + order.ToPosition + " WHERE " + pkName + " = " +
                            order.Id + "";
                    db.Database.ExecuteSqlCommand(query);
                }
                db.SaveChanges();
            }
        }
예제 #2
0
        private List <ModulesViewModel> BuildTree()
        {
            var vm = new List <ModulesViewModel>();

            using (var db = new MvcDemoContext())
            {
                var modulos = db.Modules.OrderBy(x => x.Order).ToList();
                var usuario = CarregarUsuario(db);
                var usuarioGrupoPermissao = db.UserGroupPermissions
                                            .FirstOrDefault(x => x.UserId == usuario.UserId);
                var permissaoFuncionalidade = db.FunctionalityPermissions.Where(x => x.PermissionGroupId == usuarioGrupoPermissao.PermissionGroupId && x.Read == true);
                var functionalities         = new List <Functionality>();
                foreach (var item in permissaoFuncionalidade)
                {
                    functionalities.Add(item.Functionality);
                }

                foreach (var modulo in modulos)
                {
                    var model = new ModulesViewModel
                    {
                        Nome            = modulo.Name,
                        ModuloId        = (int)modulo.ModuleId,
                        Icone           = modulo.Icon,
                        Ordem           = modulo.Order,
                        Functionalities = functionalities.Where(x => x.ModuleId == modulo.ModuleId).OrderBy(x => x.Order).ToList()
                    };
                    vm.Add(model);
                }
            }
            return(vm);
        }
예제 #3
0
        private User CarregarUsuario(MvcDemoContext db)
        {
            var userPerfil = this.LoadUserProfileLoggedIn();
            var user       = this.GetLoggedUser();
            var usuario    = db.Users.Find(user);

            return(usuario);
        }
예제 #4
0
        static void Main(string[] args)
        {
            using (var db = new MvcDemoContext())
            {
                /*
                 * // Display all Blogs from the database
                 * var queryClients = from b in db.Portals
                 *          orderby b.PortalName
                 *          select b;
                 *
                 * Console.WriteLine("All clients(portals) in the database:");
                 * foreach (var item in queryClients)
                 * {
                 *  Console.WriteLine(string.Format("PortalId: {0} - {1}", item.Id, item.PortalName));
                 * }
                 *
                 * Console.WriteLine("Press any key to exit...");
                 * Console.ReadKey();
                 *
                 *
                 * //Portals can have multiple Courses.
                 * var queryCourses = from b in db.CoursePortals
                 *          where b.PortalId == 449
                 *          orderby b.CoursePortalName
                 *          select b;
                 *
                 * Console.WriteLine("All courses for client 449 in the database:");
                 * foreach (var item in queryCourses)
                 * {
                 *  Console.WriteLine(string.Format("CoursePortalId: {0} - {1}", item.Id, item.CoursePortalName));
                 * }
                 *
                 * Console.WriteLine("Press any key to exit...");
                 * Console.ReadKey();
                 *
                 */
                var results = from r in db.Registrations
                              join u in db.Users on r.UserId equals u.Id
                              where (r.CoursePortalId == 100003)
                              select new UserModel
                {
                    Id               = u.Id,
                    FirstName        = u.FirstName,
                    LastName         = u.LastName,
                    RegistrationTime = r.RegistrationTime
                };

                foreach (var item in results)
                {
                    Console.WriteLine(string.Format("UserId: {0} - {1} - {2} - {3}", item.Id, item.FirstName, item.LastName, item.RegistrationTime));
                }

                Console.WriteLine("Press any key to exit...");
                Console.ReadKey();
            }
        }
예제 #5
0
        public CarsController(MvcDemoContext ctx)
        {
            _ctx = ctx;

            if (_ctx.Cars.Count() == 0)
            {
                _ctx.Cars.Add(
                    new Car
                {
                    BrandName          = "DMC",
                    ModelName          = "Delorian",
                    YearOfConstruction = 1985
                });
                _ctx.SaveChanges();
            }
        }
예제 #6
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var actionDescriptor = filterContext.ActionDescriptor;

            ActionName     = actionDescriptor.ActionName;
            ControllerName = actionDescriptor.ControllerDescriptor.ControllerName;

            var permissionsCore = (filterContext.HttpContext.Session?["permissions"] as List <ModulesViewModel>);

            if (permissionsCore != null)
            {
                var funcionalidades = permissionsCore.SingleOrDefault(x => x.Functionalities.Any(m => m.Url == ControllerName));
                var funcExistente   = funcionalidades?.Functionalities.FirstOrDefault(x => x.Url == ControllerName);
                if (funcExistente != null)
                {
                    using (var db = new MvcDemoContext())
                    {
                        var userId = Convert.ToInt64(System.Web.HttpContext.Current.User.Identity.Name);

                        var userPerfil = this.LoadUserProfileLoggedIn();
                        var permiss    = db.FunctionalityPermissions.FirstOrDefault(x => x.FunctionalityId == funcExistente.FunctionalityId && x.PermissionGroup.ProfileTypeId == userPerfil);

                        if (permiss != null)
                        {
                            var grupo = db.UserGroupPermissions.FirstOrDefault(x => x.UserId == userId && x.PermissionGroupId == permiss.PermissionGroupId);


                            if (grupo != null)
                            {
                                filterContext.HttpContext.Session["permissionsCore"] = permiss;
                            }
                        }
                    }
                }
            }
            filterContext.Controller.TempData.Keep();
            base.OnActionExecuting(filterContext);
        }
예제 #7
0
 public MoviesController(MvcDemoContext context)
 {
     _context = context;
 }