/// <summary> /// 添加一条数据 /// </summary> /// <returns></returns> public async Task <ApiResult <string> > AddAsync(ErpPurchase parm) { var res = new ApiResult <string>() { data = "1", statusCode = 200 }; try { //查询今天又多少条采购单,并生成订单号 var dayCount = ErpPurchaseDb.Count(m => SqlFunc.DateIsSame(m.AddDate, DateTime.Now)); parm.Guid = Guid.NewGuid().ToString(); parm.Number = Utils.PurchaseNumber(1001 + dayCount); //分析商品并保存 var list = new List <ErpPurchaseGoods>(); if (!string.IsNullOrEmpty(parm.GoodsList)) { list = JsonConvert.DeserializeObject <List <ErpPurchaseGoods> > (parm.GoodsList); for (int i = 0; i < list.Count; i++) { var item = list[i]; if (string.IsNullOrEmpty(item.Number) && string.IsNullOrEmpty(item.Name)) { list.Remove(item); } else { item.Guid = Guid.NewGuid().ToString(); item.PurchaseGuid = parm.Guid; parm.Money += item.Quantity * item.Price; } } } Db.Ado.BeginTran(); Db.Insertable(list).ExecuteCommand(); Db.Insertable(parm).ExecuteCommand(); Db.Ado.CommitTran(); } catch (Exception ex) { Db.Ado.RollbackTran(); res.statusCode = (int)ApiEnum.Error; res.message = ApiEnum.Error.GetEnumText() + ex.Message; } return(await Task.Run(() => res)); }
/// <summary> /// 修改一条数据 /// </summary> /// <returns></returns> public async Task <ApiResult <string> > ModifyAsync(ErpPurchase parm) { var res = new ApiResult <string>() { data = "1", statusCode = 200 }; try { //分析商品并保存 var list = new List <ErpPurchaseGoods>(); if (!string.IsNullOrEmpty(parm.GoodsList)) { list = JsonConvert.DeserializeObject <List <ErpPurchaseGoods> >(parm.GoodsList); for (int i = 0; i < list.Count; i++) { var item = list[i]; if (string.IsNullOrEmpty(item.Number) && string.IsNullOrEmpty(item.Name)) { list.Remove(item); } else { item.Guid = Guid.NewGuid().ToString(); item.PurchaseGuid = parm.Guid; parm.Money += item.Quantity * item.Price; } } } Db.Ado.BeginTran(); //先删除以保存的商品 Db.Deleteable <ErpPurchaseGoods>().Where(m => m.PurchaseGuid == parm.Guid).ExecuteCommand(); //保存新的商品 Db.Insertable(list).ExecuteCommand(); //修改新的采购单 Db.Updateable(parm).ExecuteCommand(); Db.Ado.CommitTran(); } catch (Exception ex) { res.statusCode = (int)ApiEnum.Error; res.message = ApiEnum.Error.GetEnumText() + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <string> > EditPurchase(ErpPurchase parm) { return(await _purchaseService.ModifyAsync(parm)); }
public async Task <ApiResult <string> > AddPurchase(ErpPurchase parm) { return(await _purchaseService.AddAsync(parm)); }