public async Task <UserContentDataModel> AddUserContentAsync(LoginResultDataModel loginInfo, UserContentDataModel model) { if (!LoginInformationComplete(loginInfo)) { return(null); } bool unique; do { unique = true; if (dbContext.UserContent.Where(e => e.User.UserId == loginInfo.UserId).Where(e => e.Id == model.Id).Any()) { model.Id = Guid.NewGuid().ToString("N"); unique = false; } } while (!unique); dbContext.UserContent.Add(new UserContentDatabaseModel { Id = model.Id, User = dbContext.LoginCredentials.Where(e => e.UserId == loginInfo.UserId).First(), AccountNameHash = model.AccountNameHash, EmailHash = model.EmailHash, UsernameHash = model.UsernameHash, WebsiteHash = model.WebsiteHash, PasswordHash = model.PasswordHash, NotesHash = model.NotesHash, }); await dbContext.SaveChangesAsync(); return(model); }
public async Task <UserContentDataModel> UpdateUserContentAsync(LoginResultDataModel loginInfo, UserContentDataModel model) { if (!LoginInformationComplete(loginInfo)) { return(null); } var table = await dbContext.UserContent.Where(e => e.User.UserId == loginInfo.UserId).Where(e => e.Id == model.Id).ToListAsync(); if (table == null || table.Count != 1) { return(null); } table.First().AccountNameHash = model.AccountNameHash; table.First().EmailHash = model.EmailHash; table.First().UsernameHash = model.UsernameHash; table.First().WebsiteHash = model.WebsiteHash; table.First().PasswordHash = model.PasswordHash; table.First().NotesHash = model.NotesHash; await dbContext.SaveChangesAsync(); return(model); }
public async Task <bool> RemoveUserContentAsync(LoginResultDataModel loginInfo, string IDToRemove) { if (!LoginInformationComplete(loginInfo)) { return(false); } var table = await dbContext.UserContent.Where(e => e.Id == IDToRemove).Where(e => e.User.UserId == loginInfo.UserId).ToListAsync(); if (table == null || table.Count != 1) { return(false); } dbContext.UserContent.Remove(table.First()); await dbContext.SaveChangesAsync(); return(true); }
public async Task <GetUserContentDataModel> GetUserContentAsync(LoginResultDataModel loginInfo) { if (!LoginInformationComplete(loginInfo)) { return(null); } return(new GetUserContentDataModel { UserContent = await dbContext.UserContent .Where(e => e.User.UserId == loginInfo.UserId) .Select(c => new UserContentDataModel { Id = c.Id, AccountNameHash = c.AccountNameHash, EmailHash = c.EmailHash, UsernameHash = c.UsernameHash, WebsiteHash = c.WebsiteHash, PasswordHash = c.PasswordHash, NotesHash = c.NotesHash }).ToListAsync() }); }
private bool LoginInformationComplete(LoginResultDataModel loginInfo) { return(!(!loginInfo.Successful || string.IsNullOrWhiteSpace(loginInfo.UserId))); }