public IResult Update(Order order, List <Product> products) //want servisden sipariş ve uygun ürünlerin listesi geliyor { var customerWallet = _walletService.GetByUserId(order.CustomerId).Data; //müşteri cüzdanı decimal quantity = order.Quantity; if (customerWallet.Amount >= fiyatartiYuzdebir(order.Quantity * order.UnitPrice)) //ürün + muhasebeci payına parası yetiyor mu { var orderDetails = OrderControl(ref order, products, customerWallet); //order control methodundan detayları çekiyor order.OrderPending = false; //order gerçekleşti _orderDal.Update(order); //güncelleniyor if (quantity != order.Quantity) //başta istenen miktar verilen miktara eşit değilse { var newOrder = order; //eskisinden yeni nesne oluşuyor newOrder.Quantity = quantity - order.Quantity; //miktarı belirleniyor eksik kalan siparişin newOrder.OrderPending = true; //beklemeye alınıyor newOrder.Id = 0; //id =0 yeni veri _orderDal.Add(newOrder); //tabloya ekleniyor } _orderDetailService.AddList(orderDetails.Data); //detaylar ekleniyor return(new SuccessResult()); } return(new ErrorResult()); }