Beispiel #1
0
        [DataRow(2019, 1, 6, 12, 0, false)]    //so
        public void OpeningHours_IsOpen(int y, int M, int d, int h, int m, bool result)
        {
            var dt = new DateTime(y, M, d, h, m, 0);
            var oh = new OpeningHours();

            Assert.AreEqual(result, oh.IsOpen(dt));
        }
Beispiel #2
0
        // dodanie/modyfikacja/skasowanie godzin otwarcia
        // skasowanie - godzina otwarcia = godzina zamknięcia
        // jeśli jakiegoś dnia nie ma, to znaczy, że korty są nieczynne
        public static bool AddModifyOpeningHours(OpeningHours openingHours)
        {
            bool result = false;

            using (SqlConnection connection = SqlDatabase.NewConnection())
            {
                if (SqlDatabase.OpenConnection(connection))
                {
                    var command = new SqlCommand("dbo.AddOpeningHours", connection);
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@DayOfWeek", openingHours.DayOfWeek);
                    command.Parameters.AddWithValue("@TimeFrom", openingHours.TimeFrom);
                    command.Parameters.AddWithValue("@TimeTo", openingHours.TimeTo);

                    command.CommandTimeout = SqlDatabase.Timeout;

                    try
                    {
                        command.ExecuteNonQuery();
                        result = true;
                    }
                    catch (Exception ex)
                    {
                    }

                    SqlDatabase.CloseConnection(connection);
                }
            }
            return(result);
        }
        [TestCase(2019, 4, 14, 22, 00, 00, false)] //So
        public void OpeningHours_IsOpen(int year, int month, int day, int hour, int minute, int second, bool expectedResult)
        {
            var oh = new OpeningHours();
            var dt = new DateTime(year, month, day, hour, minute, second);

            Assert.AreEqual(expectedResult, oh.IsOpen(dt));
        }
Beispiel #4
0
        [InlineData(2020, 1, 5, 12, 00, !true)] //So
        public void OpeningHours_IsOpen(int year, int month, int day, int hour, int minute, bool exp)
        {
            var oh = new OpeningHours();
            var dt = new DateTime(year, month, day, hour, minute, 0);

            Assert.Equal(exp, oh.IsOpen(dt));
        }
Beispiel #5
0
            public OpeningHours Parse()
            {
                OpeningHours openingHours = new OpeningHours();

                switch (day)
                {
                case "MO":
                    openingHours.Day = DayOfWeek.Monday;
                    break;

                case "TU":
                    openingHours.Day = DayOfWeek.Tuesday;
                    break;

                case "WE":
                    openingHours.Day = DayOfWeek.Wednesday;
                    break;

                case "TH":
                    openingHours.Day = DayOfWeek.Thursday;
                    break;

                case "FR":
                    openingHours.Day = DayOfWeek.Friday;
                    break;

                case "SA":
                    openingHours.Day = DayOfWeek.Saturday;
                    break;

                case "SU":
                    openingHours.Day = DayOfWeek.Sunday;
                    break;
                }

                int i;

                if (from1 != null && int.TryParse(from1, out i))
                {
                    openingHours.From1 = new TimeSpan(i / 100, i - i / 100 * 100, 0);
                }

                if (to1 != null && int.TryParse(to1, out i))
                {
                    openingHours.To1 = new TimeSpan(i / 100, i - i / 100 * 100, 0);
                }

                if (from2 != null && int.TryParse(from2, out i))
                {
                    openingHours.From2 = new TimeSpan(i / 100, i - i / 100 * 100, 0);
                }

                if (to2 != null && int.TryParse(to2, out i))
                {
                    openingHours.To2 = new TimeSpan(i / 100, i - i / 100 * 100, 0);
                }

                return(openingHours);
            }
