using POSV.Entity; using POSV.Entity.Stock; using POSV.Entity.WeiXinDc; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace POSV.Component { public class ProductSelectMerge { public static List Merge(int rows, int cols, List dataSource) { //移除可能存在的分页标识 dataSource.RemoveAll(x => Constant.PREV_PAGER.Equals(x.ProductName) || Constant.NEXT_PAGER.Equals(x.ProductName)); int pageSize = rows * cols; int totalCount = dataSource.Count; int pageCount = ((totalCount - 1) + (pageSize - 2) - 1) / (pageSize - 2); int offset = 0; int i = 1; for (; i < pageCount; i++) { offset += (pageSize - 1); if (i == 1) { //第一页,最后一位加下一页 FoodMaterialDetailEntity entity = new FoodMaterialDetailEntity(); entity.ProductName = Constant.NEXT_PAGER; entity.Memo = (i + 1).ToString(); dataSource.Insert(offset, entity); } else { //中间页,最后加前后 var entity = new FoodMaterialDetailEntity(); entity.ProductName = Constant.PREV_PAGER; entity.Memo = (i - 1).ToString(); dataSource.Insert(offset - 1, entity); entity = new FoodMaterialDetailEntity(); entity.ProductName = Constant.NEXT_PAGER; entity.Memo = (i + 1).ToString(); dataSource.Insert(offset, entity); } offset++; } if(pageCount > 1) { //最后一页,最后一位加上一页 var entity = new FoodMaterialDetailEntity(); entity.ProductName = Constant.PREV_PAGER; entity.Memo = (i - 1).ToString(); dataSource.Add(entity); } return dataSource; } public static List MergeWxdc(int rows, int cols, List dataSource) { //移除可能存在的分页标识 dataSource.RemoveAll(x => Constant.PREV_PAGER.Equals(x.Name) || Constant.NEXT_PAGER.Equals(x.Name)); int pageSize = rows * cols; int totalCount = dataSource.Count; int pageCount = ((totalCount - 1) + (pageSize - 2) - 1) / (pageSize - 2); int offset = 0; int i = 1; for (; i < pageCount; i++) { offset += (pageSize - 1); if (i == 1) { //第一页,最后一位加下一页 WxdcGoodsEntity entity = new WxdcGoodsEntity(); entity.Name = Constant.NEXT_PAGER; entity.Description = (i + 1).ToString(); dataSource.Insert(offset, entity); } else { //中间页,最后加前后 var entity = new WxdcGoodsEntity(); entity.Name = Constant.PREV_PAGER; entity.Description = (i - 1).ToString(); dataSource.Insert(offset - 1, entity); entity = new WxdcGoodsEntity(); entity.Name = Constant.NEXT_PAGER; entity.Description = (i + 1).ToString(); dataSource.Insert(offset, entity); } offset++; } if (pageCount > 1) { //最后一页,最后一位加上一页 var entity = new WxdcGoodsEntity(); entity.Name = Constant.PREV_PAGER; entity.Description = (i - 1).ToString(); dataSource.Add(entity); } return dataSource; } } }