/// <summary> /// 根据id查询记录 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <MaterialInfo> searchById(int id) { LayerDbContext context = new LayerDbContext(); var model = await context.materialInfos.FindAsync(id); return(model); }
/// <summary> /// 增加一条 /// </summary> /// <param name="t"></param> /// <returns></returns> public async Task <Result <int> > add(OrderDetailInfo t) { Result <int> result = new Result <int>(); try { using (LayerDbContext context = new LayerDbContext()) { var containFlag = context.orderDetailInfo.Where(x => x.orderNo == t.orderNo).Select(x => x.materialId).Contains(t.materialId); if (containFlag) { result.addError("订单中已包含本产品"); } else { context.orderDetailInfo.Add(t); var materialModel = await Task.Factory.StartNew(() => context.materialInfos.Where(x => x.id == t.materialId).Single()); var orderInfoModel = await context.orderInfo.FindAsync(t.orderNo); orderInfoModel.sumPrice += t.num * materialModel.referencePriceIn; orderInfoModel.lastUpdatedBy = t.createdBy; orderInfoModel.lastUpdatedDate = t.createdDate; await context.SaveChangesAsync(); } } } catch (Exception err) { result.addError(err.Message); } return(result); }
/// <summary> /// 根据库存量倒序查询 /// </summary> /// <param name="pager"></param> /// <returns></returns> public async Task <List <InventorySimpleModel> > searchByCountOrder(Pager <List <InventorySimpleModel> > pager) { int start = (pager.page - 1) * pager.recPerPage; LayerDbContext context = new LayerDbContext(); var inventoryResult = context.inventory.GroupBy(x => x.materialId).Select(x => new { materialId = x.Key, count = x.Sum(item => item.count) }); var materialResult = context.materialInfos; var returnData = from x in materialResult join y in inventoryResult on x.id equals y.materialId into Temp from temp in Temp.DefaultIfEmpty() select new InventorySimpleModel { materialId = x.id, alais = x.alias, materialName = x.materialName, mat_size = x.mat_size, unit = x.unit, alarmCount = x.alarmCount, count = temp == null ? 0 : temp.count }; returnData = returnData.OrderBy(x => x.count).Skip(start).Take(pager.recPerPage); return(await Task.Factory.StartNew(() => returnData.ToList())); }
/// <summary> /// 修改 /// </summary> /// <param name="t"></param> /// <returns></returns> public async Task <Result <int> > update(MaterialInfo t) { Result <int> result = new Result <int>(); try { using (LayerDbContext context = new LayerDbContext()) { MaterialInfo model = await context.materialInfos.FindAsync(t.id);; if (model != null) { model.alias = t.alias; model.material = t.material; model.materialName = t.materialName; model.mat_color = t.mat_color; model.mat_size = t.mat_size; model.mat_type = t.mat_type; model.referencePriceIn = t.referencePriceIn; model.referencePriceOut = t.referencePriceOut; model.remark = t.remark; model.weight = t.weight; model.alarmCount = t.alarmCount; } await context.SaveChangesAsync(); } } catch (DbUpdateConcurrencyException err) { result.addError(err.Message); } return(result); }
public async Task <List <MaterialInfo> > searchByIds(int[] ids) { LayerDbContext context = new LayerDbContext(); var materials = context.materialInfos.Where(x => true); return(await Task.Factory.StartNew(() => (from x in materials where (ids.Contains(x.id)) select x).ToList())); }
public async Task <OrderInfo> searchByOrder(string orderNo) { LayerDbContext context = new LayerDbContext(); OrderInfo result = await context.orderInfo.FindAsync(orderNo); return(result); }
/// <summary> /// 根据id删除订单一条详情 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <Result <int> > deleteOrderDetailById(int id, string userName) { Result <int> result = new Result <int>(); try { using (LayerDbContext context = new LayerDbContext()) { var model = await Task.Factory.StartNew(() => context.orderDetailInfo.Where(x => x.id == id).Single()); var orderNo = model.orderNo; //减少总成本 var orderInfoModel = await context.orderInfo.FindAsync(orderNo); orderInfoModel.sumPrice += model.num * model.materialInfo.referencePriceIn; orderInfoModel.lastUpdatedBy = userName; orderInfoModel.lastUpdatedDate = DateTime.Now; //删除记录 context.orderDetailInfo.Remove(model); await context.SaveChangesAsync(); } } catch (Exception err) { result.addError(err.Message); } return(result); }
/// <summary> /// 修改某条订单明细 /// </summary> /// <param name="t"></param> /// <returns></returns> public async Task <Result <int> > update(OrderDetailInfo t) { Result <int> result = new Result <int>(); try { using (LayerDbContext context = new LayerDbContext()) { var model = await Task.Factory.StartNew(() => context.orderDetailInfo.Where(x => x.id == t.id).Single()); float supplementCount = t.num - model.num; model.factory = t.factory; model.lastUpdatedDate = t.lastUpdatedDate; model.lastUpdatedBy = t.lastUpdatedBy; model.num = t.num; var orderInfoModel = await context.orderInfo.FindAsync(model.orderNo); orderInfoModel.lastUpdatedBy = model.lastUpdatedBy; orderInfoModel.lastUpdatedDate = model.lastUpdatedDate; orderInfoModel.sumPrice += model.materialInfo.referencePriceIn * supplementCount; await context.SaveChangesAsync(); } } catch (Exception err) { result.addError(err.Message); } return(result); }
/// <summary> /// 出库查询 /// </summary> /// <param name="pager"></param> /// <param name="condition"></param> /// <returns></returns> public List <OutRecordModel> searchByCondition(Pager <List <OutRecordModel> > pager, OutRecordQuery condition) { int start = (pager.page - 1) * pager.recPerPage; LayerDbContext context = new LayerDbContext(); var result = from t in context.tradingRecord join p in context.profitRecord on new { cashOrder = t.cashOrder, materialId = t.materialId } equals new { cashOrder = p.cashOrder, materialId = p.materialId } select new OutRecordModel { cashOrder = t.cashOrder, materialId = t.materialId, alais = t.materialInfo.alias, count = t.count, createdBy = t.createdBy, materialName = t.materialInfo.materialName, mat_size = t.materialInfo.mat_size, priceIn = p.priceIn, priceOut = p.priceOut, profit = p.profit, unit = t.materialInfo.unit, createdDate = t.createdDate }; result = string.IsNullOrEmpty(condition.cashOrder) ? result : result.Where(t => t.cashOrder.Contains(condition.cashOrder)); result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialName == (condition.materialName)); result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.mat_size == condition.mat_size); result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= condition.createdDateBegin); result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= condition.createdDateEnd); result = result.OrderByDescending(x => x.createdDate).Skip(start).Take(pager.recPerPage); return(result.ToList()); }
protected override void Seed(LayerDbContext context) { if (context.orderStatus.Where(x => x.statusKey == "generated").Count() == 0) { OrderStatus model = new OrderStatus() { statusKey = "generated", status = "已下发" }; context.orderStatus.Add(model); } if (context.orderStatus.Where(x => x.statusKey == "completed").Count() == 0) { OrderStatus model = new OrderStatus() { status = "完成", statusKey = "completed" }; context.orderStatus.Add(model); } if (context.orderStatus.Where(x => x.statusKey == "excepted").Count() == 0) { OrderStatus model = new OrderStatus() { status = "收货异常", statusKey = "excepted" }; context.orderStatus.Add(model); } context.SaveChanges(); }
/// <summary> /// 热销前十查询(根据频率) /// </summary> /// <returns></returns> public List <MaterialInfo> searchHotTen() { List <MaterialInfo> result = new List <MaterialInfo>(); LayerDbContext context = new LayerDbContext(); var hotId = context.tradingRecord.GroupBy(x => x.materialId).Select(x => new { materialId = x.Key, count = x.Count(), sumNum = x.Sum(item => item.count) }).OrderByDescending(x => x.count).ThenByDescending(x => x.sumNum).Take(9).ToList(); result = (from x in hotId join y in context.materialInfos on x.materialId equals y.id select y).ToList(); return(result); }
/// <summary> /// 通过查询条件查询库存个数 /// </summary> /// <param name="t"></param> /// <returns></returns> public float searchInventoryCountByCondition(InventoryQuery t) { LayerDbContext context = new LayerDbContext(); var result = context.inventory.Where(x => x.id > 0); result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialInfo.materialName == (t.materialName)); result = !t.materialId.HasValue ? result : result.Where(x => x.materialId == t.materialId); result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == t.mat_size); result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.materialInfo.alias == (t.alias)); result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.materialInfo.remark.Contains(t.remark)); return(result.Select(x => x.count).Sum()); }
/// <summary> /// 总数 /// </summary> /// <returns></returns> public int searchCountByCondition() { LayerDbContext context = new LayerDbContext(); //var result = context.inventory.Where(x => x.id > 0); //result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialInfo.materialName.Contains(t.materialName)); //result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == t.mat_size); //result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.materialInfo.alias.Contains(t.alias)); //result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.materialInfo.remark.Contains(t.remark)); //result.GroupBy(x => x.materialId).Select(x => new { materialId = x.Key }); return(context.materialInfos.Count()); }
public int searchCountByCondition(OutRecordQuery condition) { LayerDbContext context = new LayerDbContext(); var result = context.tradingRecord.Where(x => x.id > 0); result = string.IsNullOrEmpty(condition.cashOrder) ? result : result.Where(t => t.cashOrder.Contains(condition.cashOrder)); result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialInfo.materialName == (condition.materialName)); result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == condition.mat_size); result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= condition.createdDateBegin); result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= condition.createdDateEnd); return(result.Count()); }
public int searchCountByCondition(OrderInfoQuery t) { LayerDbContext context = new LayerDbContext(); var result = context.orderInfo.Where(x => x.id > 0); result = string.IsNullOrEmpty(t.orderNo) ? result : result.Where(x => x.orderNo.Contains(t.orderNo)); result = string.IsNullOrEmpty(t.status) ? result : result.Where(x => x.status == t.status); result = !t.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= t.createdDateBegin); result = !t.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= t.createdDateEnd); result = !t.receivedDateBegin.HasValue ? result : result.Where(x => x.receivedDate >= t.receivedDateBegin); result = !t.receivedDateEnd.HasValue ? result : result.Where(x => x.receivedDate <= t.receivedDateEnd); return(result.Count()); }
public OrderTool getHalfYearOrderNum() { DateTime startTime = DateTime.Now.AddMonths(-5).AddDays(1 - DateTime.Now.Day).Date; List <DateTime> MonthDate = new List <DateTime>(); MonthDate = BaseDataHelper.getSixMnthDate(DateTime.Now); LayerDbContext context = new LayerDbContext(); //异常订单数 var exceptOrderTemp = context.orderInfo.Where(x => x.status == "excepted" && x.receivedDate > startTime).GroupBy(x => x.createdDate.Month).Select(x => new { createdDate = x.Max(item => item.createdDate), count = x.Count() }).ToList(); //所有订单 var orderTemp = context.orderInfo.Where(x => x.createdDate > startTime).GroupBy(x => x.createdDate.Month).Select(x => new { createdDate = x.Max(item => item.createdDate), count = x.Count() }).ToList(); //完成订单 var completedOrderTemp = context.orderInfo.Where(x => x.status == "completed" && x.receivedDate > startTime).GroupBy(x => x.createdDate.Month).Select(x => new { createdDate = x.Max(item => item.createdDate), count = x.Count() }).ToList(); List <LineDataTool> orderData = new List <LineDataTool>(); List <LineDataTool> exceptedOrderData = new List <LineDataTool>(); List <LineDataTool> completedOrderData = new List <LineDataTool>(); LineDataTool model = null; foreach (var item in orderTemp) { model = new LineDataTool(); model.intData = item.count; model.date = item.createdDate.AddDays(1 - item.createdDate.Day).Date; orderData.Add(model); } foreach (var item in exceptOrderTemp) { model = new LineDataTool(); model.intData = item.count; model.date = item.createdDate.AddDays(1 - item.createdDate.Day).Date; exceptedOrderData.Add(model); } foreach (var item in completedOrderTemp) { model = new LineDataTool(); model.intData = item.count; model.date = item.createdDate.AddDays(1 - item.createdDate.Day).Date; completedOrderData.Add(model); } var normalData = (from x in MonthDate.OrderBy(x => x) join y in orderData on x equals y.date into Temp from t in Temp.DefaultIfEmpty() select t == null ? 0 : t.intData).ToArray(); var exceptData = (from x in MonthDate.OrderBy(x => x) join y in exceptedOrderData on x equals y.date into Temp from t in Temp.DefaultIfEmpty() select t == null ? 0 : t.intData).ToArray(); var copmpletedData = (from x in MonthDate.OrderBy(x => x) join y in completedOrderData on x equals y.date into Temp from t in Temp.DefaultIfEmpty() select t == null ? 0 : t.intData).ToArray(); OrderTool result = new OrderTool(); result.exceptedOrderNum = exceptData; result.produceOrderNum = normalData; result.completedOrderNum = copmpletedData; return(result); }
/// <summary> /// 出库汇总查询 /// </summary> /// <param name="pager"></param> /// <param name="t"></param> /// <returns></returns> public List <OutRecordModel> searchSumByCondition(Pager <List <OutRecordModel> > pager, OutRecordQuery condition) { int start = (pager.page - 1) * pager.recPerPage; LayerDbContext context = new LayerDbContext(); var result = from t in context.tradingRecord join p in context.profitRecord on new { cashOrder = t.cashOrder, materialId = t.materialId } equals new { cashOrder = p.cashOrder, materialId = p.materialId } select new OutRecordModel { cashOrder = t.cashOrder, materialId = t.materialId, alais = t.materialInfo.alias, count = t.count, createdBy = t.createdBy, materialName = t.materialInfo.materialName, mat_size = t.materialInfo.mat_size, priceIn = p.priceIn, priceOut = p.priceOut, profit = p.profit, unit = t.materialInfo.unit, createdDate = t.createdDate }; result = string.IsNullOrEmpty(condition.cashOrder) ? result : result.Where(t => t.cashOrder.Contains(condition.cashOrder)); result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialName == (condition.materialName)); result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.mat_size == condition.mat_size); result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= condition.createdDateBegin); result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= condition.createdDateEnd); var result1 = result.GroupBy(x => x.materialId).Select(x => new { materialId = x.Key, materialName = x.Max(item => item.materialName), mat_size = x.Max(item => item.mat_size), count = x.Sum(item => item.count), profit = x.Sum(item => item.profit) }).OrderBy(x => x.count).Skip(start).Take(pager.recPerPage).ToList(); List <OutRecordModel> returnResult = new List <OutRecordModel>(); OutRecordModel model = null; foreach (var item in result1) { model = new OutRecordModel(); model.materialId = item.materialId; model.materialName = item.materialName; model.mat_size = item.mat_size; model.count = item.count; model.profit = item.profit; returnResult.Add(model); } return(returnResult); }
public List <MaterialInfo> searchListByCondition(MaterialInfoQuery t) { LayerDbContext context = new LayerDbContext(); var result = context.materialInfos.Where(x => x.id > 0); result = string.IsNullOrEmpty(t.material) ? result : result.Where(x => x.material == (t.material)); result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialName == (t.materialName)); result = string.IsNullOrEmpty(t.mat_color) ? result : result.Where(x => x.mat_color == t.mat_color); result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.mat_size == t.mat_size); result = string.IsNullOrEmpty(t.mat_type) ? result : result.Where(x => x.mat_type == t.mat_type); result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.alias == (t.alias)); result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.remark.Contains(t.remark)); return(result.ToList()); }
/// <summary> /// 查询所有入库记录条数 根据条件 /// </summary> /// <param name="condition"></param> /// <returns></returns> public int searchCountByCondition(InStorageRecordQuery condition) { LayerDbContext context = new LayerDbContext(); var result = context.inStorageRecord.Where(x => x.id > 0); result = string.IsNullOrEmpty(condition.alias) ? result : result.Where(x => x.materialInfo.alias == (condition.alias)); result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate > condition.createdDateBegin); result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate < condition.createdDateEnd); result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialInfo.materialName == (condition.materialName)); result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == condition.mat_size); result = string.IsNullOrEmpty(condition.orderNo) ? result : result.Where(x => x.orderNo.Contains(condition.orderNo)); result = string.IsNullOrEmpty(condition.receivedOrder) ? result : result.Where(x => x.receivedOrder == condition.receivedOrder); return(result.Count()); }
/// <summary> /// 收货订单 /// </summary> /// <param name="list"></param> /// <param name="userName"></param> /// <param name="status"></param> /// <returns></returns> /// <remarks> /// 1. 增加库存,2. 增加入库记录 3. 修改订单状态 /// </remarks> public async Task <Result <int> > receiveOrder(List <InStorageRecord> list, string userName, OrderStatusEnum status) { Result <int> result = new Result <int>(); string orderNo = list.First().orderNo; try { using (LayerDbContext context = new LayerDbContext()) { var model = context.orderInfo.Where(x => x.orderNo == orderNo).Single(); if (model.status == status.ToString()) { result.addError("进货单已被" + model.receivedBy + "收货"); } else { //订单状态 model.status = status.ToString(); model.receivedDate = DateTime.Now; model.receivedBy = userName; model.sumPriceReal = list.Sum(x => x.countReal * x.priceIn); //入库记录 context.inStorageRecord.AddRange(list); //库存 List <Inventory> inventoryList = new List <Inventory>(); Inventory model1 = null; foreach (var item in list) { model1 = new Inventory() { count = item.countReal, materialId = item.materialId, priceIn = item.priceIn }; inventoryList.Add(model1); } context.inventory.AddRange(inventoryList); await context.SaveChangesAsync(); } } } catch (Exception err) { result.addError(err.Message); } return(result); }
/// <summary> /// 根据id查询订单一条详情 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <OrderDetailInfo> searchById(int id) { OrderDetailInfo result = new OrderDetailInfo(); LayerDbContext context = new LayerDbContext(); try { result = await Task.Factory.StartNew(() => context.orderDetailInfo.Where(x => x.id == id).Single()); } catch (Exception) { result = null; } return(result); }
public List <OrderInfo> searchByCondition(Pager <List <OrderInfo> > pager, OrderInfoQuery t) { LayerDbContext context = new LayerDbContext(); int start = (pager.page - 1) * pager.recPerPage; var result = context.orderInfo.Where(x => x.id > 0); result = string.IsNullOrEmpty(t.orderNo) ? result : result.Where(x => x.orderNo.Contains(t.orderNo)); result = string.IsNullOrEmpty(t.status) ? result : result.Where(x => x.status == t.status); result = !t.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= t.createdDateBegin); result = !t.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= t.createdDateEnd); result = !t.receivedDateBegin.HasValue ? result : result.Where(x => x.receivedDate >= t.receivedDateBegin); result = !t.receivedDateEnd.HasValue ? result : result.Where(x => x.receivedDate <= t.receivedDateEnd); result = result.OrderByDescending(x => x.orderNo); result = result.Skip(start).Take(pager.recPerPage); return(result.ToList()); }
/// <summary> /// 查询所有入库记录 根据条件 pager /// </summary> /// <param name="pager"></param> /// <param name="condition"></param> /// <returns></returns> public List <InStorageRecord> searchByCondition(Pager <List <InStorageRecord> > pager, InStorageRecordQuery condition) { int start = (pager.page - 1) * pager.recPerPage; LayerDbContext context = new LayerDbContext(); var result = context.inStorageRecord.Where(x => x.id > 0); result = string.IsNullOrEmpty(condition.alias) ? result : result.Where(x => x.materialInfo.alias == (condition.alias)); result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate > condition.createdDateBegin); result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate < condition.createdDateEnd); result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialInfo.materialName == (condition.materialName)); result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == condition.mat_size); result = string.IsNullOrEmpty(condition.orderNo) ? result : result.Where(x => x.orderNo.Contains(condition.orderNo)); result = string.IsNullOrEmpty(condition.receivedOrder) ? result : result.Where(x => x.receivedOrder == condition.receivedOrder); result = result.OrderByDescending(x => x.createdDate); return(result.Skip(start).Take(pager.recPerPage).ToList()); }
/// <summary> /// 查询数量 /// </summary> /// <param name="t"></param> /// <returns></returns> public int searchCountByCondition(OrderDetailInfoQuery t) { LayerDbContext context = new LayerDbContext(); var result = context.orderDetailInfo.Where(x => x.id > 0); result = string.IsNullOrEmpty(t.orderNo) ? result : result.Where(x => x.orderNo.Contains(t.orderNo)); result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialName == (t.materialName)); result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == t.mat_size); result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.materialInfo.alias == (t.alias)); result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.materialInfo.remark.Contains(t.remark)); result = string.IsNullOrEmpty(t.status) ? result : result.Where(x => x.orderInfo.status == t.status); result = !t.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= t.createdDateBegin); result = !t.createdDateEnd.HasValue ? result : result.Where(X => X.createdDate <= t.createdDateEnd); result = !t.receivedDateBegin.HasValue ? result : result.Where(x => x.orderInfo.receivedDate >= t.receivedDateBegin); result = !t.receivedDateEnd.HasValue ? result : result.Where(x => x.orderInfo.receivedDate <= t.receivedDateEnd); return(result.Count()); }
/// <summary> /// 根据条件查询 /// </summary> /// <param name="pager"></param> /// <param name="t"></param> /// <returns></returns> public List <MaterialInfo> searchByCondition(Pager <List <MaterialInfo> > pager, MaterialInfoQuery t) { LayerDbContext context = new LayerDbContext(); int start = (pager.page - 1) * pager.recPerPage; var result = context.materialInfos.Where(x => x.id > 0); result = string.IsNullOrEmpty(t.material) ? result : result.Where(x => x.material == (t.material)); result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialName == (t.materialName)); result = string.IsNullOrEmpty(t.mat_color) ? result : result.Where(x => x.mat_color == t.mat_color); result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.mat_size == t.mat_size); result = string.IsNullOrEmpty(t.mat_type) ? result : result.Where(x => x.mat_type == t.mat_type); result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.alias == (t.alias)); result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.remark.Contains(t.remark)); result = result.OrderBy(x => x.material); result = result.Skip(start).Take(pager.recPerPage); return(result.ToList()); }
/// <summary> /// 增加 /// </summary> /// <param name="t"></param> /// <returns></returns> public async Task <Result <int> > add(MaterialInfo t) { Result <int> result = new Result <int>(); try { using (LayerDbContext context = new LayerDbContext()) { var aaa = context.materialInfos.Add(t); await context.SaveChangesAsync(); } } catch (Exception err) { result.addError(err.Message); } return(result); }
/// <summary> /// 增加单个物料库存 /// </summary> /// <param name="t"></param> /// <returns></returns> public async Task <Result <int> > add(Inventory t) { Result <int> result = new Result <int>(); try { using (LayerDbContext context = new LayerDbContext()) { context.inventory.Add(t); await context.SaveChangesAsync(); } } catch (Exception err) { result.addError(err.Message); } return(result); }
public List <PieDataTool> searchYesterdayNum() { List <PieDataTool> result = new List <PieDataTool>(); PieDataTool model = null; LayerDbContext context = new LayerDbContext(); var startDate = DateTime.Now.AddDays(-1).Date; var endDate = DateTime.Now.Date; var data = context.tradingRecord.Where(x => x.createdDate > startDate && x.createdDate < endDate).GroupBy(x => x.materialId).Select(x => new { materialName = x.Max(item => item.materialInfo.materialName), value = x.Sum(item => item.count) }).ToList(); foreach (var item in data) { model = new PieDataTool(); model.label = item.materialName; model.value = item.value; result.Add(model); } return(result); }
/// <summary> /// 通过id删除 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <Result <int> > deleteById(int id) { Result <int> result = new Result <int>(); try { using (LayerDbContext context = new LayerDbContext()) { var model = context.materialInfos.Where(x => x.id == id).Single(); context.materialInfos.Remove(model); await context.SaveChangesAsync(); } } catch (Exception err) { result.addError(err.Message); } return(result); }
/// <summary> /// 创建订单 /// </summary> /// <param name="order"></param> /// <param name="orderList"></param> /// <returns></returns> public async Task <Result <List <OrderDetailInfo> > > addOrder(OrderInfo order, List <OrderDetailInfo> orderList) { Result <List <OrderDetailInfo> > result = new Result <List <OrderDetailInfo> >(); try { using (LayerDbContext context = new LayerDbContext()) { context.orderInfo.Add(order); context.orderDetailInfo.AddRange(orderList); await context.SaveChangesAsync(); } } catch (Exception err) { result.addError(err.Message); } result.data = orderList; return(result); }