public static void CacheHoursDropdown()
        {
            var hoursViewModel = new HoursViewModel();
            var listOfHours    = new List <SelectListItem> {
                new SelectListItem {
                    Value = "-1", Text = "Select Time"
                }
            };
            const int noOfWorkingHoursInDropdown = 12;
            var       shiftStartTime             = 17;//5PM

            Enumerable.Range(0, noOfWorkingHoursInDropdown).ForEach(hour =>
            {
                var span = TimeSpan.FromHours(shiftStartTime);
                var time = DateTime.Today + span;
                listOfHours.Add(new SelectListItem
                {
                    Value = hour.ToString(),
                    Text  = time.ToString("hh:mm tt")
                });
                shiftStartTime += 1;
            });
            hoursViewModel.StartTimeHours = listOfHours;
            hoursViewModel.BedTimeHours   = listOfHours;
            hoursViewModel.EndTimeHours   = listOfHours;
            IocContainer.Resolve <ICacheService>().SetCache(hoursViewModel, "WorkingHoursModel");
        }
Exemplo n.º 2
0
        public ActionResult Index()
        {
            User user = new User();

            user = (User)Session["user"];

            HoursViewModel hoursViewModel = new HoursViewModel
            {
                UserName = user.LastName + ", " + user.FirstName
            };

            HierarchyController hierarchyController = new HierarchyController();

            LocationController locationController = new LocationController();

            IQueryable <CountryViewModel> countryViewModels = hierarchyController.GetAllCountries();

            ViewData["countries"] = countryViewModels;

            IQueryable <LocationViewModel> locationViewModels = locationController.GetAllLocations();

            ViewData["locations"] = locationViewModels;

            IQueryable <EntityViewModel> entityViewModels = hierarchyController.GetAllEntitiesWithDetails();

            ViewData["entityViewModels"] = entityViewModels;

            return(View(hoursViewModel));
        }
 internal bool IsModelValid(HoursViewModel hoursModel)
 {
     return(hoursModel != null &&
            hoursModel.SelectedStartTimeHours != -1 &&                              //-1 is default value for dropdown for 'Select Time'
            hoursModel.SelectedBedTimeHours != -1 &&                                //-1 is default value for dropdown for 'Select Time'
            hoursModel.SelectedEndTimeHours != -1 &&                                //-1 is default value for dropdown for 'Select Time'
            hoursModel.SelectedStartTimeHours >= 0 &&                               //start time can start at 0, 5pm start
            hoursModel.SelectedBedTimeHours >= 0 &&                                 //bed time can start at 0, 5pm start
            hoursModel.SelectedEndTimeHours > 0 &&                                  //end time can not start at 0, we do not pay fractional hours, assuming since i started i have to get paid at least for 1 hour
            hoursModel.SelectedStartTimeHours <= hoursModel.SelectedBedTimeHours && //bedtime can also begin at start time
            hoursModel.SelectedStartTimeHours < hoursModel.SelectedEndTimeHours &&  //start time must be less than end time ours
            hoursModel.SelectedBedTimeHours < hoursModel.SelectedEndTimeHours &&    //must be paid at least 1 hour if I start
            hoursModel.SelectedStartTimeHours <= MaxWorkingHoursFromStart &&        //can not work more than 11 hours straight
            hoursModel.SelectedBedTimeHours <= MaxWorkingHoursFromStart &&
            hoursModel.SelectedEndTimeHours <= MaxWorkingHoursFromStart &&
            ModelState.IsValid);
 }
Exemplo n.º 4
0
        public HoursViewModel SearchHour(string SearchDate = "2017/02/12 12:00:00 AM")
        {
            HoursViewModel hvm = new HoursViewModel();

            hvm.PersonH  = new List <HoursPerPerson>();
            hvm.ProjectH = new List <HoursPerProject>();

            if (DateTime.TryParse(SearchDate, out DateTime temp) == true)
            {
                DateTime date  = Convert.ToDateTime(SearchDate);
                var      month = date.Month;
                var      year  = date.Year;

                hvm.PersonH = (_db.Query <HoursPerPerson>($"Select sum (T.hoursCaptured) [PeHours], U.Username[Username] FROM Timeslots T JOIN Users U on T.UserId = U.UserId where MONTH(T.Date) = {month} and YEAR(T.Date) = {year} group by  U.Username; "));

                hvm.ProjectH = (_db.Query <HoursPerProject>($" Select sum (T.hoursCaptured) [PrHours],P.Name [Project] FROM Timeslots T JOIN Projects P on T.UserId = P.ProjectId where MONTH(T.Date) = {month} and YEAR(T.Date) = {year} group by  P.Name"));
            }

            return(hvm);
        }
        public ActionResult CalculatePayout(HoursViewModel hoursModel)
        {
            if (hoursModel == null)
            {
                return(View("Index"));
            }
            hoursModel.ErrorMessage = string.Empty;
            if (IsModelValid(hoursModel))
            {
                var selectedStartTimeHours = hoursModel.SelectedStartTimeHours;
                var selectedBedTimeHours   = hoursModel.SelectedBedTimeHours;
                var selectedEndTimeHours   = hoursModel.SelectedEndTimeHours;
                hoursModel.TotalPayout = selectedEndTimeHours <= MidnightHoursFromShiftStart
                    ? GetTotalPayoutNotOverMidnight(selectedStartTimeHours, selectedBedTimeHours, selectedEndTimeHours)//babysitter is not working over midnight
                    : GetTotalPayoutOverMidnight(selectedStartTimeHours, selectedBedTimeHours, selectedEndTimeHours);
            }
            else
            {
                hoursModel.ErrorMessage = "Selected Hours are not valid";
                return(Json(hoursModel, JsonRequestBehavior.AllowGet));
            }

            return(PartialView("_TotalPayout", hoursModel));
        }
