Ejemplo n.º 1
0
        /* GetAllHelperServices*/
        public async Task <HelperServiceModel> GetHelperServices(int UserId)
        {
            HelperServiceModel helperServices = new HelperServiceModel();

            try
            {
                if (CrossConnectivity.Current.IsConnected)
                {
                    HttpClient httpClient = new HttpClient();
                    var        uri        = new Uri(string.Concat(Constants.baseUrl, "api/GetAllHelperServices?id=" + UserId));

                    //var response = await httpClient.GetAsync(uri);

                    var requestTask = httpClient.GetAsync(uri);
                    var response    = Task.Run(() => requestTask);

                    if (response.Result.IsSuccessStatusCode)
                    {
                        string result = await response.Result.Content.ReadAsStringAsync();

                        helperServices = JsonConvert.DeserializeObject <HelperServiceModel>(result);
                    }
                    else
                    {
                    }
                }
            }
            catch (Exception e)
            {
                Console.Write(e.StackTrace);
            }

            return(helperServices);
        }
Ejemplo n.º 2
0
        // GET: Home/Details/5
        public ActionResult Details(Guid?id)
        {
            ViewBag.Message = "";
            FileLogger fileLogger = new FileLogger();

            if (id == null)
            {
                //return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                ViewBag.Message = "Bad request, missing identifier.";
                fileLogger.ErrorLog("Home: Bad Request");
                return(View());
            }

            HelperServiceModel helperServiceModel = oHSR.Get(id.Value);

            if (helperServiceModel == null)
            {
                //return HttpNotFound();
                ViewBag.Message = "Bad identifier, helper not found.";
                fileLogger.ErrorLog("Home: Bad identifier");
                return(View());
            }

            OpenClosedStatus(helperServiceModel); // add hours
            fileLogger.StateLog("Home: Detail");
            return(View(helperServiceModel));
        }
Ejemplo n.º 3
0
        public void SetHelpCenterCurrentStatus(HelperServiceModel helpcenter, List <int> openingHours)
        {
            if (openingHours != null)
            {
                TimeSpan start              = new TimeSpan(openingHours[0], 0, 0);
                TimeSpan end                = new TimeSpan(openingHours[1], 0, 0);
                TimeSpan now                = DateTime.Now.TimeOfDay;
                var      dateTimeEnd        = new DateTime(end.Ticks);   // Date part is 01-01-0001
                var      formattedEndTime   = dateTimeEnd.ToString("hh:mm");
                var      dateTimeStart      = new DateTime(start.Ticks); // Date part is 01-01-0001
                var      formattedStartTime = dateTimeStart.ToString("hh:mm");

                if ((now > start) && (now < end))
                {
                    //match found
                    helpcenter.CurrentStatus     = "open";
                    helpcenter.CurrentStatusInfo = "OPEN - OPEN TODAY UNTIL " + formattedEndTime.ToString() + " PM";
                }
                else if ((now < start) && (now < end))
                {
                    helpcenter.CurrentStatus     = "close";
                    helpcenter.CurrentStatusInfo = "CLOSED - OPEN TODAY AT " + formattedStartTime.ToString() + " AM";
                }
                else
                {
                    helpcenter.CurrentStatus     = "close";
                    helpcenter.CurrentStatusInfo = FindNextWorkingDayDisplayText(helpcenter);
                }
            }
            else
            {
                helpcenter.CurrentStatus     = "Not available";
                helpcenter.CurrentStatusInfo = "We're sorry, we are temporarily unable to display";
            }
        }
Ejemplo n.º 4
0
        public static List <int> TodaysHours(HelperServiceModel service)
        {
            DateTime now = DateTime.Now;

            switch (now.DayOfWeek)
            {
            case DayOfWeek.Monday:
                return(service.MondayOpeningHours);

            case DayOfWeek.Tuesday:
                return(service.TuesdayOpeningHours);

            case DayOfWeek.Wednesday:
                return(service.WednesdayOpeningHours);

            case DayOfWeek.Thursday:
                return(service.ThursdayOpeningHours);

            case DayOfWeek.Friday:
                return(service.FridayOpeningHours);

            case DayOfWeek.Saturday:
                return(service.SaturdayOpeningHours);

            case DayOfWeek.Sunday:
            default:
                return(service.SundayOpeningHours);
            }
        }
Ejemplo n.º 5
0
        //TODO: Unit tests

        public static string OpeningHours(HelperServiceModel service)
        {
            if (service == null)
            {
                return(string.Empty);
            }

            int currentHour = DateTime.Now.Hour;

            List <int> openingHours = TodaysHours(service);

            if (openingHours == null)
            {
                return(string.Empty);
            }

            if (!IsOpen(openingHours, currentHour))
            {
                if (openingHours[0] > currentHour)
                {
                    return($"Opens at {FormatTime(openingHours[0])}");
                }

                return(NextOpenDay(service));
            }
            else
            {
                return($"Open until {FormatTime(openingHours[1])}");
            }
        }