Beispiel #6
0
        // zwraca godziny otwarcia daneogo dnia
        public static OpeningHours GetOpeningHour(int dayOfWeek)
        {
            OpeningHours openingHours = null;

            using (SqlConnection connection = SqlDatabase.NewConnection())
            {
                if (SqlDatabase.OpenConnection(connection))
                {
                    var command = new SqlCommand("select * from dbo.VOpeningHours where DayOfWeek = @dayOfWeek", connection);
                    command.Parameters.AddWithValue("@dayOfWeek", dayOfWeek);
                    command.CommandTimeout = SqlDatabase.Timeout;

                    var reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        openingHours = new OpeningHours()
                        {
                            DayOfWeek = (int)reader["DayOfWeek"],
                            DayName   = "",
                            TimeFrom  = (TimeSpan)reader["TimeFrom"],
                            TimeTo    = (TimeSpan)reader["TimeTo"],
                        };
                    }

                    switch (openingHours.DayOfWeek)
                    {
                    case 1:     // dla sqla pierwszy dzien tygodnia to niedziela
                        openingHours.DayName = Resources.Texts.DayWeek7;
                        break;

                    case 2:
                        openingHours.DayName = Resources.Texts.DayWeek1;
                        break;

                    case 3:
                        openingHours.DayName = Resources.Texts.DayWeek2;
                        break;

                    case 4:
                        openingHours.DayName = Resources.Texts.DayWeek3;
                        break;

                    case 5:
                        openingHours.DayName = Resources.Texts.DayWeek4;
                        break;

                    case 6:
                        openingHours.DayName = Resources.Texts.DayWeek5;
                        break;

                    case 7:
                        openingHours.DayName = Resources.Texts.DayWeek6;
                        break;
                    }
                    SqlDatabase.CloseConnection(connection);
                }
            }
            return(openingHours);
        }
        public void OpeningHours_IsNowOpen()
        {
            var oh = new OpeningHours();

            Assert.IsTrue(oh.IsNowOpen()); // Problem: Funktioniert vlt Fr und Sa aber Sonntag nicht mehr

            // Microsoft.Fakes, FakesFramework (teil von VisualStudio Enterprise)
        }
        public OpeningHours getHours(string id)
        {
            var userId        = _http.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier) ?? "00000000-0000-0000-0000-000000000000";
            var authenticated = _http.HttpContext.User.Identity.IsAuthenticated;


            if (id != userId || !authenticated)
            {
                return(null);
            }

            var user = _db.Users.Find(userId);

            if (user == null)
            {
                return(null);
            }

            var             daysOfWeek   = _db.DaysOfTheWeek.ToList();
            List <OpenHour> openingHours = new List <OpenHour>();

            foreach (var day in daysOfWeek)
            {
                var userDay = _db.UsersHours.FirstOrDefault(x => x.DayId == day.Id && x.UserId == user.Id);
                if (userDay == null)
                {
                    openingHours.Add(
                        new OpenHour
                    {
                        Day      = day.Name,
                        DayId    = day.Id,
                        IsOpened = false,
                    });
                }
                else
                {
                    openingHours.Add(
                        new OpenHour
                    {
                        Day      = day.Name,
                        DayId    = day.Id,
                        IsOpened = userDay.IsOpened,
                        From     = userDay.From,
                        To       = userDay.To,
                    });
                }
            }

            OpeningHours model = new OpeningHours
            {
                Hours  = openingHours,
                UserId = user.Id,
            };

            return(model);
        }
Beispiel #9
0
        [DataRow(2021, 03, 21, 12, 00, false)] //sa
        public void OpeningHours_IsOpen(int y, int M, int d, int h, int m, bool exp)
        {
            var dt = new DateTime(y, M, d, h, m, 0);
            var oh = new OpeningHours();

            //Assert.AreEqual(exp, oh.IsOpen(dt));
            oh.IsOpen(dt).Should().Be(exp);

            17.Should().BeInRange(10, 19);
        }
