public void VacationTime_AddNewVacationTime()
        {
            using (var db = new AppDbContext(Utilities.TestDbContextOptions()))
            {
                // Arrange
                DateTime dateFrom = new DateTime(2021, 12, 01);
                DateTime dateTo   = new DateTime(2021, 12, 31);

                var vacationRepo          = new EfCoreVacationRepo(db);
                var vacationTimeViewModel = new VacationTimeViewModel();
                var vacationTime          = new VacationTime()
                {
                    Id        = Guid.NewGuid(),
                    Person    = "master",
                    DateFrom  = dateFrom.ToString(CultureInfo.InvariantCulture),
                    DateTo    = dateTo.ToString(CultureInfo.InvariantCulture),
                    Reason    = "Testing vacation",
                    CreatedAt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.CurrentCulture),
                    UpdatedAt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.CurrentCulture),
                    TotalDays = vacationTimeViewModel.CalculateDays(dateFrom, dateTo).ToString(CultureInfo.InvariantCulture) + " dni"
                };

                // Act
                vacationRepo.Add(vacationTime);

                // Assert
                Assert.AreEqual((dateTo - dateFrom).TotalDays + " dni", vacationRepo.Get(vacationTime.Id).Result.TotalDays);
                Assert.AreEqual(vacationTime.Reason, vacationRepo.Get(vacationTime.Id).Result.Reason);
                Assert.IsNotNull(vacationRepo.Get(vacationTime.Id).Result.Person);
            }
        }
Exemple #2
0
        public void VacationTest()
        {
            using (DatabaseSetup db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
            {
                db.ClearTable(Vacation.TableName);
                db.ClearTable(VacationTime.TableName);
                Vacation vac = new Vacation("name", null, db.ConnectionString, 1, 99, CreationType.ManuallyCreated, Guid.NewGuid().ToStrGuid());
                DateTime dt  = new DateTime(2010, 1, 1);
                vac.SaveToDB();
                vac.AddVacationTime(dt, dt, VacationType.GoAway);
                ObservableCollection <Vacation> vacations = new ObservableCollection <Vacation>();
                Vacation.LoadFromDatabase(vacations, db.ConnectionString, false);
                (vacations.Count).Should().Be(1);
                Vacation v1 = vacations[0];
                (v1.Name).Should().Be("name");
                (v1.VacationTimes.Count).Should().Be(1);
                VacationTime vt = v1.VacationTimes[0];
                (vt.Start).Should().Be(dt);
                (vt.End).Should().Be(dt);
                v1.DeleteVacationTime(vt);
#pragma warning disable S1854   // Dead stores should be removed
#pragma warning disable IDE0059 // Value assigned to symbol is never used
                v1 = null;      // to enable garbage collection immidiately
#pragma warning restore IDE0059 // Value assigned to symbol is never used
#pragma warning restore S1854   // Dead stores should be removed
                ObservableCollection <Vacation> vacations1 = new ObservableCollection <Vacation>();
                Vacation.LoadFromDatabase(vacations1, db.ConnectionString, false);
                (vacations.Count).Should().Be(1);
                Vacation v2 = vacations[0];
                (v2.Name).Should().Be("name");
                (v2.VacationTimes.Count).Should().Be(0);

                db.Cleanup();
            }
        }
        public async Task <IActionResult> OnPostAsync(Guid Id, VacationTime time)
        {
            if (Id == null)
            {
                return(NotFound());
            }

            time = _context.VacationTimes.Find(Id);
            if (time != null)
            {
                _context.Remove(time);
                await _context.SaveChangesAsync();
            }
            SuccessDeleteMessage = "Urlop zosta³ usuniêty";
            return(RedirectToPage("/TimeManagement/Time/Dniowki"));
        }
Exemple #4
0
        public async Task <IActionResult> OnPost()
        {
            var userName = User.Identity.Name;
            var toAdd    = new VacationTime()
            {
                Id        = Guid.NewGuid(),
                DateFrom  = VacationTimeModel.DateFrom.ToString("yyyy-MM-dd"),
                DateTo    = VacationTimeModel.DateTo.ToString("yyyy-MM-dd"),
                Reason    = VacationTimeModel.Reason,
                CreatedAt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.CurrentCulture),
                Person    = userName,
                TotalDays = VacationTimeModel.CalculateDays(VacationTimeModel.DateFrom, VacationTimeModel.DateTo).ToString() + " dni"
            };

            await _efCoreVacation.Add(toAdd);

            SuccessCreationMessage = "Dodano urlop";
            return(RedirectToPage("/TimeManagement/Time/Urlopy"));
        }