Ejemplo n.º 6
0
        public void PrepareOpeningTimes(HelperServiceModel helpcenter)
        {
            int dayOfWeek = (int)System.DateTime.Now.DayOfWeek;

            List <int> openingHours = FindOpeningTimes(helpcenter, dayOfWeek);

            SetHelpCenterCurrentStatus(helpcenter, openingHours);
        }
Ejemplo n.º 7
0
        public void OpeningHours_NullService_ReturnEmptyString()
        {
            HelperServiceModel helperService = new HelperServiceModel();

            var result = ServiceHelpers.OpeningHours(helperService);

            Assert.AreEqual(result, string.Empty);
        }
        async void GotoNextService(int i)
        {
            if (i >= helperServices.Service.Count)
            {
                helperServices = (await(new HelpersServices()).SaveHelperServices(helperServices));

                if (helperServices.HelperId != 0)
                {
                    RegisterUserModel user = App.Database.GetUsers(helperServices.UserId);
                    user.IsServiced = true;
                    App.Database.SaveUser(user);

                    await DisplayAlert("Information", "Services saved successfully", "Ok");

                    GoToBuildTrust();
                }
                else
                {
                    await DisplayAlert("Error", "Somethin wrong! Please try again.", "Ok");
                }


                return; // Call HelperServices and go to Build Trust
            }

            var g = gridHelperEditServices.Children.ElementAt(i + 1);

            g.BackgroundColor = Color.FromHex("#FF748C");

            svHelperEditServices.IsVisible  = false;
            svHelperRegHelperHome.IsVisible = true;

            // Reset data
            HelperServices service = helperServices.Service.ElementAt(i);

            btnHelperRegSelectedService.Text = service.ServiceName;

            SetScopes(service.ServiceId);
            SetPriceType();
            helperServices.Service[i].Scopes = new List <HelperScopes>();

            entryHelperRegLocation.Text = "";

            //btnHelperRegHourly.isSelected = false;
            gridPriceHour.IsVisible = false;

            //btnHelperRegMonthly.isSelected = false;
            gridPriceMonth.IsVisible = false;

            //btnHelperRegDaily.isSelected = false;
            gridPriceDay.IsVisible = false;

            //btnHelperRegTbd.isSelected = false;
        }
        void GoToEditServices()
        {
            helperCompleteRegisterTitle.Text       = "Helper Sign Up 2/3";
            gridHelperEditServices.BackgroundColor = Color.Transparent;
            gridHelperEditServices.Children.ElementAt(0).BackgroundColor = Color.FromHex("#FF748C");
            svHelperBasicInfo.IsVisible    = false;
            svHelperEditServices.IsVisible = true;

            helperServices         = new HelperServiceModel();
            helperServices.Service = new List <HelperServices>();
        }
Ejemplo n.º 10
0
        private string FindNextWorkingDayDisplayText(HelperServiceModel helpcenter)
        {
            string     nextWorkingDayDisplayText = string.Empty;
            int        dayOfWeek      = (int)System.DateTime.Now.DayOfWeek;
            ArrayList  holidaysOfWeek = new ArrayList();
            List <int> NextWorkingDay;


            if (helpcenter.SundayOpeningHours != null && helpcenter.SundayOpeningHours[0] == 0)
            {
                holidaysOfWeek.Add(0);
            }

            if (helpcenter.MondayOpeningHours != null && helpcenter.MondayOpeningHours[0] == 0)
            {
                holidaysOfWeek.Add(1);
            }

            if (helpcenter.TuesdayOpeningHours != null && helpcenter.TuesdayOpeningHours[0] == 0)
            {
                holidaysOfWeek.Add(2);
            }
            if (helpcenter.WednesdayOpeningHours != null && helpcenter.WednesdayOpeningHours[0] == 0)
            {
                holidaysOfWeek.Add(3);
            }
            if (helpcenter.ThursdayOpeningHours != null && helpcenter.ThursdayOpeningHours[0] == 0)
            {
                holidaysOfWeek.Add(4);
            }
            if (helpcenter.FridayOpeningHours != null && helpcenter.FridayOpeningHours[0] == 0)
            {
                holidaysOfWeek.Add(5);
            }
            if (helpcenter.SaturdayOpeningHours != null && helpcenter.SaturdayOpeningHours[0] == 0)
            {
                holidaysOfWeek.Add(6);
            }


            do
            {
                dayOfWeek++;
                dayOfWeek = dayOfWeek % 7;
            } while (holidaysOfWeek.Contains(dayOfWeek));

            NextWorkingDay = FindOpeningTimes(helpcenter, dayOfWeek);


            nextWorkingDayDisplayText = "CLOSED - REOPENS " + Enum.GetName(typeof(DayOfWeek), dayOfWeek) + " at " + NextWorkingDay[0].ToString() + " AM";
            return(nextWorkingDayDisplayText);
        }
        private static Dictionary <DayOfWeek, List <int> > PopulateDictionary(HelperServiceModel o)
        {
            Dictionary <DayOfWeek, List <int> > result = new Dictionary <DayOfWeek, List <int> >();

            result.Add(DayOfWeek.Sunday, o.SundayOpeningHours);
            result.Add(DayOfWeek.Monday, o.MondayOpeningHours);
            result.Add(DayOfWeek.Tuesday, o.TuesdayOpeningHours);
            result.Add(DayOfWeek.Wednesday, o.WednesdayOpeningHours);
            result.Add(DayOfWeek.Thursday, o.ThursdayOpeningHours);
            result.Add(DayOfWeek.Friday, o.FridayOpeningHours);
            result.Add(DayOfWeek.Saturday, o.SaturdayOpeningHours);

            return(result);
        }
        /// <summary>
        /// Shows message if service center has no openclosed timings
        /// Sets the next workind day based on openclosed timings
        /// </summary>
        /// <param name="helperService"></param>
        /// <param name="day"></param>
        private void SetClosedStatus(HelperServiceModel helperService, DateTime day)
        {
            helperService.ServiceCenterStatus.IsOpen = false;
            DateTime nextOpenDay = (day).AddDays(1);

            if (dayCount <= 7)
            {
                SetOpenigHours(helperService, nextOpenDay, true);
            }
            else
            {
                helperService.ServiceCenterStatus.IsOpen           = false;
                helperService.ServiceCenterStatus.OpenClosedStatus = Constants.TIMING_MESSAGE;
            }
        }
Ejemplo n.º 13
0
        public void Test_GetOpeningClosedStatus_WhenClosedMessageOpenCheck()
        {
            //Arrange
            HelperServiceFactory helperServiceFactory = new HelperServiceFactory();
            var input = new HelperServiceModel
            {
                Title              = "East London Helper Service",
                Description        = "Test data",
                Id                 = Guid.Parse("FD15B5C7-EF00-4623-8CEA-20E7513283FC"),
                MondayOpeningHours = new List <int> {
                    0, 0
                },
                TuesdayOpeningHours = new List <int> {
                    0, 0
                },
                WednesdayOpeningHours = new List <int> {
                    0, 0
                },
                ThursdayOpeningHours = new List <int> {
                    0, 0
                },
                FridayOpeningHours = new List <int> {
                    0, 0
                },
                SaturdayOpeningHours = new List <int> {
                    9, 12
                },
                SundayOpeningHours = new List <int> {
                    0, 0
                },
                TelephoneNumber = "0207 0000000",
                Location        = "London"
            };

            //Act
            helperServiceFactory.GetOpeningClosedStatus(input);

            //Assert
            if ((DateTime.Now.DayOfWeek.ToString() == "Saturday") && ((DateTime.Now.Hour >= 9) && (DateTime.Now.Hour <= 12)))
            {
                Assert.AreEqual("Open Today until 12 PM", input.ServiceCenterStatus.OpenClosedStatus);
            }
            else
            {
                Assert.AreEqual("Reopens Saturday at 9 AM", input.ServiceCenterStatus.OpenClosedStatus);
            }
        }
Ejemplo n.º 14
0
        public void Test_GetOpeningClosedStatus_WhenOpenStatusCheck()
        {
            //Arrange
            HelperServiceFactory helperServiceFactory = new HelperServiceFactory();
            var input = new HelperServiceModel
            {
                Title              = "East London Helper Service",
                Description        = "Test data",
                Id                 = Guid.Parse("FD15B5C7-EF00-4623-8CEA-20E7513283FC"),
                MondayOpeningHours = new List <int> {
                    9, 12
                },
                TuesdayOpeningHours = new List <int> {
                    9, 12
                },
                WednesdayOpeningHours = new List <int> {
                    9, 12
                },
                ThursdayOpeningHours = new List <int> {
                    9, 12
                },
                FridayOpeningHours = new List <int> {
                    9, 12
                },
                SaturdayOpeningHours = new List <int> {
                    9, 12
                },
                SundayOpeningHours = new List <int> {
                    9, 12
                },
                TelephoneNumber = "0207 0000000",
                Location        = "London"
            };

            //Act
            helperServiceFactory.GetOpeningClosedStatus(input);

            //Assert
            if ((DateTime.Now.Hour >= 9) && (DateTime.Now.Hour <= 12))
            {
                Assert.AreEqual(input.ServiceCenterStatus.IsOpen, true);
            }
            else
            {
                Assert.AreEqual(input.ServiceCenterStatus.IsOpen, false);
            }
        }
 /// <summary>
 /// Get the OpeningTimes and Open or Closed status of service center
 /// </summary>
 /// <param name="helperService"></param>
 public void GetOpeningClosedStatus(HelperServiceModel helperService)
 {
     FileLogger.Log("GetOpeningClosedStatus Initialized ", Constants.INFO);
     try
     {
         helperService.ServiceCenterStatus = new ServiceCenterStatus
         {
             IsOpen = true
         };
         dayCount = 0;
         SetOpenigHours(helperService, DateTime.Today, false);
     }
     catch (Exception ex)
     {
         FileLogger.Log(ex.Message, "Error");
         throw ex;
     }
 }
