예제 #1
0
        public ActionResult UpdateDashboardPeriod(DashboardPeriodViewModel viewModel)
        {
            // update missing data from model
            viewModel.UserId         = User.Identity.GetUserId();
            viewModel.DashboardStart = viewModel.FromDateTime.Value;
            viewModel.DashboardEnd   = viewModel.ToDateTime.Value;

            if (!ModelState.IsValid)
            {
                return(Json(new { success = false, responseText = "Error updating dashboard settings." }, JsonRequestBehavior.AllowGet));
            }

            AthleteSetting settings = _unitOfWork.CRUDRepository.GetByUserId <AthleteSetting>(viewModel.UserId).FirstOrDefault();

            if (settings == null)
            {
                return(Json(new { success = false, responseText = "Error updating dashboard settings." }, JsonRequestBehavior.AllowGet));
            }

            try
            {
                settings.DashboardStart = viewModel.DashboardStart;
                settings.DashboardEnd   = viewModel.DashboardEnd;
                settings.DashboardRange = viewModel.DashboardRange;

                _unitOfWork.CRUDRepository.Update <AthleteSetting>(settings);
                _unitOfWork.Complete();

                return(Json(new { success = true, responseText = "Record Updated Sucessfully." }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(new { success = false, responseText = "Error updating dashboard settings." }, JsonRequestBehavior.AllowGet));
            }
        }
예제 #2
0
        public static DashboardDateRange CreateAndCalulcate(AthleteSetting setting)
        {
            DashboardDateRange range = new Helpers.DashboardDateRange(setting);

            range.Calculate();
            return(range);
        }
예제 #3
0
        public static DashboardDateRange CreateAndCalulcate(string range, DateTime start, DateTime end)
        {
            AthleteSetting setting = new AthleteSetting();

            setting.DashboardRange = range;
            setting.DashboardStart = start;
            setting.DashboardEnd   = end;

            return(CreateAndCalulcate(setting));
        }
        public void DashboardDateRange_TestDefault()
        {
            AthleteSetting setting = new AthleteSetting();

            Assert.AreEqual(null, setting.DashboardRange);


            DashboardDateRange range = DashboardDateRange.CreateAndCalulcate(setting);

            // should use default date range.
            Assert.AreEqual(DateTime.Now.AddDays(DashboardDateRange.DEFAULT_START_DAYS).Date, range.Start);
            Assert.AreEqual(DateTime.Now.Date, range.End);
        }
        public void DashboardDateRange_BothDateSet()
        {
            AthleteSetting setting = new AthleteSetting();

            setting.DashboardStart = DateTime.Now.AddDays(-1).Date;
            setting.DashboardEnd   = DateTime.Now.AddDays(1).Date;


            DashboardDateRange range = DashboardDateRange.CreateAndCalulcate(setting);

            // no range description set so should use dates provided.
            Assert.AreEqual(DateTime.Now.AddDays(-1).Date, range.Start);
            Assert.AreEqual(DateTime.Now.AddDays(1).Date, range.End);
        }
        public void DashboardDateRange_Last7Days()
        {
            string rangeName = "Last 7 Days";

            AthleteSetting setting = new AthleteSetting();

            setting.DashboardRange = rangeName;

            Assert.AreEqual(rangeName, setting.DashboardRange);

            DashboardDateRange range = DashboardDateRange.CreateAndCalulcate(setting);

            DateTime expectedStart = DateTime.Now.AddDays(-6).Date;
            DateTime expectedEnd   = DateTime.Now.Date;

            Assert.AreEqual(expectedStart, range.Start);
            Assert.AreEqual(expectedEnd, range.End);
        }
        public void DashboardDateRange_InvalidRangeDescription()
        {
            string invalidRangeName = "Invalid Range";

            AthleteSetting setting = new AthleteSetting();

            setting.DashboardRange = invalidRangeName;
            setting.DashboardStart = DateTime.Now.AddDays(-1).Date;
            setting.DashboardEnd   = DateTime.Now.AddDays(1).Date;

            Assert.AreEqual(invalidRangeName, setting.DashboardRange);

            DashboardDateRange range = DashboardDateRange.CreateAndCalulcate(setting);

            // invalid range deescription should use default ranges.
            Assert.AreEqual(DateTime.Now.AddDays(DashboardDateRange.DEFAULT_START_DAYS).Date, range.Start);
            Assert.AreEqual(DateTime.Now.Date, range.End);
        }
        public void DashboardDateRange_ThisYear()
        {
            string rangeName = "This Year";

            AthleteSetting setting = new AthleteSetting();

            setting.DashboardRange = rangeName;

            Assert.AreEqual(rangeName, setting.DashboardRange);

            DashboardDateRange range = DashboardDateRange.CreateAndCalulcate(setting);

            DateTime expectedStart = new DateTime(DateTime.Now.Year, 1, 1);
            DateTime expectedEnd   = DateTime.Now.Date;

            Assert.AreEqual(expectedStart, range.Start);
            Assert.AreEqual(expectedEnd, range.End);
        }
예제 #9
0
        private void CheckSettings()
        {
            AthleteSetting setting = _unitOfWork.CRUDRepository.GetByUserId <AthleteSetting>(UserId).FirstOrDefault();

            if (setting != null)
            {
                return;
            }

            Athlete fvAthlete = _unitOfWork.CRUDRepository.GetByUserId <Athlete>(UserId).FirstOrDefault();

            if (fvAthlete == null)
            {
                return;
            }

            setting = AthleteSetting.DefaultSettings(fvAthlete.Id, UserId);

            _unitOfWork.CRUDRepository.Add <AthleteSetting>(setting);
            _unitOfWork.Complete();
        }
        public void DashboardDateRange_LastMonth()
        {
            string rangeName = "Last Month";

            AthleteSetting setting = new AthleteSetting();

            setting.DashboardRange = rangeName;

            Assert.AreEqual(rangeName, setting.DashboardRange);

            DashboardDateRange range = DashboardDateRange.CreateAndCalulcate(setting);

            DateTime expectedStart = new DateTime(DateTime.Now.AddMonths(-1).Year, DateTime.Now.AddMonths(-1).Month, 1);
            DateTime expectedEnd   = new DateTime(DateTime.Now.AddMonths(-1).Year,
                                                  DateTime.Now.AddMonths(-1).Month,
                                                  DateTime.DaysInMonth(DateTime.Now.AddMonths(-1).Year,
                                                                       DateTime.Now.AddMonths(-1).Month));

            Assert.AreEqual(expectedStart, range.Start);
            Assert.AreEqual(expectedEnd, range.End);
        }
예제 #11
0
 private DashboardDateRange(AthleteSetting settings)
 {
     AthleteSetting = settings;
 }