Beispiel #10
0
 public bool RemoveOpeningHours(OpeningHours openingHours)
 {
     try {
         _context.Remove(openingHours);
         _context.SaveChanges();
         return(true);
     } catch (Exception) {
         return(false);
     }
 }
        public void OpeningHours_isOpen()
        {
            OpeningHours oh = new OpeningHours();

            Assert.IsFalse(oh.IsOpen(new DateTime(1, 1, 1, 0, 0, 0)));
            Assert.IsFalse(oh.IsOpen(new DateTime(1, 1, 1, 10, 29, 0)));
            Assert.IsTrue(oh.IsOpen(new DateTime(1, 1, 1, 10, 30, 0)));
            Assert.IsTrue(oh.IsOpen(new DateTime(1, 1, 1, 18, 59, 0)));
            Assert.IsFalse(oh.IsOpen(new DateTime(1, 1, 1, 19, 00, 0)));
        }
        [DataRow(2019, 9, 8, 13, 59, false)] //  13:59 -> zu

        // .. Alle DataRows für die ganze Woche (Mo-So) hier reinschreiben ;)
        public void OpeningHours_isOpen(int year, int month, int day, int hour, int minute, bool expectedResult)
        {
            var testDay = new DateTime(year, month, day, hour, minute, 00);
            // testlogik:

            OpeningHours opening = new OpeningHours();

            Assert.IsTrue(opening.IsOpen(testDay) == expectedResult);
            // oder:
            // Assert.AreEqual(expectedResult, opening.IsOpen(testDay));
        }
Beispiel #13
0
        //used to delete OpeningHours from database if they are no longer used
        public bool RemoveOpeningHours(OpeningHours openingHours)
        {
            var openingHoursToRemove = Enumerable.FirstOrDefault <OpeningHours>(_hallRepository.OpeningHours(), o => o.OpeningHoursId == openingHours.OpeningHoursId);

            if (openingHoursToRemove != null)
            {
                return(_hallRepository.RemoveOpeningHours(openingHoursToRemove));
            }
            else
            {
                return(false);
            }
        }
Beispiel #14
0
        public void OpeningHours_IsOpenNow()
        {
            var oh = new OpeningHours();

            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2020, 9, 28, 11, 0, 0); //mo
                Assert.IsTrue(oh.IsNowOpen());

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2020, 9, 28, 20, 0, 0); //mo
                Assert.IsFalse(oh.IsNowOpen());
            }
        }
        public ActionResult EditHours(int id, [Bind(Include = "DayOfWeek, TimeFrom, TimeTo")] OpeningHours openinghours)
        {
            try
            {
                SqlCompany.AddModifyOpeningHours(openinghours);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Beispiel #16
0
        public void Update(OpeningHours openingHours)
        {
            var hourToUpdate = databaseContext.OpeningHours.FirstOrDefault(oh => oh.Id == openingHours.Id);

            hourToUpdate.Comment   = openingHours.Comment;
            hourToUpdate.Friday    = openingHours.Friday;
            hourToUpdate.Monday    = openingHours.Monday;
            hourToUpdate.Saturday  = openingHours.Saturday;
            hourToUpdate.Sunday    = openingHours.Sunday;
            hourToUpdate.Thursday  = openingHours.Thursday;
            hourToUpdate.Tuesday   = openingHours.Tuesday;
            hourToUpdate.Wednesday = openingHours.Wednesday;
            databaseContext.SaveChanges();
        }
Beispiel #17
0
        public void OpeningHours_IsNowOpen_MS_Fakes()
        {
            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2011, 11, 11, 11, 11, 11);
                var oh = new OpeningHours();


                var result = oh.IsNowOpen();

                //Assert.IsTrue(result);
                result.Should().BeFalse("Schade");
            }
        }
        public void OpeningHours_IsNowOpen()
        {
            var oh = new OpeningHours();

            // Interpretationsproblem: zwischen 14:00 und 17:00 ists True, ansonsten False
            // Abhängigkeit auf DateTime.Now auflösen
            // 1) Fakes-Framework (VS Enterprise)
            // 2) Pose (Kostenlos)
            // 3) TypeMock (kostenpflichtig)

            // Variante Fakes:

            using (ShimsContext.Create())
            {
                // Nur hier drinnen sind unsere Fakes gültig

                // Nach dieser Zeile Code liefert DateTime.Now IMMER das folgend definierte Ergebnis zurück:
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2019, 1, 1, 11, 11, 59);
                var result = oh.IsNowOpen();
                Assert.IsTrue(result); // Di um 11:11 -> Offen

                // Andere feste Abhängigkeiten auflösen:
                // System.IO.File

                System.IO.Fakes.ShimFile.ExistsString = parameter => true;

                Assert.IsTrue(File.Exists("7:\\kbjasdbkjas%/@@@.jpg"));

                //System.Fakes.ShimDateTime.NowGet = () => new DateTime(2019, 1, 2, 11, 11, 59);
                //result = oh.IsNowOpen();
                //Assert.IsTrue(result); // Di um 11:11 -> Offen
            }

            // Nach dem Using: Alles wieder wie Normal !
            // Zusammengefasst:
            // Perfekt um Daten zu Simulieren
            // Sensor sagt: "zu kalt", "zu warm", "es BRENNT", --keine daten--  => Grenzfälle simulieren
            // Ideal: keine "echte Datenbankverbindung" => sehr schnelle Daten

            // Fake auf einer Instanz:

            using (ShimsContext.Create())
            {
                LehmanBrothersReloaded.Fakes.ShimBankaccount.AllInstances.BalanceGet = x => 100_000_000m;

                var ba = new Bankaccount(); // realer Kontostand: 0

                Assert.AreEqual(Wealth.FilthyRich, ba.Wealth);
            }
        }
