public IEnumerable <dynamic> GetDynamicPageList <TResult>(PaginationIn p, string sql, List <Dictionary <string, object> > parameters) { p.WatchStart(); int totalCount = 0; //sql.QueryPage(p.page, p.rows); int pageNumber = p.page; int pageSize = p.rows; pageNumber = pageNumber < 1 ? 1 : pageNumber; pageSize = pageSize < 1 ? 10 : pageSize; Dictionary <string, object> dic = new Dictionary <string, object>(); foreach (var item in parameters) { if (item != null && item.Count > 0) { foreach (var q in item) { dic.Add(q.Key, q.Value); } } } var reader = client.GetReader(sql, dic, CommandType.StoredProcedure); var list = reader.Read(); totalCount = reader.Read <int>().FirstOrDefault(); p.records = totalCount; p.WatchEnd(); return(list); }
public static void Validate(PaginationIn pagination) { try { var limitIsInRange = pagination.Limit >= LimitMin && pagination.Limit <= LimitMax; var offsetIsInRange = pagination.Offset >= OffsetMin; var limitMustBeSetToDefault = pagination.Limit == 0; if (!limitIsInRange) { throw new ValidationException("Limit", $"Limite de paginação deve estar entre {LimitMin} e {LimitMax}"); } if (!offsetIsInRange) { throw new ValidationException("Offset", $"Offset de paginação deve ter valor mínimo de {OffsetMin}"); } if (limitMustBeSetToDefault) { pagination.Limit = LimitDefault; } } catch (Exception) { throw; } }
public SearchSalesRequest() { Pagination = new PaginationIn() { Limit = SaleEntity.SaleSearchDefaultLimit }; }
public static GrpcPagination GetFrom(PaginationIn data) { return(new GrpcPagination() { Limit = data.Limit, Offset = data.Offset }); }
public IEnumerable <dynamic> GetDynamicPageList <TResult>(PaginationIn p, SqlLam <TResult> sql) { p.WatchStart(); int totalCount = 0; sql.QueryPage(p.page, p.rows); var reader = client.GetReader(sql.GetSql(), sql.GetParameters()); var list = reader.Read(); totalCount = reader.Read <int>().FirstOrDefault(); p.records = totalCount; p.WatchEnd(); return(list); }
public static void ValidateIn(PaginationIn pagination) { try { var limitIsInRange = pagination.Limit >= LimitMin && pagination.Limit <= LimitMax; var limitIsZero = pagination.Limit == 0; if (!limitIsInRange) { throw new ValidationException("Limite da paginação", $"Está fora do alcance de {LimitMin} a {LimitMax}"); } if (limitIsZero) { pagination.Limit = DefaultLimit; } } catch (Exception e) { throw e; } }
public async Task <ShipmentList> AutoUpdateIsSetTo(bool toggle, PaginationIn pagination) { try { var filter = FilterBuilder.Where(shipment => shipment.AutoUpdate == toggle); var query = Collections.Shipments.Find(filter).Limit(pagination.Limit).Skip(pagination.Offset); return(new ShipmentList() { Data = query.ToList(), Pagination = new PaginationOut() { Limit = pagination.Limit, Offset = pagination.Offset, Total = await ShipmentDAO.Methods.Count.UsingFilter(filter) } }); } catch (Exception e) { throw; } }
public IEnumerable <dynamic> GetDynamicPageList(PaginationIn p) { return(this.GetDynamicPageList <T>(p, sql)); }
public IEnumerable <T> GetPageList(PaginationIn p) { return(this.GetPageList <T>(p)); }