示例#1
0
 public BooksController(LibContext context, IBookRepository bookRepository, IMapper mapper, ILogger <BooksController> logger)
 {
     _context        = context;
     _bookRepository = bookRepository;
     _mapper         = mapper;
     _logger         = logger;
 }
示例#2
0
 static BooksController()
 {
     using (LibContext db = new LibContext())
     {
         data = db.Books.ToList();
     }
 }
示例#3
0
 public AdminController(LibContext context, IBookRepository bookRepository, IMapper mapper, IUserRepository userRepository, ILogger <AdminController> logger, UserManager <User> userManager)
 {
     _context        = context;
     _mapper         = mapper;
     _bookRepository = bookRepository;
     _userRepository = userRepository;
     _logger         = logger;
     _userManager    = userManager;
 }
示例#4
0
        public ResultModel RegisterEmployee(UserTypeEnum type, int userId, int id)
        {
            ResultModel result = new ResultModel();

            try
            {
                using (LibContext context = new LibContext())
                {
                    if (type == UserTypeEnum.Librarian)
                    {
                        GenericRepository <Librarians> generic = new GenericRepository <Librarians>(context);

                        var librarian = generic.FindById(id);
                        if (librarian != null)
                        {
                            librarian.UserId = userId;
                            generic.Update(librarian);
                        }
                        else
                        {
                            result.Code    = OperationStatusEnum.UnexpectedError;
                            result.Message = "Неверный идентификатор сотрудника";
                        }
                    }
                    else if (type == UserTypeEnum.Provider)
                    {
                        GenericRepository <Providers> generic = new GenericRepository <Providers>(context);

                        var provider = generic.FindById(id);
                        if (provider != null)
                        {
                            provider.UserId = userId;
                            generic.Update(provider);
                        }
                        else
                        {
                            result.Code    = OperationStatusEnum.UnexpectedError;
                            result.Message = "Неверный идентификатор сотрудника";
                        }
                    }
                    else
                    {
                        result.Code    = OperationStatusEnum.UnexpectedError;
                        result.Message = "Ошибка присваивания роли пользователя";
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = OperationStatusEnum.UnexpectedError;
                result.Message = ex.StackTrace;
            }

            return(result);
        }
示例#5
0
        public LibUnitOfWork()
        {
            var optionsBuilder = new DbContextOptionsBuilder <LibContext>();

            var options = optionsBuilder
                          .UseLazyLoadingProxies()
                          .UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=libwebappdb;Trusted_Connection=True;")
                          .Options;

            db = new LibContext(options);
        }
示例#6
0
        public EditRecord(Record r)
        {
            InitializeComponent();

            db = new LibContext();
            db.Readers.Load();
            db.Books.Load();
            db.Cards.Load();

            record      = r;
            DataContext = record;

            bookCombo.ItemsSource = db.Books.Select(p => p.Name).ToList();
        }
示例#7
0
        private void BeforeAllTests()
        {
            context = new TestContext();
            books   = new Repository <Book>(context);

            // deletes DB
            context.Database.EnsureDeleted();  // rekreiramo bazu
            // creates DB
            context.Database.EnsureCreated();

            books.Insert(new Book {
                Title = "Book 1"
            });
            books.Insert(new Book {
                Title = "Book 2"
            });
            context.SaveChanges();
        }
示例#8
0
        private static void Main(string[] args)
        {
            using (LibContext contex = new LibContext())
            {
                Publisher p = new Publisher();
                Console.WriteLine("Publisher name: ");
                p.Name = Console.ReadLine();
                Console.WriteLine("Address: ");
                p.Road = Console.ReadLine();
                Console.WriteLine("Zip code: ");
                p.ZipCode = Console.ReadLine();
                Console.WriteLine("City: ");
                p.City = Console.ReadLine();
                Console.WriteLine("Country: ");
                p.Country = Console.ReadLine();

                contex.Publishers.Add(p);
                contex.SaveChanges();

                Book b = new Book();
                Console.WriteLine("Book title: ");
                b.Title = Console.ReadLine();
                Console.WriteLine("Book cover: ");
                b.Image = Console.ReadLine();
                Console.WriteLine("Number of pages: ");
                b.Pages = int.Parse(Console.ReadLine());
                Console.WriteLine("Book price: ");
                b.Price = decimal.Parse(Console.ReadLine());
                Console.Write("Publisher: ");
                string    pubName = Console.ReadLine();
                Publisher pub     = contex.Publishers.FirstOrDefault(x => x.Name == pubName);
                b.Publisher = pub;

                contex.Books.Add(b);

                int n = contex.SaveChanges();
                Console.WriteLine($"{ n } transactions commited.");
            }
        }
示例#9
0
        public MainWindow()
        {
            InitializeComponent();
            db = new LibContext();

            try
            {
                db.Readers.Load();
                db.Records.Load();
                db.Cards.Load();
                db.Books.Load();
            }
            catch (SqlException) {
                MessageBox.Show(
                    "Невозможно подключиться к базе данных.\nПроверьте настройки подключения.",
                    "Library Assistant",
                    MessageBoxButton.OK,
                    MessageBoxImage.Error
                    );
                Close();
            }

            readerGrid.ItemsSource = db.Readers.Local.ToBindingList();
        }
示例#10
0
 public ProviderPage(LibContext context)
 {
     _context = context;
 }
示例#11
0
 public SectionController(LibContext dbContext)
 {
     _dbContext = dbContext;
 }
示例#12
0
        public int Undone(int current, DateTime time)
        {
            {
                int step = current;

                try
                {
                    List <IssuesHistory> history;

                    using (LibContext context = new LibContext())
                    {
                        history = context.IssuesHistory.Where(c => c.OperationDate <= time).ToList();
                        history.Reverse();
                        GenericRepository <Issues> generic = new GenericRepository <Issues>(context);

                        if (step < history.Count && step >= 0)
                        {
                            IssuesHistory pacient   = history[step];
                            string        operation = pacient.Operation;

                            context.Database.ExecuteSqlCommand("DISABLE TRIGGER IssuesHistory ON Issues");
                            context.Database.ExecuteSqlCommand("DISABLE TRIGGER IssuesInsert ON Issues");

                            if (operation == "inserted")
                            {
                                Issues entity = generic.Get(c => c.Id == pacient.Id).FirstOrDefault();
                                if (entity != null)
                                {
                                    generic.Remove(entity);
                                }
                            }
                            else if (operation == "updated")
                            {
                                Issues entity = generic.Get(c => c.Id == pacient.Id).FirstOrDefault();
                                if (entity != null)
                                {
                                    entity.Book       = pacient.HistoryBook.Value;
                                    entity.Reader     = pacient.HistoryReader.Value;
                                    entity.IssueDate  = pacient.HistoryIssueDate;
                                    entity.ReturnDate = pacient.HistoryReturnDate;

                                    generic.Update(entity);
                                }
                            }
                            else if (operation == "deleted")
                            {
                                Issues entity = new Issues
                                {
                                    Id         = pacient.Id,
                                    Book       = pacient.HistoryBook.Value,
                                    Reader     = pacient.HistoryReader.Value,
                                    IssueDate  = pacient.HistoryIssueDate,
                                    ReturnDate = pacient.HistoryReturnDate
                                };

                                using (var scope = context.Database.BeginTransaction())
                                {
                                    context.Issues.Add(entity);
                                    context.SaveChanges();
                                    scope.Commit();
                                }
                            }

                            context.Database.ExecuteSqlCommand("ENABLE TRIGGER IssuesHistory ON Issues");
                            context.Database.ExecuteSqlCommand("ENABLE TRIGGER IssuesInsert ON Issues");
                        }
                    }
                    step++;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                return(step);
            }
        }
示例#13
0
 public HomeController(LibContext context)
 {
     db = context;
 }
 public AutoriRepository(LibContext context)
 {
     this.context = context;
 }
示例#15
0
 public ReaderRepository(LibContext context)
 {
     this.db = context;
 }
示例#16
0
 public AdminRepository(LibContext context)
 {
     _context = context;
 }
示例#17
0
 public ReceiptRepository(DbContext db) : base(db)
 {
     _db = new LibContext();
 }
示例#18
0
        public int Redone(int current, DateTime time)
        {
            int step = current;

            try
            {
                step--;

                List <SuppliesHistory> history;

                using (LibContext context = new LibContext())
                {
                    history = context.SuppliesHistory.Where(c => c.OperationDate <= time).ToList();
                    history.Reverse();
                    GenericRepository <Supplies> generic = new GenericRepository <Supplies>(context);

                    if (step < history.Count && step >= 0)
                    {
                        SuppliesHistory pacient   = history[step];
                        string          operation = pacient.Operation;

                        context.Database.ExecuteSqlCommand("DISABLE TRIGGER SuppliesHistory ON Supplies");
                        context.Database.ExecuteSqlCommand("DISABLE TRIGGER SuppliesInsert ON Supplies");

                        if (operation == "inserted")
                        {
                            Supplies entity = new Supplies
                            {
                                Id   = pacient.Id,
                                Shop = pacient.CurrentShop.Value,
                                Summ = pacient.CurrentSumm,
                                Date = pacient.CurrentDate
                            };

                            using (var scope = context.Database.BeginTransaction())
                            {
                                context.Supplies.Add(entity);
                                context.SaveChanges();
                                scope.Commit();
                            }
                        }
                        else if (operation == "updated")
                        {
                            Supplies entity = generic.Get(c => c.Id == pacient.Id).FirstOrDefault();
                            if (entity != null)
                            {
                                entity.Shop = pacient.CurrentShop.Value;
                                entity.Summ = pacient.CurrentSumm;
                                entity.Date = pacient.CurrentDate;

                                generic.Update(entity);
                            }
                        }
                        else if (operation == "deleted")
                        {
                            Supplies entity = generic.Get(c => c.Id == pacient.Id).FirstOrDefault();
                            if (entity != null)
                            {
                                generic.Remove(entity);
                            }
                        }

                        context.Database.ExecuteSqlCommand("ENABLE TRIGGER SuppliesHistory ON Supplies");
                        context.Database.ExecuteSqlCommand("ENABLE TRIGGER SuppliesInsert ON Supplies");
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(step);
        }
 public IzdavacRepository(LibContext context) : base(context)
 {
 }
示例#20
0
 public ReaderPageController()
 {
     context       = new LibContext();
     readerContext = new ReaderPage(context);
 }
示例#21
0
 public ReaderPage(LibContext context)
 {
     _context = context;
 }
示例#22
0
 public ProviderPageController()
 {
     context         = new LibContext();
     providerContext = new ProviderPage(context);
 }
示例#23
0
        public int Redone(int current, DateTime time)
        {
            int step = current;

            try
            {
                step--;

                List <ReadersHistory> history;

                using (LibContext context = new LibContext())
                {
                    history = context.ReadersHistory.Where(c => c.OperationDate <= time).ToList();
                    history.Reverse();
                    GenericRepository <Readers> generic = new GenericRepository <Readers>(context);

                    if (step < history.Count && step >= 0)
                    {
                        ReadersHistory pacient   = history[step];
                        string         operation = pacient.Operation;

                        context.Database.ExecuteSqlCommand("DISABLE TRIGGER ReadersHistory ON Readers");
                        context.Database.ExecuteSqlCommand("DISABLE TRIGGER ReadersInsert ON Readers");

                        if (operation == "inserted")
                        {
                            Readers entity = new Readers
                            {
                                Id         = pacient.Id,
                                Surname    = pacient.CurrentSurname,
                                Name       = pacient.CurrentName,
                                Patronymic = pacient.CurrentPatronymic,
                                BirthDate  = pacient.CurrentBirthDate,
                                PassSeria  = pacient.CurrentPassSeria,
                                PassNumber = pacient.CurrentPassNumber,
                                Phone      = pacient.CurrentPhone,
                                Address    = pacient.CurrentAddress,
                                UserId     = pacient.CurrentUserId
                            };

                            using (var scope = context.Database.BeginTransaction())
                            {
                                context.Readers.Add(entity);
                                context.SaveChanges();
                                scope.Commit();
                            }
                        }
                        else if (operation == "updated")
                        {
                            Readers entity = generic.Get(c => c.Id == pacient.Id).FirstOrDefault();
                            if (entity != null)
                            {
                                entity.Surname    = pacient.CurrentSurname;
                                entity.Name       = pacient.CurrentName;
                                entity.Patronymic = pacient.CurrentPatronymic;
                                entity.BirthDate  = pacient.CurrentBirthDate;
                                entity.PassSeria  = pacient.CurrentPassSeria;
                                entity.PassNumber = pacient.CurrentPassNumber;
                                entity.Phone      = pacient.CurrentPhone;
                                entity.Address    = pacient.CurrentAddress;
                                entity.UserId     = pacient.CurrentUserId;

                                generic.Update(entity);
                            }
                        }
                        else if (operation == "deleted")
                        {
                            Readers entity = generic.Get(c => c.Id == pacient.Id).FirstOrDefault();
                            if (entity != null)
                            {
                                generic.Remove(entity);
                            }
                        }

                        context.Database.ExecuteSqlCommand("ENABLE TRIGGER ReadersHistory ON Readers");
                        context.Database.ExecuteSqlCommand("ENABLE TRIGGER ReadersInsert ON Readers");
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(step);
        }
示例#24
0
 public BookRepository(LibContext context)
 {
     this.db = context;
 }
示例#25
0
 public EditReader(Reader r)
 {
     InitializeComponent();
     db = new LibContext();
     db.Readers.Load();
 }
示例#26
0
 public AuthController(UserManager <User> userManager, IMapper mapper, LibContext context)
 {
     _userManager = userManager;
     _mapper      = mapper;
     _context     = context;
 }
示例#27
0
        public int Undone(int current, DateTime time)
        {
            int step = current;

            try
            {
                List <AuthorsHistory> history;

                using (LibContext context = new LibContext())
                {
                    history = context.AuthorsHistory.Where(c => c.OperationDate <= time).ToList();
                    history.Reverse();
                    GenericRepository <Authors> generic = new GenericRepository <Authors>(context);

                    if (step < history.Count && step >= 0)
                    {
                        AuthorsHistory pacient   = history[step];
                        string         operation = pacient.Operation;

                        context.Database.ExecuteSqlCommand("DISABLE TRIGGER AuthorsHistory ON Authors");
                        context.Database.ExecuteSqlCommand("DISABLE TRIGGER AuthorsInsert ON Authors");

                        if (operation == "inserted")
                        {
                            Authors entity = generic.Get(c => c.Id == pacient.Id).FirstOrDefault();
                            if (entity != null)
                            {
                                generic.Remove(entity);
                            }
                        }
                        else if (operation == "updated")
                        {
                            Authors entity = generic.Get(c => c.Id == pacient.Id).FirstOrDefault();
                            if (entity != null)
                            {
                                entity.Surname    = pacient.HistorySurname;
                                entity.Name       = pacient.HistoryName;
                                entity.Patronymic = pacient.HistoryPatronymic;

                                generic.Update(entity);
                            }
                        }
                        else if (operation == "deleted")
                        {
                            Authors entity = new Authors
                            {
                                Id         = pacient.Id,
                                Surname    = pacient.HistorySurname,
                                Name       = pacient.HistoryName,
                                Patronymic = pacient.HistoryPatronymic
                            };

                            using (var scope = context.Database.BeginTransaction())
                            {
                                context.Authors.Add(entity);
                                context.SaveChanges();
                                scope.Commit();
                            }
                        }

                        context.Database.ExecuteSqlCommand("ENABLE TRIGGER AuthorsHistory ON Authors");
                        context.Database.ExecuteSqlCommand("ENABLE TRIGGER AuthorsInsert ON Authors");
                    }
                }
                step++;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(step);
        }
 public KnjigeRepository(LibContext context)
 {
     this.context = context;
 }
示例#29
0
 public BookController(LibContext dbContext)
 {
     _dbContext = dbContext;
 }
示例#30
0
 public LibrarianPage(LibContext context)
 {
     _context = context;
 }