private async Task <IActionResult> GetWithFilter(int year, int value, Entity.Enums.TaskScheduleType type) { try { var getByScheduleTypeDto = new GetByScheduleTypeDto { Year = year, Value = value, Type = type }; var result = await _userTaskService.GetByScheduleType(getByScheduleTypeDto); if (result.Success) { return(StatusCode(StatusCodes.Status200OK, result.Data)); } return(StatusCode(StatusCodes.Status400BadRequest, result.Message)); } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }
public async Task <IDataResult <IList <UserTaskDto> > > GetByScheduleType(GetByScheduleTypeDto scheduleTypeDto) { IList <UserTask> list = null; if (scheduleTypeDto.Year == 0 && scheduleTypeDto.Value == 0) { list = _userTaskDal.GetList(x => x.TaskType.Id == (int)scheduleTypeDto.Type, t => t.TaskType); return(new SuccessDataResult <IList <UserTaskDto> >(_mapper.Map <IList <UserTaskDto> >(list))); } switch (scheduleTypeDto.Type) { case TaskScheduleType.Daily: list = _userTaskDal.GetList(x => x.TaskType.Id == (int)TaskScheduleType.Daily && ((x.EndDate.DayOfYear == scheduleTypeDto.Value && x.EndDate.Year == scheduleTypeDto.Year) || (x.StartDate.DayOfYear == scheduleTypeDto.Value && x.StartDate.Year == scheduleTypeDto.Year)), t => t.TaskType); break; case TaskScheduleType.Weekly: _userTaskDal.GetList(x => x.TaskType.Id == (int)TaskScheduleType.Weekly && ((x.EndDate.GetWeekOfTheYear() == scheduleTypeDto.Value && x.EndDate.Year == scheduleTypeDto.Year) || (x.StartDate.GetWeekOfTheYear() == scheduleTypeDto.Value && x.StartDate.Year == scheduleTypeDto.Year)), t => t.TaskType); break; case TaskScheduleType.Monthly: list = _userTaskDal.GetList(x => x.TaskType.Id == (int)TaskScheduleType.Monthly && ((x.EndDate.Month == scheduleTypeDto.Value && x.EndDate.Year == scheduleTypeDto.Year) || (x.StartDate.Month == scheduleTypeDto.Value && x.StartDate.Year == scheduleTypeDto.Year)), t => t.TaskType); break; } if (list == null) { return(new ErrorDataResult <IList <UserTaskDto> >()); } var listDto = _mapper.Map <IList <UserTaskDto> >(list); return(new SuccessDataResult <IList <UserTaskDto> >(listDto)); }
public async Task <IActionResult> GetWithTypeFilter([FromBody] GetByScheduleTypeDto getByScheduleTypeDto) { try { var result = await _userTaskService.GetByScheduleType(getByScheduleTypeDto); if (result.Success) { return(StatusCode(StatusCodes.Status200OK, result.Data)); } return(StatusCode(StatusCodes.Status400BadRequest, result.Message)); } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }