public void Init(TelegramBotClient bot, PowerbotUser user, CallbackQuery callbackQuery = null, Message message = null) { Bot = bot; User = user; CallbackQuery = callbackQuery; Message = message; }
//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); }
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); }
public static async Task UpdateUser(PowerbotUser user) { _dbContext.Update(user); await _dbContext.SaveChangesAsync(); }