Example #1
0
        public async Task AddAsync(T entity)
        {
            using var context = new OnlineQADbContext();
            await context.AddAsync(entity);

            await context.SaveChangesAsync();
        }
Example #2
0
        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);
        }
Example #3
0
        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();
            }
        }
Example #4
0
        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);
        }
Example #6
0
        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());
        }
Example #7
0
 public async Task UpdateAsync(T entity)
 {
     using var context = new OnlineQADbContext();
     context.Update(entity);
     await context.SaveChangesAsync();
 }
Example #8
0
 public async Task <T> GetAsync(int id)
 {
     using var context = new OnlineQADbContext();
     return(await context.Set <T>().FindAsync(id));
 }
Example #9
0
 public async Task <List <T> > GetAllAsync()
 {
     using var context = new OnlineQADbContext();
     return(await context.Set <T>().AsNoTracking().ToListAsync());
 }
Example #10
0
 public async Task <User> GetByUserName(string userName)
 {
     using var context = new OnlineQADbContext();
     return(await context.Users.AsNoTracking().FirstOrDefaultAsync(I => I.UserName == userName));
 }