public async Task <ActionResult> GetReportProductivity([FromBody] ReportProductivityRequestDto request) { int eventUserID = Request.GetUserID(); SqlParameter[] parameters = { new SqlParameter("@userID", eventUserID), new SqlParameter("@StartDate", !(request.StartDate.HasValue) ? DBNull.Value : (object)request.StartDate), new SqlParameter("@EndDate", !(request.EndDate.HasValue) ? DBNull.Value : (object)request.EndDate), new SqlParameter("@checkPointType", request.CheckPointType == null? DBNull.Value : (object)request.CheckPointType), }; var response = new ResponseData <ResponseDataList <ReportProductivityDto> > { IsSuccess = true, Code = Constants.ResponseCode.Success, Message = "Success", }; var query = _context.Query <ReportProductivityPaged>().FromSql($"dbo.spGetReportProductivityList @userID, @StartDate, @EndDate, @checkPointType", parameters); var reportProductivityList = await query.AsNoTracking().ToArrayAsync(); response.Data = new ResponseDataList <ReportProductivityDto> { List = _mapper.Map <IEnumerable <ReportProductivityDto> >(reportProductivityList), }; return(Ok(response)); }
public async Task <ActionResult> GetReportProductivityDetail(int userID, [FromBody] ReportProductivityRequestDto request) { int eventUserID = Request.GetUserID(); int pageSize = request.PageSize.IsNullOrValue(0) ? PageSize : request.PageSize.Value; int pageIndex = request.PageIndex.IsNullOrValue(0) ? PageIndex : request.PageIndex.Value; string sortBy = String.IsNullOrEmpty(request.SortBy) ? "" : request.SortBy; int orderBy = request.OrderBy.GetValueOrDefault(0); SqlParameter[] parameters = { new SqlParameter("@eventUserID", eventUserID), new SqlParameter("@userID", userID), new SqlParameter("@checkPointType", request.CheckPointType == null? DBNull.Value : (object)request.CheckPointType), new SqlParameter("@startDate", !(request.StartDate.HasValue) ? DBNull.Value : (object)request.StartDate), new SqlParameter("@endDate", !(request.EndDate.HasValue) ? DBNull.Value : (object)request.EndDate), new SqlParameter("@pageIndex", pageIndex), new SqlParameter("@pageSize", pageSize), new SqlParameter("@sortBy", sortBy), new SqlParameter("@orderBy", orderBy) }; var response = new ResponseData <ResponseDataListPaged <ReportProductivityDto> > { IsSuccess = true, Code = Constants.ResponseCode.Success, Message = "Success", }; var query = _context.Query <ReportProductivityPaged>().FromSql($"dbo.spGetReportProductivityDetail @eventUserID, @userID ,@checkPointType, @startDate, @endDate, @pageIndex, @pageSize, @sortBy, @orderBy", parameters); var reportOperationalDetails = await query.AsNoTracking().ToArrayAsync(); response.Data = new ResponseDataListPaged <ReportProductivityDto> { List = _mapper.Map <IEnumerable <ReportProductivityDto> >(reportOperationalDetails), Count = reportOperationalDetails.Any() ? reportOperationalDetails[0].ResultCount : 0, PageSize = pageSize, PageIndex = pageIndex, SortBy = sortBy, OrderBy = orderBy }; return(Ok(response)); }