Exemplo n.º 6
0
        //string open0, string close0, string open1, string close1, string open2, string close2, string open3, string close3, string open4, string close4, string open5, string close5, string open6, string close6
        //public void UpdateBreweryHours(HoursViewModel m)


        public void UpdateBreweryHours(int brewID, string open0, string close0, string open1, string close1, string open2, string close2, string open3, string close3, string open4, string close4, string open5, string close5, string open6, string close6)
        {
            //DaysHoursOperation day = new DaysHoursOperation();

            HoursViewModel m = new HoursViewModel();

            m.DaysHours = new List <DaysHoursOperation>()
            {
                new DaysHoursOperation()
                {
                    DayOfWeek = "Monday"
                },
                new DaysHoursOperation()
                {
                    DayOfWeek = "Tuesday"
                },
                new DaysHoursOperation()
                {
                    DayOfWeek = "Wednesday"
                },
                new DaysHoursOperation()
                {
                    DayOfWeek = "Thursday"
                },
                new DaysHoursOperation()
                {
                    DayOfWeek = "Friday"
                },
                new DaysHoursOperation()
                {
                    DayOfWeek = "Saturday"
                },
                new DaysHoursOperation()
                {
                    DayOfWeek = "Sunday"
                }
            };
            m.BrewID = brewID;

            m.DaysHours[0].Opens = open0 ?? "CLOSED";
            m.DaysHours[1].Opens = open1 ?? "CLOSED";
            m.DaysHours[2].Opens = open2 ?? "CLOSED";
            m.DaysHours[3].Opens = open3 ?? "CLOSED";
            m.DaysHours[4].Opens = open4 ?? "CLOSED";
            m.DaysHours[5].Opens = open5 ?? "CLOSED";
            m.DaysHours[6].Opens = open6 ?? "CLOSED";

            m.DaysHours[0].Closes = close0 ?? "CLOSED";
            m.DaysHours[1].Closes = close1 ?? "CLOSED";
            m.DaysHours[2].Closes = close2 ?? "CLOSED";
            m.DaysHours[3].Closes = close3 ?? "CLOSED";
            m.DaysHours[4].Closes = close4 ?? "CLOSED";
            m.DaysHours[5].Closes = close5 ?? "CLOSED";
            m.DaysHours[6].Closes = close6 ?? "CLOSED";



            foreach (var day in m.DaysHours)
            {
                if (day.Opens == null)
                {
                    day.Opens = "CLOSED";
                }
                if (day.Closes == null)
                {
                    day.Closes = "CLOSED";
                }
            }



            string removeOLD = @"delete from operation where brewery_id = @brewID";

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(removeOLD, conn);
                cmd.Parameters.AddWithValue("@brewID", m.BrewID);
                cmd.ExecuteNonQuery();
            }

            foreach (var day in m.DaysHours)
            {
                string sql = @"INSERT INTO OPERATION VALUES (@brewID, @day, @open, @close);";
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(sql + _getLastIdSQL, conn);
                    cmd.Parameters.AddWithValue("@brewID", m.BrewID);
                    cmd.Parameters.AddWithValue("@day", day.DayOfWeek);
                    cmd.Parameters.AddWithValue("@open", day.Opens);
                    cmd.Parameters.AddWithValue("@close", day.Closes);
                    cmd.ExecuteNonQuery();
                }
            }
        }
Exemplo n.º 7
0
        public ActionResult Process(HttpPostedFileBase photo, int picbrewID, string history, string address, string cname, string email, string phone, int brewID, HoursViewModel m
                                    , string open0, string close0, string open1, string close1, string open2, string close2, string open3, string close3, string open4, string close4, string open5, string close5, string open6, string close6, bool profPIC = false
                                    )
        {
            Brewery b = new Brewery
            {
                History      = history,
                Address      = address,
                ContactName  = cname,
                ContactEmail = email,
                ContactPhone = phone,
                BreweryID    = brewID
            };

            _brew.UpdateBreweryInfo(b);
            m.BrewID = brewID;
            _brew.UpdateBreweryHours(brewID, open0, close0, open1, close1, open2, close2, open3, close3, open4, close4, open5, close5, open6, close6);

            if (photo != null)
            {
                if (!isValidContentType(photo.ContentType))
                {
                    ViewBag.Error = "wrong format";
                    return(View("FileUpload"));
                }
                else
                {
                    int idTag = _brew.GetLastAddedBrewPhotoID(brewID);
                    idTag += 1;
                    Brewery brew      = _brew.GetBreweryByID(picbrewID);
                    var     filename  = $"{brew.BreweryName}{idTag}.jpg";
                    var     path      = Path.Combine(Server.MapPath("~/Photos"), filename);
                    string  checkfile = Path.GetFileName(photo.FileName);
                    _brew.UploadBreweryPhoto(filename, brew.BreweryID, profPIC);

                    photo.SaveAs(path);

                    return(Redirect("Index"));
                }
            }
            return(RedirectToAction("Index"));
        }