public ActivityListViewModel ActivityList(ActivityListSearchParameter parameter)
        {
            try
            {
                int paging       = parameter.param.Paging.HasValue ? parameter.param.Paging.Value : 1;
                int requestCount = parameter.param.Request_Count.HasValue ? parameter.param.Request_Count.Value : 10;
                int startAt      = requestCount * (paging - 1);

                var parameterDto = new ActivityListSearchParameterDto()
                {
                    RequestCount = requestCount,
                    Start        = startAt
                };

                var listDtos = this._activityService.GetActivityList(parameterDto);

                var viewModel = new ActivityListViewModel()
                {
                    data     = listDtos,
                    message  = string.Empty,
                    platform = parameter.platform,
                    response = parameter.request,
                    result   = _succesStatusName
                };

                return(viewModel);
            }
            catch (Exception ex)
            {
                this._logService.WriteErrorLog("activity_list");

                this._logService.WriteErrorLog(ex.Message);

                return(new ActivityListViewModel()
                {
                    data = new List <ActivityListDto>(),
                    message = string.Empty,
                    platform = parameter.platform,
                    response = parameter.request,
                    result = _failedStatusName
                });
            }
        }
Example #2
0
        /// <summary>
        /// 取得活動列表
        /// </summary>
        /// <param name="parameterDto">活動列表搜尋參數</param>
        /// <returns>活動列表</returns>
        public List <ActivityListDto> GetActivityList(ActivityListSearchParameterDto parameterDto)
        {
            using (ProfilingSession.Current.Step($"ActivityRepository-GetActivityList"))
            {
                string connInfo = this._databaseHelper.GetConnection();

                var profiledDbConnection =
                    this._databaseHelper.GetProfiledConnection(connInfo, ProfilingSession.Current);

                var dynamicParams = new DynamicParameters();

                string sql = $@"SELECT 
                                        ActivityID,
                                        ActivityCode,
                                        ActivityName,
                                        BeginDate,
                                        ClickCount,
                                        CollectionCount
                                FROM
                                        Activity WITH (NOLOCK)
                                ORDER BY
                                        BeginDate DESC
                                OFFSET @OFFSET
                                ROWS FETCH NEXT @REQUEST_COUNT
                                ROWS ONLY
                            ";

                using (var conn = profiledDbConnection)
                {
                    conn.Open();

                    var listDtos = conn.Query <ActivityListDto>(sql, dynamicParams).ToList();

                    if (listDtos == null)
                    {
                        return(new List <ActivityListDto>());
                    }

                    return(listDtos);
                }
            }
        }
 /// <summary>
 /// 取得活動列表
 /// </summary>
 /// <param name="parameterDto">活動列表搜尋參數</param>
 /// <returns>活動列表</returns>
 public List <ActivityListDto> GetActivityList(ActivityListSearchParameterDto parameterDto)
 {
     return(this.GetActivityList(parameterDto));
 }