public StoreOutModel(StoreOut storeOut) : base(storeOut) { if (storeOut.Customer != null) { this.CustomerId = storeOut.Customer.Id; this.CustomerName = storeOut.Customer.Name; } if (storeOut.Seller != null) { this.SellerId = storeOut.Seller.Id; this.SellerName = storeOut.Seller.LoginName; } if (storeOut.StoreOutType != null) { this.StoreOutTypeId = storeOut.StoreOutType.Id; this.StoreOutTypeName = storeOut.StoreOutType.Name; } this.AmountReceipt = storeOut.AmountReceipt; }
public static StoreOutModel From(StoreOut storeOut) { return new StoreOutModel(storeOut); }
public ActionResult SaveOrUpdate(StoreOut obj, string sgoods) { try { if (obj.Id > 0) { obj = this.StoreOutRepository.Get(obj.Id); TryUpdateModel(obj); var jser = new JavaScriptSerializer(); IList<StoreOutDetailModel> datas = jser.Deserialize<IList<StoreOutDetailModel>>(sgoods); var list = this.StoreOutDetailRepository.GetAll(new StoreOutDetailQuery { StoreOutId = obj.Id }); IList<StoreOutDetail> dts = new List<StoreOutDetail>(); //找到存在的进行更新,不存在的删除 foreach (var item1 in list) { bool bFlag = false; for (int i = datas.Count - 1; i >= 0; i--) { var item2 = datas[i]; if (item1.Goods.Id == item2.Id) { item1.Price = item2.Price; item1.Quantity = item2.StoreGoodsQuantity; item1.TotalAomount = item2.TotalAomount; item1.Note = item2.StoreGoodsNote; dts.Add(item1); datas.Remove(item2); bFlag = true; } } if (!bFlag) { this.StoreOutDetailRepository.Delete(item1); } } //添加新增的 foreach (var item in datas) { dts.Add(new StoreOutDetail() { StoreOut = obj, Goods = this.GoodsRepository.Get(item.Id), Price = item.Price, Quantity = item.StoreGoodsQuantity, TotalAomount = item.TotalAomount, Note = item.StoreGoodsNote }); } foreach (var item in dts) { this.StoreOutDetailRepository.SaveOrUpdate(item); } } else { if (obj.Store == null) { return JsonError("请选择仓库"); } if (obj.Customer == null) { return JsonError("请选择客户"); } if (obj.Seller == null) { return JsonError("请选择销售员"); } } obj = this.StoreOutRepository.SaveOrUpdate(obj); return JsonSuccess(obj); } catch (Exception ex) { return JsonError(ex.Message); } }