Beispiel #19
0
        public string FormatOpeningHours(OpeningHours openingHours)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append(FormatDayOfWeekOpeningHours(openingHours.monday, nameof(Monday)));
            builder.Append(FormatDayOfWeekOpeningHours(openingHours.tuesday, nameof(Tuesday)));
            builder.Append(FormatDayOfWeekOpeningHours(openingHours.wednesday, nameof(Wednesday)));
            builder.Append(FormatDayOfWeekOpeningHours(openingHours.thursday, nameof(Thursday)));
            builder.Append(FormatDayOfWeekOpeningHours(openingHours.friday, nameof(Friday)));
            builder.Append(FormatDayOfWeekOpeningHours(openingHours.saturday, nameof(Saturday)));
            builder.Append(FormatDayOfWeekOpeningHours(openingHours.sunday, nameof(Sunday), openingHours.monday));

            return(builder.ToString());
        }
        public void OpeningHours_IsNowOpen()
        {
            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet      = () => new DateTime(2019, 1, 1, 20, 0, 0);
                System.IO.Fakes.ShimFile.ExistsString = x => true;

                Assert.IsTrue(File.Exists("7:\\ewlnflkew.txt"));

                var oh = new OpeningHours();

                var result = oh.IsNowOpen();

                Assert.IsFalse(result);
            }
        }
Beispiel #21
0
        public IActionResult DisplayFormattedOpeningHours(OpeningHours openingHours)
        {
            try
            {
                _logger.LogInformation($"API Request. Params: {JsonConvert.SerializeObject(openingHours)}");
                var response = _service.FormatOpeningHours(openingHours);


                _logger.LogInformation($"API Response: {response}");
                return(Ok(response));
            }
            catch (Exception ex)
            {
                _logger.LogError($"API Exception: {ex.ToString()}");
                return(new StatusCodeResult((int)HttpStatusCode.BadRequest));
            }
        }
Beispiel #22
0
        public void OpeningHourse_IsNowOpen()
        {
            using (ShimsContext.Create())
            {
                var oh = new OpeningHours();

                System.IO.Fakes.ShimStreamReader.AllInstances.ReadLine = sr => "wichtiger text";



                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2018, 10, 1, 16, 0, 0);
                Assert.IsTrue(oh.IsNowOpen());

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2018, 10, 1, 19, 0, 0);
                Assert.IsFalse(oh.IsNowOpen());
            }
        }