Ejemplo n.º 16
0
        public async Task <HelperServiceModel> SaveHelperServices(HelperServiceModel helperService)
        {
            HelperResponseModel helpers = new HelperResponseModel();

            try
            {
                if (CrossConnectivity.Current.IsConnected)
                {
                    HttpClient httpClient = new HttpClient();

                    var uri = new Uri(string.Concat(Constants.baseUrl, "api/HelperServices"));

                    var json    = JsonConvert.SerializeObject(helperService);
                    var content = new StringContent(json, Encoding.UTF8, "application/json");

                    var response = await httpClient.PostAsync(uri, content);

                    //var requestTask = httpClient.PostAsync(uri, content);
                    //var response = Task.Run(() => requestTask);

                    if (response.IsSuccessStatusCode)
                    {
                        string result = await response.Content.ReadAsStringAsync();

                        helpers = JsonConvert.DeserializeObject <HelperResponseModel>(result);
                        helperService.HelperId = helpers.helperid;
                    }
                    else
                    {
                        string result = await response.Content.ReadAsStringAsync();

                        var message = JsonConvert.DeserializeObject <ResponseModel>(result);
                    }
                }
            }
            catch (Exception e)
            {
                Console.Write(e.StackTrace);
            }

            return(helperService);
        }
Ejemplo n.º 17
0
        private static List <int> FindOpeningTimes(HelperServiceModel helpcenter, int dayOfWeek)
        {
            List <int> openingHours = null;

            switch (dayOfWeek)
            {
            case 0:
                openingHours = helpcenter.SundayOpeningHours;
                break;

            case 1:
                openingHours = helpcenter.MondayOpeningHours;
                break;

            case 2:
                openingHours = helpcenter.TuesdayOpeningHours;
                break;

            case 3:
                openingHours = helpcenter.WednesdayOpeningHours;
                break;

            case 4:
                openingHours = helpcenter.ThursdayOpeningHours;
                break;

            case 5:
                openingHours = helpcenter.FridayOpeningHours;
                break;

            case 6:
                openingHours = helpcenter.SaturdayOpeningHours;
                break;

            default:
                //This should never hit, System.DateTime.Now.DayOfWeek should give a value within 0-6
                break;
            }

            return(openingHours);
        }
Ejemplo n.º 18
0
        public void Test_GetOpeningClosedStatus_WhenClosedMessageCheck()
        {
            //Arrange
            HelperServiceFactory helperServiceFactory = new HelperServiceFactory();
            var input = new HelperServiceModel
            {
                Title              = "East London Helper Service",
                Description        = "Test data",
                Id                 = Guid.Parse("FD15B5C7-EF00-4623-8CEA-20E7513283FC"),
                MondayOpeningHours = new List <int> {
                    0, 0
                },
                TuesdayOpeningHours = new List <int> {
                    0, 0
                },
                WednesdayOpeningHours = new List <int> {
                    0, 0
                },
                ThursdayOpeningHours = new List <int> {
                    0, 0
                },
                FridayOpeningHours = new List <int> {
                    0, 0
                },
                SaturdayOpeningHours = new List <int> {
                    0, 0
                },
                SundayOpeningHours = new List <int> {
                    0, 0
                },
                TelephoneNumber = "0207 0000000",
                Location        = "London"
            };

            //Act
            helperServiceFactory.GetOpeningClosedStatus(input);

            //Assert
            Assert.AreEqual("We're sorry, we are temporarily unable to display", input.ServiceCenterStatus.OpenClosedStatus);
        }
