Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }