Esempio n. 1
0
 public void Dispose()
 {
     using (var ctx = new JournalDbContext(DbOptions))
     {
         ctx.Database.EnsureDeleted();
     }
 }
 public EditUser(JournalDbContext db, MainWindow mw)
 {
     InitializeComponent();
     this.db = db;
     this.mw = mw;
     this.loginComboBox.ItemsSource = getUsernames();
 }
Esempio n. 3
0
        public void GetByIssueId()
        {
            using (var ctx = new JournalDbContext(DbOptions))
            {
                //Arrange
                var issueController = new IssueController(new IssueService(ctx), MapperConfig.Configure());
                var controller      = new ArticleController(new ArticleService(ctx), MapperConfig.Configure());

                //Act
                var issueResult         = issueController.Get();
                var issueOkObjectResult = issueResult as OkObjectResult;
                var issueModel          = issueOkObjectResult.Value as IEnumerable <IssueModel>;

                var result = controller.GetByIssue(issueModel.Single().AllTime);

                //Assert
                var okObjectResult = result as OkObjectResult;
                Assert.NotNull(okObjectResult);

                var model = okObjectResult.Value as IEnumerable <ArticleModel>;
                Assert.NotNull(model);

                Assert.Equal(2, model.Count());
            }
        }
Esempio n. 4
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, JournalDbContext dbContext)
        {
            // 查資料表是否已經存在,若不存在自動建立;若資料表存在但版本太舊符則自動更新。
            // 在正式環境自動更新Schema有點可怕,我加了限定LocalDB執行的安全鎖
            if (dbContext.Database.GetDbConnection().ConnectionString.Contains("MSSQLLocalDB"))
            {
                dbContext.Database.Migrate();
            }

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
            }

            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
            });
        }
Esempio n. 5
0
        public void Put()
        {
            int Id = 0;

            //Arrange
            using (var ctx = new JournalDbContext(DbOptions))
            {
                var controller = new ArticleController(new ArticleService(ctx), MapperConfig.Configure());

                //Act
                var result         = controller.Get();
                var okObjectResult = result as OkObjectResult;
                var model          = okObjectResult.Value as IEnumerable <ArticleModel>;

                Id = model.First().Id;

                controller.Put(model.First().Id, new ArticleModel
                {
                    Id    = model.First().Id,
                    Title = "Sudoku"
                });
            }

            //Assert
            using (var ctx = new JournalDbContext(DbOptions))
            {
                Assert.Equal(2, ctx.Articles.Count());
                Assert.Equal("Sudoku", ctx.Articles.Where(a => a.Id == Id).Single().Title);
            }
        }
Esempio n. 6
0
        public ArticleApiTest()
        {
            DbOptions = new DbContextOptionsBuilder <JournalDbContext>()
                        .UseInMemoryDatabase(databaseName: "Article_Test_Db")
                        .Options;

            using (var ctx = new JournalDbContext(DbOptions))
            {
                ctx.Issues.Add(new Issue
                {
                    Id           = 6,
                    AllTime      = 474,
                    IssueDetails = new IssueDetails
                    {
                        Volume            = 45,
                        Number            = 6,
                        Name              = "Nyári szám",
                        CopyNumber        = 800,
                        ExpectedPageCount = 36
                    },
                    Articles = new List <Article> ()
                    {
                        new Article()
                        {
                            Title = "Az 1%"
                        },
                        new Article()
                        {
                            Title = "Utazd be Európát!"
                        }
                    }
                });
                ctx.SaveChanges();
            }
        }
Esempio n. 7
0
        public void Add()
        {
            //Arrange
            using (var ctx = new JournalDbContext(DbOptions))
            {
                //Arrange
                var issueController = new IssueController(new IssueService(ctx), MapperConfig.Configure());
                var controller      = new ArticleController(new ArticleService(ctx), MapperConfig.Configure());

                //Act
                var issueResult         = issueController.Get();
                var issueOkObjectResult = issueResult as OkObjectResult;
                var issueModel          = issueOkObjectResult.Value as IEnumerable <IssueModel>;

                //Act
                controller.Post(new ArticleModel()
                {
                    IssueId = issueModel.Single().Id,
                    Title   = "Receptek"
                });
            }

            //Assert
            using (var ctx = new JournalDbContext(DbOptions))
            {
                var iss = ctx.Articles.ToList();
                Assert.Equal(3, ctx.Articles.Count());
            }
        }
Esempio n. 8
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, JournalDbContext context)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseAuthentication();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Login}/{action=Index}/{id?}");
            });

            DbInitializer.Initialize(context);
        }
Esempio n. 9
0
        public void Put()
        {
            //Arrange
            using (var ctx = new JournalDbContext(DbOptions))
            {
                var controller = new IssueController(new IssueService(ctx), MapperConfig.Configure());

                //Act
                var result         = controller.Get();
                var okObjectResult = result as OkObjectResult;
                var model          = okObjectResult.Value as IEnumerable <IssueModel>;

                controller.Put(model.Single().Id, new IssueModel
                {
                    Id                = 6,
                    AllTime           = 474,
                    Volume            = 45,
                    Number            = 3,
                    Name              = "Téli szám",
                    CopyNumber        = 800,
                    ExpectedPageCount = 36
                });
            }

            //Assert
            using (var ctx = new JournalDbContext(DbOptions))
            {
                Assert.Equal(1, ctx.Issues.Count());
                Assert.Equal("Téli szám", ctx.Issues.Include(i => i.IssueDetails).Single().IssueDetails.Name);
            }
        }
 public EditEntry(JournalDbContext db, MainWindow mw, Entry entry, string journal)
 {
     InitializeComponent();
     this.db                = db;
     this.mw                = mw;
     this.entry             = entry;
     this.journal           = journal;
     this.entryTextBox.Text = entry.Text;
 }
Esempio n. 11
0
        public AddEntry(JournalDbContext db, List <string> journals, string user, MainWindow mw)
        {
            InitializeComponent();
            this.db       = db;
            this.journals = journals;
            this.JournalsComboBox.ItemsSource = this.journals;
            this.currrentUser = user;

            this.mw = mw;
        }
Esempio n. 12
0
        public OpenArticleModel(JournalDbContext db)
        {
            _db = db;

            List <string> articles = _db.Journals
                                     .AsNoTracking()
                                     .Where(x => x.Event == "Aangebroken")
                                     .Select(x => x.Message)
                                     .Distinct()
                                     .OrderBy(x => x)
                                     .ToList();

            Articles = new SelectList(articles);
        }
