Пример #1
0
        public async Task <DocumentGetListResponse> GetList(DocumentGetListRequest request)
        {
            try
            {
                using (IDbConnection connection = new SqlConnection(_configuration.GetValue <string>("ConnectionStrings:DefaultConnection")))
                {
                    List <DocumentGetList> lstData    = new List <DocumentGetList>();
                    DynamicParameters      parameters = new DynamicParameters();
                    parameters.Add("@Name", request.Name ?? "");
                    parameters.Add("@Code", request.Code ?? "");
                    parameters.Add("@CategoryIds", request.CategoryIds ?? "0");
                    parameters.Add("@IsPublish", request.IsPublish);
                    parameters.Add("@IssuedDate", request.IssuedDate ?? "");
                    parameters.Add("@CreatedUser", request.CreatedUser);
                    parameters.Add("@Field", request.Field);
                    parameters.Add("@Source", request.Source);
                    parameters.Add("@Type", request.Type);
                    parameters.Add("@PortalId", request.PortalId);
                    parameters.Add("@LanguageId", request.Language);
                    parameters.Add("@PageSize", request.PageSize);
                    parameters.Add("@PageIndex", request.PageIndex);
                    parameters.Add("@Status", request.Status);
                    parameters.Add("@IsRole", request.IsRole ?? "-1");

                    await Task.Run(() =>
                                   lstData = connection.Query <DocumentGetList>("Docs_SearchAdvance", parameters, null, true, null, CommandType.StoredProcedure).AsList <DocumentGetList>()
                                   );

                    int totalRecords = lstData.Count > 0 ? lstData[0].TotalRecords : 0;

                    if (lstData != null)
                    {
                        foreach (var item in lstData)
                        {
                            parameters = new DynamicParameters();
                            parameters.Add("@DocId", item.Id);
                            await Task.Run(() =>
                                           item.DocsFiles = connection.Query <DocsFile>("DocsFiles_GetByDocId", parameters, null, true, null, CommandType.StoredProcedure).AsList <DocsFile>()
                                           );
                        }
                    }
                    return(new DocumentGetListResponse
                    {
                        Status = ResponseStatus.Success,
                        Message = ResponseStatus.Success.ToString(),
                        LstData = lstData,
                        TotalRecords = totalRecords,
                    });
                }
            }
            catch (Exception ex)
            {
                return(new DocumentGetListResponse
                {
                    Status = ResponseStatus.Faile,
                    Message = ex.Message,
                });
            }
        }
Пример #2
0
 public async Task <DocumentGetListResponse> GetList([FromQuery] DocumentGetListRequest request)
 {
     return(await _businessLogic.GetList(request));
 }