public async Task <CalendarHolidayViewModel> GetCalendarHolidayAsync(string language) { var data = new CalendarHolidayViewModel(); data.message = new messageModel(); try { var userId = JwtHelper.GetUserIdFromToken(HttpContext); if (String.IsNullOrEmpty(userId)) { throw new Exception("Unauthorized Access"); } using (var context = new StandardcanContext()) { var jsonData = JsonConvert.SerializeObject(new { emp_id = userId, lang = language, }); SystemLog systemLog = new SystemLog() { module = "api/CalendarHoliday/GetCalendarHoliday", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbGetHoliday.FromSqlRaw("sp_mb_get_holiday").ToList(); data.calendarholiday_list = new List <CalendarHoliday>(); foreach (var item in spData) { CalendarHoliday calendarHoliday = new CalendarHoliday(); calendarHoliday.startTime = item.startTime; calendarHoliday.endTime = item.endTime; calendarHoliday.title = item.title; calendarHoliday.remark = item.remark; data.calendarholiday_list.Add(calendarHoliday); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public void TestWithCachedCalendarDataFromExternalDataSource() { var calendars = new Dictionary <string, CalendarHoliday>(); calendars["test"] = new CalendarHoliday() { HolidayList = new List <string>() { "2018-04-22", "2018-04-29", "2018-04-30", "2018-05-01", "2018-05-05", } }; CalendarImpl.InitializeCalendarData(calendars); var cny = CalendarImpl.Get("test"); var start = new Date(2018, 4, 26); // 2 days var end = new Date(2018, 5, 4); //3 days var numDays = cny.NumberBizDaysBetweenDate(start, end, true); Assert.AreEqual(5, numDays); }