public async Task <IActionResult> Submit([Bind("ID,DateOfActivity,Hours,Activity")]
                                                 ServiceHours serviceHours)
        {
            serviceHours.DateSubmitted = DateTime.Now;

            if (ModelState.IsValid)
            {
                if (!signInManager.IsSignedIn(User))
                {
                    return(RedirectToPage("/Account/Login", new { area = "Identity" }));
                }

                if (!userManager.GetUserAsync(User).Result.EmailConfirmed)
                {
                    return(RedirectToAction("UnverifiedAccount", "Hours"));
                }

                serviceHours.UserId = userManager.GetUserAsync(User).Result.Id;

                context.Add(serviceHours);
                await context.SaveChangesAsync();

                return(RedirectToAction(nameof(ViewHours)));
            }

            return(View(serviceHours));
        }
        public async Task <IActionResult> SubmitDeveloper([Bind("ID,UserId,DateOfActivity,Hours,Activity")]
                                                          ServiceHours serviceHours)
        {
            serviceHours.DateSubmitted = DateTime.Now;

            if (ModelState.IsValid)
            {
                if (!signInManager.IsSignedIn(User))
                {
                    return(RedirectToPage("/Account/Login", new { area = "Identity" }));
                }

                if (!userManager.GetUserAsync(User).Result.IsDeveloper())
                {
                    return(RedirectToPage("/Account/AccessDenied", new { area = "Identity" }));
                }

                context.Add(serviceHours);
                await context.SaveChangesAsync();

                return(RedirectToAction(nameof(ViewHours)));
            }

            return(View(serviceHours));
        }
Esempio n. 3
0
        private static void CheckTranslation(ServiceHours model, VmHours translation)
        {
            translation.AdditionalInformation.Should().Be(model.AdditionalInformations.Select(x => x.Text).FirstOrDefault());
            translation.Id.Should().Be(model.Id);
            translation.ValidFrom.Should().Be(model.OpeningHoursFrom.ToEpochTime());
            translation.ValidTo.Should().Be(model.OpeningHoursTo.ToEpochTime());
//            translation.DailyHours.Count.Should()
//                .Be(model.DailyOpeningTimes.Count - model.DailyOpeningTimes.Count(x => x.IsExtra));
        }
        private static void CheckTranslation(VmSpecialHours model, ServiceHours translation)
        {
            translation.Id.Should().NotBeEmpty();
            translation.OpeningHoursFrom.Should().Be(model.ValidFrom.FromEpochTime());
            translation.DailyOpeningTimes.Count.Should().Be(1);
            var day = translation.DailyOpeningTimes.First();

            day.From.Should().Be(model.TimeFrom.Value.FromEpochTimeOfDay());
            day.To.Should().Be(model.TimeTo.Value.FromEpochTimeOfDay());
        }
Esempio n. 5
0
        private static void CheckTranslation(ServiceHours model, VmExceptionalHours translation)
        {
            translation.Closed.Should().Be(model.IsClosed);
//            translation.AdditionalInformation.Should().Be(model.AdditionalInformations.Select(x => x.Text).FirstOrDefault() ?? string.Empty);
            translation.Id.Should().Be(model.Id);
            translation.ValidFrom.Should().Be(model.OpeningHoursFrom.ToEpochTime());
            if (!model.IsClosed)
            {
                translation.TimeFrom.Should().BeGreaterThan(0);
            }
//            translation.DailyHours.Count.Should()
//                .Be(model.DailyOpeningTimes.Count - model.DailyOpeningTimes.Count(x => x.IsExtra));
        }
        private static void CheckTranslation(ServiceHours model, VmSpecialHours translation)
        {
//            translation.AdditionalInformation.Should().Be(model.AdditionalInformations.Select(x => x.Text).FirstOrDefault() ?? string.Empty);
            translation.Id.Should().Be(model.Id);
            translation.ValidFrom.Should().Be(model.OpeningHoursFrom.ToEpochTime());
            var day = model.DailyOpeningTimes.First();

            translation.TimeFrom.Should().BeGreaterThan(0);
            translation.TimeTo.Should().BeGreaterThan(0);
            ((int)translation.DayFrom).Should().Be(day.DayFrom);
            ((int?)translation.DayTo).Should().Be(day.DayTo);
//            translation.DailyHours.Count.Should()
//                .Be(model.DailyOpeningTimes.Count - model.DailyOpeningTimes.Count(x => x.IsExtra));
        }
