Example #1
0
        public List <MenuExt> GetMenusByRoleName(string roleName)
        {
            List <MenuExt> meuns = new List <MenuExt>();
            string         sql   = string.Format(@" select * from ( select m.*,r.RoleName,r.RoleID from RoleMenus rm 
                                          left join Menus m on rm.MenuID = m.MenuID 
                                          left join Roles r on rm.RoleID = r.RoleID) as t where t.RoleName = '{0}'", roleName);

            using (var context = new FlatContext())
            {
                meuns = context.Database.SqlQuery <MenuExt>(sql).ToList();
            }
            List <MenuExt> first  = meuns.Where(r => r.MenuType == "一级菜单").ToList();
            List <MenuExt> second = meuns.Where(r => r.MenuType == "二级菜单").ToList();

            foreach (MenuExt menu in first)
            {
                foreach (MenuExt item in second)
                {
                    if (item.ParentID == menu.MenuID)
                    {
                        menu.Children.Add(item);
                    }
                }
            }
            return(first);
        }
Example #2
0
        public IActionResult GetToken([FromBody] LoginDto login)
        {
            using (var db = new FlatContext())
            {
                var usr = db.Users.SingleOrDefault(x => x.UserName == login.UserName && x.Password == login.Password);

                // return null if user not found
                if (usr == null)
                {
                    return(Unauthorized());
                }

                // authentication successful so generate jwt token
                var tokenHandler    = new JwtSecurityTokenHandler();
                var key             = Encoding.ASCII.GetBytes(_appSettings.Secret);
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim(ClaimTypes.Name, usr.Name),
                        new Claim(ClaimTypes.NameIdentifier, usr.Id.ToString()),
                    }),
                    Expires            = DateTime.UtcNow.AddMinutes(_appSettings.TokenExpireMinute),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
                };
                var token = tokenHandler.CreateToken(tokenDescriptor);
                return(Ok(tokenHandler.WriteToken(token)));
            }
        }
        public static async Task DispatchDomainEventsAsync(this IMediator mediator, FlatContext ctx)
        {
            var domainEntities = ctx.ChangeTracker
                                 .Entries <Entity>()
                                 .Where(x => x.Entity.DomainEvents != null && x.Entity.DomainEvents.Any());

            var domainEvents = domainEntities
                               .SelectMany(x => x.Entity.DomainEvents)
                               .ToList();

            domainEntities.ToList()
            .ForEach(entity => entity.Entity.ClearDomainEvents());

            var tasks = domainEvents
                        .Select(async(domainEvent) => {
                await mediator.Publish(domainEvent);
            });

            await Task.WhenAll(tasks);
        }
 public ExpenseController(ICommandHandler <CreateExpenseCommand> commandHandler, FlatContext flatContext)
 {
     _commandHandler = commandHandler;
     _db             = flatContext;
 }
 public CreateExpenseCommandHandler(FlatContext expenseContext)
 {
     _db = expenseContext;
 }
Example #6
0
 public DormDal()
 {
     this.context = new FlatContext();
 }
 public PayRequestDal()
 {
     this.context = new FlatContext();
 }
Example #8
0
 public MenuDal()
 {
     this.context = new FlatContext();
 }
Example #9
0
 public FileAttachDal()
 {
     this.context = new FlatContext();
 }