public override bool Update(AcceptOrder entity, bool IsCommit = true) { _Context.Set <AcceptOrder>().Attach(entity); _Context.Entry <AcceptOrder>(entity).State = System.Data.Entity.EntityState.Modified; var list = _Context.Set <AcceptOrderDetail>().Where(o => o.AcceptOrderId == entity.ID); foreach (var detail in entity.AcceptOrderDetail) { if (_Context.Set <AcceptOrderDetail>().Any(o => o.ProductId == detail.ProductId && o.AcceptOrderId == detail.AcceptOrderId)) { _Context.Entry <AcceptOrderDetail>(detail).State = System.Data.Entity.EntityState.Modified; } else { _Context.Entry <AcceptOrderDetail>(detail).State = System.Data.Entity.EntityState.Added; } } foreach (var detail in list) { if (_Context.Entry <AcceptOrderDetail>(detail).State == System.Data.Entity.EntityState.Unchanged) { _Context.Entry <AcceptOrderDetail>(detail).State = System.Data.Entity.EntityState.Deleted; } } if (IsCommit) { return(_Context.SaveChanges() > 0); } else { return(false); } }
private AcceptOrder AcceptOrderViewToAcceptOrder(AcceptOrderView model) { model.Accepter = CurrentUser.UserName; model.Status = OrderStatus.未审批; float sumPriceTotal = 0; int sumNumTotal = 0; foreach (var detail in model.AcceptOrderDetailView) { float price = detail.Price; int num = detail.AcceptNum; float sumprice = price * num; sumPriceTotal += sumprice; sumNumTotal += num; detail.SumPrice = sumprice; } model.SumPrice = sumPriceTotal; model.AcceptNum = sumNumTotal; var acceptorder = new AcceptOrder { AcceptDate = model.AcceptDate, Accepter = model.Accepter, AcceptNum = model.AcceptNum, AcceptOrderNo = model.AcceptOrderNo, Oper = model.Oper, ID = model.ID, PurchaseOrderNo = model.PurchaseOrderNo, Remark = model.Remark, Status = model.Status, SumPrice = model.SumPrice, AcceptOrderDetail = new List <AcceptOrderDetail>() }; foreach (var row in model.AcceptOrderDetailView) { acceptorder.AcceptOrderDetail.Add( new AcceptOrderDetail { AcceptNum = row.AcceptNum, AcceptOrderId = row.AcceptOrderId, Price = row.Price, ProductId = row.ProductId, ProductName = row.ProductName, Remark = row.Remark, SumPrice = row.SumPrice }); } return(acceptorder); }
public void Accept(AcceptOrder accept) { _publishEndpoint.Publish <IOrderAccepted>(accept); }