Esempio n. 7
0
        private static void CheckTranslation(VmNormalHours model, ServiceHours translation, int normalCount, int extraCount)
        {
            translation.Id.Should().NotBeEmpty();
//            translation.ServiceHourTypeId.Should().Be(model.ServiceHoursType.ToString().GetGuid());
            translation.OpeningHoursFrom.Should().Be(model.ValidFrom.FromEpochTime());
            if (!model.Nonstop)
            {
                translation.DailyOpeningTimes.Count.Should().Be(normalCount + extraCount);
            }
            else
            {
                translation.DailyOpeningTimes.Count.Should().Be(0);
            }
        }
Esempio n. 8
0
 private static void CheckTranslation(VmExceptionalHours model, ServiceHours translation)
 {
     translation.Id.Should().NotBeEmpty();
     translation.IsClosed.Should().Be(model.Closed);
     translation.DailyOpeningTimes.Count.Should().Be(model.Closed ? 0 : 1);
     if (!model.Closed)
     {
         var day = translation.DailyOpeningTimes.First();
         day.From.Should().Be(model.TimeFrom.Value.FromEpochTimeOfDay());
         day.To.Should().Be(model.TimeTo.Value.FromEpochTimeOfDay());
         day.DayFrom.Should().Be((int)WeekDayEnum.Monday);
         day.DayTo.Should().Be((int?)WeekDayEnum.Sunday);
     }
 }
Esempio n. 9
0
 private void CheckTranslation(ServiceHours model, VmNormalHours translation, int dailyCout, int extraCount)
 {
     translation.Id.Should().Be(model.Id);
     translation.ValidFrom.Should().Be(model.OpeningHoursFrom.ToEpochTime());
     translation.Nonstop.Should().Be(model.DailyOpeningTimes.Count == 0);
     translation.DailyHours.Count.Should()
         .Be(model.DailyOpeningTimes.Count);
     foreach (var vmDailyHourse in translation.DailyHours)
     {
         int index = (int) vmDailyHourse.DayFrom;
         vmDailyHourse.TimeFrom.FromEpochTimeOfDay().Should().Be(GetTime(index, false, true));
         vmDailyHourse.TimeTo.FromEpochTimeOfDay().Should().Be(GetTime(index, false, false));
         if (index < extraCount)
         {
             vmDailyHourse.TimeFromExtra.FromEpochTimeOfDay().Should().Be(GetTime(index, true, true));
             vmDailyHourse.TimeToExtra.FromEpochTimeOfDay().Should().Be(GetTime(index, true, false));
         }
     }
 }
Esempio n. 10
0
        private static void CheckTranslation(VmHours model, ServiceHours translation, int normalCount, int extraCount)
        {
            translation.AdditionalInformations.Count.Should().Be(1);
            translation.Id.Should().NotBe(model.ServiceHoursType.ToString().GetGuid());
            translation.ServiceHourTypeId.Should().NotBeEmpty();

            translation.OpeningHoursFrom.Should().Be(model.ValidFrom.HasValue ? model.ValidFrom.FromEpochTime() : DateTime.UtcNow.Date);

            if (model.IsDateRange)
            {
                translation.OpeningHoursTo.Should().Be(model.ValidTo.FromEpochTime());
            }
            else
            {
                translation.OpeningHoursTo.HasValue.Should().BeFalse();
            }
//            translation.DailyOpeningTimes.FirstOrDefault()?.CreatedBy.Should().Be("test" + translation.DailyOpeningTimes.Count.ToString());
//            translation.DailyOpeningTimes.Count.Should().Be(normalCount + extraCount);
//            translation.DailyOpeningTimes.Count(x => !x.IsExtra).Should().Be(normalCount);
//            translation.DailyOpeningTimes.Count(x => x.IsExtra).Should().Be(extraCount);
        }
Esempio n. 11
0
        public async Task <IActionResult> Edit([Bind("ID,DateOfActivity,Hours,Activity")]
                                               ServiceHours serviceHours)
        {
            if (ModelState.IsValid)
            {
                if (!signInManager.IsSignedIn(User))
                {
                    return(RedirectToPage("/Account/Login", new { area = "Identity" }));
                }

                var hours = await context.ServiceHours.FindAsync(serviceHours.ID);

                hours.DateOfActivity = serviceHours.DateOfActivity;
                hours.Hours          = serviceHours.Hours;
                hours.Activity       = serviceHours.Activity;

                await context.SaveChangesAsync();

                return(RedirectToAction(nameof(ViewHours)));
            }

            return(View(serviceHours));
        }