Example #1
0
 public void Init(TelegramBotClient bot, PowerbotUser user, CallbackQuery callbackQuery = null, Message message = null)
 {
     Bot           = bot;
     User          = user;
     CallbackQuery = callbackQuery;
     Message       = message;
 }
Example #2
0
        //Attribute validators
        //Validate user access role
        public static bool ValidateAccess(MethodInfo methodInfo, PowerbotUser user)
        {
            Object[] attributes = methodInfo.GetCustomAttributes(true);

            foreach (var attribute in attributes)
            {
                if (attribute.GetType() == typeof(Role))
                {
                    var access = ((Role)attribute).UserAccess;
                    if (user.UserAccess != access)
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Example #3
0
        public static async Task <PowerbotUser> AddOrUpdateUser(User user)
        {
            var usr = await GetUser(user.Id);

            // New user
            if (usr == null)
            {
                PowerbotUser _user = new PowerbotUser
                {
                    Id         = user.Id,
                    ActiveAt   = DateTime.UtcNow,
                    UserAccess = UserAccess.User,
                    FirstName  = user.FirstName,
                    LastName   = user.LastName,
                    UserName   = user.Username
                };

                var usrEntity = await _dbContext.Users.AddAsync(_user);

                usr = usrEntity.Entity;

                await LogsManager.CreateLog($"New user ({_user.FullName})", LogLevel.Info);
            }
            // Update User
            else
            {
                usr.FirstName = user.FirstName;
                usr.LastName  = user.LastName;
                usr.UserName  = user.Username;
                usr.ActiveAt  = DateTime.UtcNow;
            }

            await _dbContext.SaveChangesAsync();

            return(usr);
        }
Example #4
0
 public static async Task UpdateUser(PowerbotUser user)
 {
     _dbContext.Update(user);
     await _dbContext.SaveChangesAsync();
 }