コード例 #1
0
        public async Task <IActionResult> GetCourseScheduleSelected(
            [FromBody] CourseScheduleRequestModel requestModel)
        {
            try
            {
                _logger.LogInformation("Request: " + requestModel);

                // часовой пояс пользователя (по умолчанию - Москва, +3 часа к UTC)
                var userAccountRequestData = new UserAccountRequestDataCourseSchedule
                {
                    TimeZoneId = TimeZoneInfo.Local.Id //"Russian Standard Time"
                };

                // переводим utc время в часовой пояс пользователя
                var datetimeRequestUser = TimeZoneInfo.ConvertTime(requestModel.DateTimeRequest,
                                                                   TimeZoneInfo.FindSystemTimeZoneById(userAccountRequestData.TimeZoneId));

                var courseScheduleDtoModel = new CourseScheduleDtoModel
                {
                    DateTimeRequest = datetimeRequestUser,
                    GroupName       = requestModel.GroupName
                };

                // подготавливаем ViewModel для отображения
                var courseScheduleViewModel = await _courseScheduleService.Get(courseScheduleDtoModel);

                _logger.LogInformation("Response: " + courseScheduleViewModel);
                return(Ok(courseScheduleViewModel));
            }
            catch (Exception ex)
            {
                _logger.LogError("Exception: " + ex);
                return(BadRequest(new CourseScheduleViewModel()));
            }
        }
コード例 #2
0
        public IActionResult GetToday()
        {
            try
            {
                // часовой пояс пользователя (по умолчанию - Москва, +3 часа к UTC)
                var userAccountRequestData = new UserAccountRequestDataCourseSchedule
                {
                    TimeZoneId = TimeZoneInfo.Local.Id, //"Russian Standard Time"
                    GroupName  = "БББО-01-16"
                };

                var datetimeUtc = DateTime.UtcNow;

                _logger.LogInformation("Request: ",
                                       "DateTimeRequest: " + datetimeUtc, " ",
                                       "GroupName " + userAccountRequestData.GroupName);

                // переводим utc время в часовой пояс пользователя
                var datetimeRequestUser = TimeZoneInfo.ConvertTime(datetimeUtc,
                                                                   TimeZoneInfo.FindSystemTimeZoneById(userAccountRequestData.TimeZoneId));

                var courseScheduleDtoModel = new CourseScheduleDtoModel
                {
                    DateTimeRequest = datetimeRequestUser,
                    GroupName       = userAccountRequestData.GroupName
                };

                // подготавливаем ViewModel для отображения
                var courseScheduleViewModel = _courseScheduleService.Get(courseScheduleDtoModel);

                _logger.LogInformation("Response: " + courseScheduleViewModel);
                return(Ok(courseScheduleViewModel));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Exception: " + ex);
                return(BadRequest(new CourseScheduleViewModel()));
            }
        }