School Commit Init

This commit is contained in:
2024-08-31 12:07:21 +03:00
commit 0b130ee18c
2801 changed files with 4720552 additions and 0 deletions
@@ -0,0 +1,18 @@
using Lab9.Models;
namespace Lab9.Repositories
{
public interface IRepository
{
public IList<News> GetAllNews();
public IList<News> GetAllNewsByDate(DateTime date);
public IList<News> GetAllNewsByCategory(string category);
public IList<News> GetAllNewsByCategoryAndDate(string category, DateTime date);
public bool ValidateUser(string username, string password);
public bool InsertNews(News news);
public bool UpdateNews(News news);
public News? GetNewsById(int id);
}
}
@@ -0,0 +1,74 @@
using Lab9.Context;
using Lab9.Models;
namespace Lab9.Repositories
{
public class Repository : IRepository
{
private readonly NewsContext _context;
public Repository(NewsContext context)
{
_context = context;
}
public IList<News> GetAllNews()
{
return _context.News.ToList();
}
public IList<News> GetAllNewsByCategory(string category)
{
return _context.News.Where(n => n.Category == category).ToList();
}
public IList<News> GetAllNewsByCategoryAndDate(string category, DateTime date)
{
return _context.News.Where(n => n.Category == category && n.Date == date).ToList();
}
public IList<News> GetAllNewsByDate(DateTime date)
{
return _context.News.Where(n => n.Date == date).ToList();
}
public News? GetNewsById(int id)
{
return _context.News.FirstOrDefault(n => n.Id == id);
}
public bool InsertNews(News news)
{
try
{
_context.News.Add(news);
_context.SaveChanges();
return true;
}
catch (Exception)
{
return false;
}
}
public bool UpdateNews(News news)
{
try
{
_context.News.Update(news);
_context.SaveChanges();
return true;
}
catch (Exception)
{
return false;
}
}
public bool ValidateUser(string username, string password)
{
return _context.Users.Any(u => u.Username == username && u.Password == password);
}
}
}