public async Task AddAsync(T entity) { using var context = new OnlineQADbContext(); await context.AddAsync(entity); await context.SaveChangesAsync(); }
public async Task <List <User> > GetByParams(string username, string name, string lastname, string email) { using var context = new OnlineQADbContext(); List <User> users = new List <User>(); if (username == null && name == null && lastname == null && email == null) { users = await context.Users.AsNoTracking().ToListAsync(); } if (username != null) { users = await context.Users.AsNoTracking().Where(I => I.UserName == username).ToListAsync(); } if (name != null) { users = await context.Users.AsNoTracking().Where(I => I.Name == name).ToListAsync(); } if (lastname != null) { users = await context.Users.AsNoTracking().Where(I => I.LastName == lastname).ToListAsync(); } if (email != null) { users = await context.Users.AsNoTracking().Where(I => I.Email == email).ToListAsync(); } return(users); }
public async Task DeleteAsync(int id) { using var context = new OnlineQADbContext(); var entity = await context.Set <T>().FindAsync(id); if (entity != null) { entity = await context.Set <T>().FindAsync(id); context.Set <T>().Remove(entity); await context.SaveChangesAsync(); } }
public async Task <List <Selection> > GetByParams(int?questionId) { using var context = new OnlineQADbContext(); List <Selection> selections = new List <Selection>(); if (questionId == null) { selections = await context.Selections.Include(a => a.Question).AsNoTracking().ToListAsync(); } else { selections = await context.Selections.Include(a => a.Question).AsNoTracking().Where(I => I.QuestionId == questionId).ToListAsync(); } return(selections); }
public async Task <List <Question> > GetByParams(int?userId) { using var context = new OnlineQADbContext(); List <Question> questions = new List <Question>(); if (userId == null) { questions = await context.Questions.Include(a => a.User).AsNoTracking().ToListAsync(); } else { questions = await context.Questions.Include(a => a.User).AsNoTracking().Where(I => I.UserId == userId).ToListAsync(); } return(questions); }
public async Task <List <Comment> > GetByParams(int?questionId, int?userId) { using var context = new OnlineQADbContext(); IQueryable <Comment> comments = context.Comments; if (questionId == null && userId == null) { comments = comments.Include(a => a.Question).Include(a => a.User).AsNoTracking(); } if (questionId != null) { comments = comments.Include(a => a.Question).Include(a => a.User).AsNoTracking().Where(I => I.QuestionId == questionId); } if (userId != null) { comments = comments.Include(a => a.Question).Include(a => a.User).AsNoTracking().Where(I => I.UserId == userId); } return(await comments.ToListAsync()); }
public async Task UpdateAsync(T entity) { using var context = new OnlineQADbContext(); context.Update(entity); await context.SaveChangesAsync(); }
public async Task <T> GetAsync(int id) { using var context = new OnlineQADbContext(); return(await context.Set <T>().FindAsync(id)); }
public async Task <List <T> > GetAllAsync() { using var context = new OnlineQADbContext(); return(await context.Set <T>().AsNoTracking().ToListAsync()); }
public async Task <User> GetByUserName(string userName) { using var context = new OnlineQADbContext(); return(await context.Users.AsNoTracking().FirstOrDefaultAsync(I => I.UserName == userName)); }