コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public void Accept(AcceptOrder accept)
 {
     _publishEndpoint.Publish <IOrderAccepted>(accept);
 }