Ejemplo n.º 19
0
        private static string NextOpenDay(HelperServiceModel service)
        {
            try
            {
                DayOfWeek dayToCheck = DateTime.Now.DayOfWeek;

                for (var daysTried = 0; daysTried < 7; daysTried++)
                {
                    if (dayToCheck > DayOfWeek.Saturday)
                    {
                        dayToCheck = DayOfWeek.Sunday;
                    }
                    else
                    {
                        dayToCheck = ++dayToCheck;
                    }

                    switch (dayToCheck)
                    {
                    case DayOfWeek.Monday:
                        if (service.MondayOpeningHours[0] > 0)
                        {
                            return($"Reopens Monday {FormatTime(service.MondayOpeningHours[0])}");
                        }
                        break;

                    case DayOfWeek.Tuesday:
                        if (service.TuesdayOpeningHours[0] > 0)
                        {
                            return($"Reopens Tuesday {FormatTime(service.TuesdayOpeningHours[0])}");
                        }
                        break;

                    case DayOfWeek.Wednesday:
                        if (service.WednesdayOpeningHours[0] > 0)
                        {
                            return($"Reopens Wednesday {FormatTime(service.WednesdayOpeningHours[0])}");
                        }
                        break;

                    case DayOfWeek.Thursday:
                        if (service.ThursdayOpeningHours[0] > 0)
                        {
                            return($"Reopens Thursday {FormatTime(service.ThursdayOpeningHours[0])}");
                        }
                        break;

                    case DayOfWeek.Friday:
                        if (service.FridayOpeningHours[0] > 0)
                        {
                            return($"Reopens Friday {FormatTime(service.FridayOpeningHours[0])}");
                        }
                        break;

                    case DayOfWeek.Saturday:
                        if (service.SaturdayOpeningHours[0] > 0)
                        {
                            return($"Reopens Saturday {FormatTime(service.SaturdayOpeningHours[0])}");
                        }
                        break;

                    case DayOfWeek.Sunday:
                        if (service.SaturdayOpeningHours[0] > 0)
                        {
                            return($"Reopens Saturday {FormatTime(service.SaturdayOpeningHours[0])}");
                        }
                        break;
                    }
                }
            }
            catch (InvalidOperationException ex)
            {
            }

            return(string.Empty);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Open-Closed helper function
        /// </summary>
        /// <param name="helperServiceModel"></param>
        /// <returns>Open/Closed text, and style-class</returns>
        //public static string OpenClosedStatus(HelperServiceModel helperServiceModel)
        public void OpenClosedStatus(HelperServiceModel helperServiceModel)
        {
            string       sRet         = "We're sorry, we are temporarily unable to display Opening Times";
            var          dayOfWeek    = DateTime.Today.DayOfWeek;
            var          timeOfDay    = DateTime.Now.TimeOfDay;
            int          nOpen        = 0;
            int          nClose       = 0;
            bool         bOpenNClosed = false;
            int          nOffset      = 0;
            string       sOpenDay     = "";
            const string sorry1       = "Closed: We're sorry, we are temporarily unable to display the next Opening Time."; // bad times
            const string sorry2       = "We're sorry, we are temporarily unable to display Opening Times";
            const string sorry3       = "We're sorry, we are temporarily unable to display Opening Times";                  // bad day default
            const string sorry4       = "Closed: please see one of our other Helper Services.";
            string       sHoursStyle  = "bg-color-light-grey";

            try
            {
                switch (dayOfWeek)
                {
                case DayOfWeek.Sunday:
                    if (helperServiceModel.SundayOpeningHours == null)
                    {
                        throw new ApplicationException(sorry2);
                    }
                    nOpen  = helperServiceModel.SundayOpeningHours[0];
                    nClose = helperServiceModel.SundayOpeningHours[1];
                    break;

                case DayOfWeek.Monday:
                    if (helperServiceModel.MondayOpeningHours == null)
                    {
                        throw new ApplicationException(sorry2);
                    }
                    nOpen  = helperServiceModel.MondayOpeningHours[0];
                    nClose = helperServiceModel.MondayOpeningHours[1];
                    break;

                case DayOfWeek.Tuesday:
                    if (helperServiceModel.TuesdayOpeningHours == null)
                    {
                        throw new ApplicationException(sorry2);
                    }
                    nOpen  = helperServiceModel.TuesdayOpeningHours[0];
                    nClose = helperServiceModel.TuesdayOpeningHours[1];
                    break;

                case DayOfWeek.Wednesday:
                    if (helperServiceModel.WednesdayOpeningHours == null)
                    {
                        throw new ApplicationException(sorry2);
                    }
                    nOpen  = helperServiceModel.WednesdayOpeningHours[0];
                    nClose = helperServiceModel.WednesdayOpeningHours[1];
                    break;

                case DayOfWeek.Thursday:
                    if (helperServiceModel.ThursdayOpeningHours == null)
                    {
                        throw new ApplicationException(sorry2);
                    }
                    nOpen  = helperServiceModel.ThursdayOpeningHours[0];
                    nClose = helperServiceModel.ThursdayOpeningHours[1];
                    break;

                case DayOfWeek.Friday:
                    if (helperServiceModel.FridayOpeningHours == null)
                    {
                        throw new ApplicationException(sorry2);
                    }
                    nOpen  = helperServiceModel.FridayOpeningHours[0];
                    nClose = helperServiceModel.FridayOpeningHours[1];
                    break;

                case DayOfWeek.Saturday:
                    if (helperServiceModel.SaturdayOpeningHours == null)
                    {
                        throw new ApplicationException(sorry2);
                    }
                    nOpen  = helperServiceModel.SaturdayOpeningHours[0];
                    nClose = helperServiceModel.SaturdayOpeningHours[1];
                    break;

                default:     // null
                    throw new ApplicationException(sorry3);
                }

                // check if open now, assume nOpen=0 for closed all day
                if (nOpen > 0)
                {         // check opening time
                    if (TimeSpan.Compare(timeOfDay, TimeSpan.FromHours(nOpen)) > 0)
                    {     // after opening time, check closing time
                        if (TimeSpan.Compare(timeOfDay, TimeSpan.FromHours(nClose)) < 0)
                        { // we are open
                            bOpenNClosed = true;
                            sRet         = "Open today until " + ((nClose > 12) ? (nClose - 12).ToString() + "PM" : nClose.ToString() + "AM");
                            sHoursStyle  = "bg-color-donation-orange";
                        }
                    }
                    else
                    { // before opening time
                        bOpenNClosed = true;
                        sRet         = "Closed: Opening today at " + ((nOpen > 12) ? (nOpen - 12).ToString() + "PM" : nOpen.ToString() + "AM");
                        sHoursStyle  = "bg-color-donation-orange";
                    }
                }

                if (!bOpenNClosed)
                { // closed, find next open day/time
                    nOpen = 0;
                    switch (dayOfWeek)
                    {
                    case DayOfWeek.Sunday: nOffset = 0; break;

                    case DayOfWeek.Monday: nOffset = 1; break;

                    case DayOfWeek.Tuesday: nOffset = 2; break;

                    case DayOfWeek.Wednesday: nOffset = 3; break;

                    case DayOfWeek.Thursday: nOffset = 4; break;

                    case DayOfWeek.Friday: nOffset = 5; break;

                    case DayOfWeek.Saturday: nOffset = 6; break;
                    }
                    for (int day = 0; day < 7; day++)
                    {
                        if (nOpen > 0)
                        {
                            break;
                        }
                        switch (day + nOffset)
                        {
                        case 0:
                        case 7:
                            if (helperServiceModel.MondayOpeningHours == null)
                            {
                                throw new ApplicationException(sorry1);
                            }
                            nOpen    = helperServiceModel.MondayOpeningHours[0];
                            sOpenDay = "Monday";
                            break;

                        case 1:
                        case 8:
                            if (helperServiceModel.TuesdayOpeningHours == null)
                            {
                                throw new ApplicationException(sorry1);
                            }
                            nOpen    = helperServiceModel.TuesdayOpeningHours[0];
                            sOpenDay = "Tuesday";
                            break;

                        case 2:
                        case 9:
                            if (helperServiceModel.WednesdayOpeningHours == null)
                            {
                                throw new ApplicationException(sorry1);
                            }
                            nOpen    = helperServiceModel.WednesdayOpeningHours[0];
                            sOpenDay = "Wednesday";
                            break;

                        case 3:
                        case 10:
                            if (helperServiceModel.ThursdayOpeningHours == null)
                            {
                                throw new ApplicationException(sorry1);
                            }
                            nOpen    = helperServiceModel.ThursdayOpeningHours[0];
                            sOpenDay = "Thursday";
                            break;

                        case 4:
                        case 11:
                            if (helperServiceModel.FridayOpeningHours == null)
                            {
                                throw new ApplicationException(sorry1);
                            }
                            nOpen    = helperServiceModel.FridayOpeningHours[0];
                            sOpenDay = "Friday";
                            break;

                        case 5:
                        case 12:
                            if (helperServiceModel.SaturdayOpeningHours == null)
                            {
                                throw new ApplicationException(sorry1);
                            }
                            nOpen    = helperServiceModel.SaturdayOpeningHours[0];
                            sOpenDay = "Saturday";
                            break;

                        case 6:
                        case 13:
                            if (helperServiceModel.SundayOpeningHours == null)
                            {
                                throw new ApplicationException(sorry1);
                            }
                            nOpen    = helperServiceModel.SundayOpeningHours[0];
                            sOpenDay = "Sunday";
                            break;
                        }
                    }
                    // check for opening hour
                    if (nOpen == 0)
                    {
                        throw new ApplicationException(sorry4);
                    }
                    sRet = "Closed: Re-opens on " + sOpenDay + " at " + ((nOpen > 12) ? (nOpen - 12).ToString() + "PM" : nOpen.ToString() + "AM");
                }
            }
            catch (Exception ex)
            {
                sRet = ex.Message;
            }

            //return sRet;
            helperServiceModel.HoursText  = sRet;
            helperServiceModel.HoursStyle = sHoursStyle;
        } // end of (o)s
 public void GetOpeningClosedStatus(HelperServiceModel helperService)
 {
     new HelperServiceFactory().GetOpeningClosedStatus(helperService);
 }
Ejemplo n.º 22
0
        internal static List <HelperServiceModel> Create()
        {
            var weekdayOpeningTimes = new List <int> {
                9, 17
            };
            var alternativeOpeningTime = new List <int> {
                8, 12
            };                                                   //###
            //var alternativeOpeningTime = new List<int> { 8, 22 };
            var weekendOpeningTimes = new List <int> {
                10, 12
            };
            var closedTimes = new List <int> {
                0, 0
            };

            var description = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum";

            var eastLondonHelper = new HelperServiceModel
            {
                Title                 = "East London Helper Service",
                Description           = description,
                Id                    = Guid.Parse("FD15B5C7-EF00-4623-8CEA-20E7513283FC"),
                MondayOpeningHours    = closedTimes,
                TuesdayOpeningHours   = weekdayOpeningTimes,
                WednesdayOpeningHours = alternativeOpeningTime,
                ThursdayOpeningHours  = weekdayOpeningTimes,
                FridayOpeningHours    = weekdayOpeningTimes,
                SaturdayOpeningHours  = closedTimes,
                SundayOpeningHours    = closedTimes,
                TelephoneNumber       = "0207 0000000"
            };

            var northLondonHelper = new HelperServiceModel
            {
                Title                 = "North London Helper Service",
                Description           = description,
                Id                    = Guid.Parse("BB1FDCB3-AA8B-4A86-8DFD-74F0C475118F"),
                MondayOpeningHours    = weekdayOpeningTimes,
                TuesdayOpeningHours   = weekdayOpeningTimes,
                WednesdayOpeningHours = weekdayOpeningTimes,
                ThursdayOpeningHours  = weekdayOpeningTimes,
                FridayOpeningHours    = closedTimes,
                SaturdayOpeningHours  = closedTimes,
                SundayOpeningHours    = closedTimes,
                TelephoneNumber       = "0207 0000000"
            };

            var bristolHelper = new HelperServiceModel
            {
                Title                 = "Bristol Helper Service",
                Description           = description,
                Id                    = Guid.Parse("DC7F8E65-E8DB-4294-973B-569DA4EC280C"),
                MondayOpeningHours    = closedTimes,
                TuesdayOpeningHours   = closedTimes,
                WednesdayOpeningHours = weekdayOpeningTimes,
                ThursdayOpeningHours  = weekdayOpeningTimes,
                FridayOpeningHours    = weekdayOpeningTimes,
                SaturdayOpeningHours  = closedTimes,
                SundayOpeningHours    = closedTimes,
                TelephoneNumber       = "0117 0000000"
            };

            var somersetHelper = new HelperServiceModel
            {
                Title                 = "Somerset Helper Service",
                Description           = description,
                Id                    = Guid.Parse("B133869D-EB46-4F6B-B1D1-6B57581AAC92"),
                MondayOpeningHours    = alternativeOpeningTime,
                TuesdayOpeningHours   = weekdayOpeningTimes,
                WednesdayOpeningHours = closedTimes,
                ThursdayOpeningHours  = weekdayOpeningTimes,
                FridayOpeningHours    = weekdayOpeningTimes,
                SaturdayOpeningHours  = closedTimes,
                SundayOpeningHours    = closedTimes,
                TelephoneNumber       = "0207 0000000"
            };

            var nottinghamHelper = new HelperServiceModel
            {
                Title                 = "Nottingham Helper Service",
                Description           = description,
                Id                    = Guid.Parse("284BCC28-6E47-4EB2-B7BB-B9A1BB1CD4B4"),
                MondayOpeningHours    = alternativeOpeningTime,
                TuesdayOpeningHours   = weekdayOpeningTimes,
                WednesdayOpeningHours = weekdayOpeningTimes,
                ThursdayOpeningHours  = closedTimes,
                FridayOpeningHours    = weekdayOpeningTimes,
                SaturdayOpeningHours  = weekdayOpeningTimes,
                SundayOpeningHours    = weekdayOpeningTimes,
                TelephoneNumber       = "0116 0000000"
            };

            var liverpoolHelper = new HelperServiceModel
            {
                Title                 = "Liverpool Helper Service",
                Description           = description,
                Id                    = Guid.Parse("FD15B5C7-EF00-4623-8CEA-20E7513283FC"),
                MondayOpeningHours    = weekdayOpeningTimes,
                TuesdayOpeningHours   = weekdayOpeningTimes,
                WednesdayOpeningHours = alternativeOpeningTime,
                ThursdayOpeningHours  = weekdayOpeningTimes,
                FridayOpeningHours    = weekdayOpeningTimes,
                SaturdayOpeningHours  = weekendOpeningTimes,
                SundayOpeningHours    = weekendOpeningTimes,
                TelephoneNumber       = "0151 0000000"
            };

            var northernIrelandHelper = new HelperServiceModel
            {
                Title                 = "Belfast Helper Service",
                Description           = description,
                Id                    = Guid.Parse("3FCE3EFD-9713-4449-8DFF-A6FF3D771993"),
                MondayOpeningHours    = weekdayOpeningTimes,
                TuesdayOpeningHours   = weekdayOpeningTimes,
                WednesdayOpeningHours = weekdayOpeningTimes,
                ThursdayOpeningHours  = weekdayOpeningTimes,
                FridayOpeningHours    = weekdayOpeningTimes,
                SaturdayOpeningHours  = weekdayOpeningTimes,
                SundayOpeningHours    = weekendOpeningTimes,
                TelephoneNumber       = "0289 0000000"
            };

            var westMidlandsHelper = new HelperServiceModel
            {
                Title                 = "West Midlands Helper Service",
                Description           = description,
                Id                    = Guid.Parse("7BA5E5E1-C29E-40BA-832B-F145DEE37A5D"),
                MondayOpeningHours    = alternativeOpeningTime,
                TuesdayOpeningHours   = alternativeOpeningTime,
                WednesdayOpeningHours = alternativeOpeningTime,
                ThursdayOpeningHours  = alternativeOpeningTime,
                FridayOpeningHours    = alternativeOpeningTime,
                SaturdayOpeningHours  = alternativeOpeningTime,
                SundayOpeningHours    = alternativeOpeningTime,
                TelephoneNumber       = "0289 0000000"
            };

            var walesHelper = new HelperServiceModel
            {
                Title                 = "Wales Helper Service",
                Description           = description,
                Id                    = Guid.Parse("C9EB3091-CDF0-4F7E-9435-3ACEF695EDFE"),
                MondayOpeningHours    = weekdayOpeningTimes,
                TuesdayOpeningHours   = weekdayOpeningTimes,
                WednesdayOpeningHours = weekdayOpeningTimes,
                ThursdayOpeningHours  = weekdayOpeningTimes,
                FridayOpeningHours    = weekdayOpeningTimes,
                SaturdayOpeningHours  = weekdayOpeningTimes,
                SundayOpeningHours    = weekendOpeningTimes,
                TelephoneNumber       = "029 8800000"
            };

            var fifeHelper = new HelperServiceModel
            {
                Title                 = "Fife Helper Service",
                Description           = description,
                Id                    = Guid.Parse("078767E1-5695-42DD-AD9A-4310535C93F0"),
                MondayOpeningHours    = weekdayOpeningTimes,
                TuesdayOpeningHours   = weekdayOpeningTimes,
                WednesdayOpeningHours = weekdayOpeningTimes,
                ThursdayOpeningHours  = weekdayOpeningTimes,
                FridayOpeningHours    = weekdayOpeningTimes,
                SaturdayOpeningHours  = weekdayOpeningTimes,
                SundayOpeningHours    = weekendOpeningTimes,
                TelephoneNumber       = "0159 2000000"
            };

            var openingHours = new List <HelperServiceModel> {
                eastLondonHelper, northLondonHelper, bristolHelper, somersetHelper, nottinghamHelper, liverpoolHelper, northernIrelandHelper, westMidlandsHelper, walesHelper, fifeHelper
            };

            return(DeliberateBug(openingHours));//###
        }
        /// <summary>
        /// Sets the OpeningTimes and Open or Closed status of service center based on the Current day
        /// </summary>
        /// <param name="helperService"></param>
        /// <param name="day"></param>
        /// <param name="nextDaystatus"></param>
        private void SetOpenigHours(HelperServiceModel helperService, DateTime day, bool nextDaystatus)
        {
            List <int> openHours = new List <int>();

            switch (day.DayOfWeek.ToString())
            {
            case "Monday":
                openHours = helperService.MondayOpeningHours;
                break;

            case "Tuesday":
                openHours = helperService.TuesdayOpeningHours;
                break;

            case "Wednesday":
                openHours = helperService.WednesdayOpeningHours;
                break;

            case "Thursday":
                openHours = helperService.ThursdayOpeningHours;
                break;

            case "Friday":
                openHours = helperService.FridayOpeningHours;
                break;

            case "Saturday":
                openHours = helperService.SaturdayOpeningHours;
                break;

            case "Sunday":
                openHours = helperService.SundayOpeningHours;
                break;
            }
            if (openHours == null)            //Handles Deliberate bug
            {
                helperService.ServiceCenterStatus.OpenClosedStatus = Constants.TIMING_MESSAGE;
            }
            else
            {
                if ((openHours[0] > 0))                                                                //Checks if open on that day
                {
                    if (!nextDaystatus)                                                                //Checks if current day
                    {
                        if ((DateTime.Now.Hour >= openHours[0]) && (DateTime.Now.Hour < openHours[1])) //Checks if open at current time and current day
                        {
                            helperService.ServiceCenterStatus.OpenClosedStatus = Constants.OPEN_STATUS + ConvertTime(openHours[1].ToString());
                        }
                        else if ((DateTime.Now.Hour < openHours[0]))
                        {
                            helperService.ServiceCenterStatus.OpenClosedStatus = Constants.CLOSED_STATUS + day.DayOfWeek.ToString() + " at " + ConvertTime(openHours[0].ToString());
                            helperService.ServiceCenterStatus.IsOpen           = false;
                        }
                        else
                        {
                            dayCount++;
                            SetClosedStatus(helperService, day);
                        }
                    }
                    else                     // setting Reopen day and time
                    {
                        helperService.ServiceCenterStatus.OpenClosedStatus = Constants.CLOSED_STATUS + day.DayOfWeek.ToString() + " at " + ConvertTime(openHours[0].ToString());
                    }
                }
                else
                {
                    dayCount++;
                    SetClosedStatus(helperService, day);
                }
            }
        }