Beispiel #23
0
        public void OpeningHours_IsNowOpen()
        {
            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2019, 3, 23, 11, 0, 0);

                var oh = new OpeningHours();
                // Testen ob für Samstag um 11 uhr offen ist
                Assert.AreEqual(true, oh.IsNowOpen());

                // Lustige Sachen machen :)

                System.IO.Fakes.ShimFile.ExistsString = x => true; // Jede datei existiert
                Assert.IsTrue(File.Exists(@"7:\demo\\asdknasldn&/!%/%&("));
            }
            // Ab hier ist die Fake-methode nicht mehr gültig !
        }
        public Task <JsonResult> Get(
            string timezoneName  = "Europe/Berlin",
            bool?isBusinessHours = null,
            bool?isWeekday       = null,
            string day           = null)
        {
            var localDateTime = GetLocalTime(timezoneName);


            var openingHours = new OpeningHours
            {
                IsWeekday       = isWeekday ?? CheckIsWeekday(localDateTime),
                IsBusinessHours = isBusinessHours ?? CheckIsBusinessHours(localDateTime),
                DayOfWeek       = day == null?GetDay(localDateTime) : (DayOfWeek)Enum.Parse(typeof(DayOfWeek), day, true)
            };

            return(Task.FromResult(new JsonResult(openingHours)));
        }
Beispiel #25
0
        //[TestMethod]
        public void OpeningHours_IsNowOpen_POSE()
        {
            PoseContext.Isolate(() =>
            {
                Shim dateTimeShim = Shim.Replace(() => DateTime.Now).With(() => new DateTime(2011, 11, 11, 1, 11, 11));

                //Shim.Replace(() => File.ReadAllText("A")).With(s => "Hallo Welt");

                Debug.WriteLine(DateTime.Now);
                Debug.WriteLine(File.ReadAllText("A"));
                var oh = new OpeningHours();


                var result = oh.IsNowOpen();

                Assert.IsTrue(result);
                //Assert.IsFalse(result);
            });
        }
Beispiel #26
0
        public static bool CheckWhetherLiveHelpSystemIsOpen()
        {
            OpeningHours openingHours = GetOpeningHoursConfiguration();

            foreach (OpeningHoursDaysDay day in openingHours.Items[0].Day)
            {
                if (day.name == DateTime.Now.DayOfWeek.ToString())
                {
                    foreach (OpeningHoursDaysDayTime time in day.Time)
                    {
                        if ((int)DateTime.Now.Hour >= int.Parse(time.begin) &&
                            (int)DateTime.Now.Hour < int.Parse(time.end))
                        {
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
    private static async Task CreateOpeningHours(ApplicationDbContext context)
    {
        List <OpeningHours> hours = new List <OpeningHours>();

        for (int i = 1; i <= 5; i++)
        {
            OpeningHours openingHours = new OpeningHours
            {
                DayOfWeek            = i,
                OpenFrom             = DateTime.Today.Add(new TimeSpan(8, 30, 0)),
                OpenTo               = new DateTime(2050, 1, 1, 16, 0, 0),
                StandardOpeningHours = true
            };
            hours.Add(openingHours);
        }

        await context.AddRangeAsync(hours);

        await context.SaveChangesAsync();
    }
Beispiel #28
0
        public async Task <IActionResult> RegisterOpeningHours(ChatOpeningHoursRegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                int[] daysOfWeek = GetOpeningHoursDays(Convert.ToInt32(model.SelectedDayOfWeek));
                if (daysOfWeek != null)
                {
                    List <OpeningHours> openingHours = new List <OpeningHours>();
                    DateTime            from         = model.DateFrom.Add(model.OpenFrom);
                    DateTime            to           = model.DateTo.Add(model.OpenTo);
                    for (int i = 0; i < daysOfWeek.Length; i++)
                    {
                        OpeningHours hours = new OpeningHours
                        {
                            DayOfWeek            = daysOfWeek[i],
                            OpenFrom             = from,
                            OpenTo               = to,
                            StandardOpeningHours = false
                        };
                        openingHours.Add(hours);
                    }
                    await _repository.SaveOpeningHours(openingHours);

                    return(RedirectToAction("Index", "Administrator"));
                }
            }
            return(View(model)); // If we get here, something is wrong! Return view again



            /*ChatOpeningHoursViewModel model = new ChatOpeningHoursViewModel
             * {
             *  DaysOfWeek = list,
             *  // DateFrom = (DateTime.Today).Date,
             *  DateFrom = DateTime.Today,
             *  DateTo = (DateTime.MaxValue).Date,
             *  OpenFrom = new TimeSpan(08, 30, 00),
             *  OpenTo = new TimeSpan(16, 00, 00)
             * };*/
            //return View(model);
        }
        public void OpeningHours_IsNowOpen_Fakes()
        {
            // Microsoft.Fakes, FakesFramework (teil von VisualStudio Enterprise)
            var oh = new OpeningHours();

            // FakesFramework erstellt eine komplette Isolationsschicht für das .NET Framework
            // Wenn jetzt jemand DateTime.Now haben will, können wir ein vordefiniertes Ergebnis zurückliefier

            // Shim -> Microsoft-Name für "Mock"
            using (ShimsContext.Create())
            {
                // Nur hier drinnen gilt unsere Fake-Konfiguration
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(1984, 1, 1, 14, 52, 40);

                var uhrzeitFake = DateTime.Now; // Fake

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(1984, 1, 1, 14, 52, 40);

                Assert.IsFalse(oh.IsNowOpen()); // Sonntag ;)

                // Abhängigkeiten:
                System.IO.Fakes.ShimFile.ExistsString = filename => true;

                Assert.IsTrue(File.Exists("7:\\demo//$()()||||<<y.exe"));

                // Roboterarm im Büro
            }
            var uhrzeitOriginal = DateTime.Now; // Original


            Assert.IsTrue(oh.IsNowOpen());

            // Ideal für folgende Situationen:
            // Sensor sagt: zu heiß/zu kalt / es brennt
            // Keine echte Datenbankverbindung
            // REST-Service liefert immer den selben JSON-String
            // Datenbankergebnisse faken -> sehr schnell
        }
Beispiel #30
0
        public void OpeningHoursPartial()
        {
            //Arrange
            var openingHours = new OpeningHours()
            {
                WorksDays = new List <Days>()
                {
                    new Days()
                    {
                        Name = "Pon-Czw", WorkHours = "12.00 - 22.00"
                    },
                    new Days()
                    {
                        Name = "Pt-Sob", WorkHours = "12.00 - 22.00"
                    },
                    new Days()
                    {
                        Name = "Niedz", WorkHours = "12.00 - 22.00"
                    }
                }
            };
            var            homePresentationService = Substitute.For <IHomePresentationService>();
            var            xmlManager = Substitute.For <IXmlManager>();
            HomeController controller = new HomeController(homePresentationService, xmlManager);

            //Act
            xmlManager.GetXmlModel <OpeningHours>("OpeningHours").Returns(openingHours);
            PartialViewResult result   = controller.OpeningHoursPartial() as PartialViewResult;
            string            viewName = result.ViewName;
            OpeningHours      model    = result.Model as OpeningHours;

            //Assert
            Assert.NotNull(result);
            Assert.AreEqual("_OpeningHoursPartial", viewName);
            Assert.NotNull(model);
        }
            public OpeningHours Parse()
            {
                OpeningHours openingHours = new OpeningHours();

                switch (day)
                {
                    case "MO":
                        openingHours.Day = DayOfWeek.Monday;
                        break;
                    case "TU":
                        openingHours.Day = DayOfWeek.Tuesday;
                        break;
                    case "WE":
                        openingHours.Day = DayOfWeek.Wednesday;
                        break;
                    case "TH":
                        openingHours.Day = DayOfWeek.Thursday;
                        break;
                    case "FR":
                        openingHours.Day = DayOfWeek.Friday;
                        break;
                    case "SA":
                        openingHours.Day = DayOfWeek.Saturday;
                        break;
                    case "SU":
                        openingHours.Day = DayOfWeek.Sunday;
                        break;
                }

                int i;

                if (from1 != null && int.TryParse(from1, out i))
                    openingHours.From1 = new TimeSpan(i / 100, i - i / 100 * 100, 0);

                if (to1 != null && int.TryParse(to1, out i))
                    openingHours.To1 = new TimeSpan(i / 100, i - i / 100 * 100, 0);

                if (from2 != null && int.TryParse(from2, out i))
                    openingHours.From2 = new TimeSpan(i / 100, i - i / 100 * 100, 0);

                if (to2 != null && int.TryParse(to2, out i))
                    openingHours.To2 = new TimeSpan(i / 100, i - i / 100 * 100, 0);

                return openingHours;
            }