Esempio n. 13
0
        public void DeadlineReminder()
        {
            Mock <EmailSender> sender = new Mock <EmailSender>();

            sender.Setup(x => x.SendEmailAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(Task.CompletedTask);

            using (var ctx = new JournalDbContext(DbOptions))
            {
                var controller = new EmailController(sender.Object, new IssueService(ctx), MapperConfig.Configure());

                controller.SendDeadlineReminder(ctx.Issues.SingleAsync().Id);
            }

            sender.Verify(mock => mock.SendEmailAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once);
        }
Esempio n. 14
0
 public void Initialize()
 {
     using (var ctx = new JournalDbContext(DbOptions))
     {
         ctx.Issues.Add(new DAL.Entities.Issue
         {
             AllTime      = 474,
             IssueDetails = new DAL.Entities.IssueDetails
             {
                 Volume            = 45,
                 Number            = 6,
                 Name              = "Nyári szám",
                 CopyNumber        = 800,
                 ExpectedPageCount = 36
             }
         });
         ctx.SaveChanges();
     }
 }
Esempio n. 15
0
        public void AddWithoutDetails()
        {
            //Arrange
            using (var ctx = new JournalDbContext(DbOptions))
            {
                var controller = new IssueController(new IssueService(ctx), MapperConfig.Configure());

                //Act
                controller.Post(new IssueModel()
                {
                    AllTime = 500
                });
            }

            //Assert
            using (var ctx = new JournalDbContext(DbOptions))
            {
                var iss = ctx.Issues.ToList();
                Assert.Equal(2, ctx.Issues.Count());
            }
        }
Esempio n. 16
0
        public void Delete()
        {
            //Arrange
            using (var ctx = new JournalDbContext(DbOptions))
            {
                var controller = new IssueController(new IssueService(ctx), MapperConfig.Configure());

                //Act
                var result         = controller.Get();
                var okObjectResult = result as OkObjectResult;
                var model          = okObjectResult.Value as IEnumerable <IssueModel>;

                controller.Delete(model.Single().Id);
            }

            //Assert
            using (var ctx = new JournalDbContext(DbOptions))
            {
                Assert.Equal(0, ctx.Issues.Count());
            }
        }
Esempio n. 17
0
        public void Get()
        {
            using (var ctx = new JournalDbContext(DbOptions))
            {
                //Arrange
                var controller = new IssueController(new IssueService(ctx), MapperConfig.Configure());

                //Act
                var result = controller.Get();

                //Assert
                var okObjectResult = result as OkObjectResult;
                Assert.NotNull(okObjectResult);

                var model = okObjectResult.Value as IEnumerable <IssueModel>;
                Assert.NotNull(model);

                Assert.Single(model);
                Assert.Equal("Nyári szám", model.Single().Name);
            }
        }
Esempio n. 18
0
        public void AddWithDetails()
        {
            //Arrange
            using (var ctx = new JournalDbContext(DbOptions))
            {
                var controller = new IssueController(new IssueService(ctx), MapperConfig.Configure());

                //Act
                controller.Post(new IssueModel()
                {
                    Volume = 46,
                    Number = 0,
                    Name   = "Gólyaszám"
                });
            }

            //Assert
            using (var ctx = new JournalDbContext(DbOptions))
            {
                Assert.Equal(2, ctx.Issues.Count());
                Assert.Equal(2, ctx.IssueDetails.Count());
                Assert.Equal("Gólyaszám", ctx.IssueDetails.Where(i => i.Volume == 46).Single().Name);
            }
        }
Esempio n. 19
0
        public IssueApiTest()
        {
            DbOptions = new DbContextOptionsBuilder <JournalDbContext>()
                        .UseInMemoryDatabase(databaseName: "Issue_Test_Db")
                        .Options;

            using (var ctx = new JournalDbContext(DbOptions))
            {
                ctx.Issues.Add(new Issue
                {
                    Id           = 6,
                    AllTime      = 474,
                    IssueDetails = new IssueDetails
                    {
                        Volume            = 45,
                        Number            = 6,
                        Name              = "Nyári szám",
                        CopyNumber        = 800,
                        ExpectedPageCount = 36
                    }
                });
                ctx.SaveChanges();
            }
        }
 public DetailsModel(JournalDbContext context)
 {
     _context = context;
 }
Esempio n. 21
0
 public IndexModel(JournalDbContext context)
 {
     _context = context;
 }
Esempio n. 22
0
        public static void Initialize(JournalDbContext context)
        {
            context.Database.EnsureCreated();

            // Look for any students.
            if (context.Students.Any() && context.Teachers.Any())
            {
                return;   // DB has been seeded
            }

            var teachers = new Teacher[]
            {
                new Teacher {
                    Login = "******", Password = "******"
                },
                new Teacher {
                    Login = "******", Password = "******"
                }
            };

            context.Teachers.AddRange(teachers);
            context.SaveChanges();

            var students = new Student[]
            {
                new Student {
                    FirstName = "Carson", LastName = "Alexander"
                },
                new Student {
                    FirstName = "Meredith", LastName = "Alonso"
                },
                new Student {
                    FirstName = "Arturo", LastName = "Anand"
                },
                new Student {
                    FirstName = "Gytis", LastName = "Barzdukas"
                },
                new Student {
                    FirstName = "Yan", LastName = "Li"
                },
                new Student {
                    FirstName = "Peggy", LastName = "Justice"
                },
                new Student {
                    FirstName = "Laura", LastName = "Norman"
                },
                new Student {
                    FirstName = "Nino", LastName = "Olivetto"
                }
            };

            context.Students.AddRange(students);
            context.SaveChanges();

            var subjects = new Subject[]
            {
                new Subject {
                    ID = 1050, Name = "Chemistry"
                },
                new Subject {
                    ID = 4022, Name = "Microeconomics"
                },
                new Subject {
                    ID = 4041, Name = "Macroeconomics"
                },
                new Subject {
                    ID = 1045, Name = "Calculus"
                },
                new Subject {
                    ID = 3141, Name = "Trigonometry"
                },
                new Subject {
                    ID = 2021, Name = "Composition"
                },
                new Subject {
                    ID = 2042, Name = "Literature"
                }
            };

            context.Subjects.AddRange(subjects);
            context.SaveChanges();

            var marks = new Mark[]
            {
                new Mark {
                    ID = 1, SubjectID = 1050, Grade = 3
                },
                new Mark {
                    ID = 1, SubjectID = 4022, Grade = 4
                },
                new Mark {
                    ID = 1, SubjectID = 4041, Grade = 3
                },
                new Mark {
                    ID = 2, SubjectID = 1045, Grade = 4
                },
                new Mark {
                    ID = 2, SubjectID = 3141, Grade = 4
                },
                new Mark {
                    ID = 2, SubjectID = 2021, Grade = 3
                },
                new Mark {
                    ID = 3, SubjectID = 1050, Grade = 2
                },
                new Mark {
                    ID = 4, SubjectID = 1050, Grade = 5
                },
                new Mark {
                    ID = 4, SubjectID = 4022, Grade = 5
                },
                new Mark {
                    ID = 5, SubjectID = 4041, Grade = 5
                },
                new Mark {
                    ID = 6, SubjectID = 1045, Grade = 6
                },
                new Mark {
                    ID = 7, SubjectID = 3141, Grade = 4
                },
            };

            context.Marks.AddRange(marks);
            context.SaveChanges();
        }
Esempio n. 23
0
 public AddUser(JournalDbContext db, MainWindow mw)
 {
     InitializeComponent();
     this.db = db;
     this.mw = mw;
 }
Esempio n. 24
0
 public EditModel(JournalDbContext context)
 {
     _context = context;
 }
Esempio n. 25
0
 public ArticleService(JournalDbContext dbContext)
 {
     DbContext = dbContext;
 }
 public MainWindow()
 {
     InitializeComponent();
     db = new JournalDbContext();
 }
Esempio n. 27
0
 public DeleteModel(JournalDbContext context)
 {
     _context = context;
 }
Esempio n. 28
0
 public RemoveUser(JournalDbContext db)
 {
     InitializeComponent();
     this.db = db;
 }
Esempio n. 29
0
 public IssueService(JournalDbContext dbContext)
 {
     DbContext = dbContext;
 }
Esempio n. 30
0
 public BooksController(JournalDbContext context, UserManager <IdentityUser> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }