public OrderItem(string description, decimal quantity, long goodId, long unitId, GoodFullInfo goodFullInfo) { Description = description; Quantity = quantity; GoodId = goodId; MeasuringUnitId = unitId; CommonBussinessRule(goodFullInfo, unitId); OrderItemBalances = new List<OrderItemBalance>(); }
//BR_PO20 private void GoodHaveValidSuplierAndTransporter(OrderItem orderItem, GoodFullInfo goodFullInfo) { _orderBaseType.ValidateGoodSuplierAndTransporter(this, goodFullInfo); }
private void CheckCommonAddAndEditItemRules(OrderItem orderItem, GoodFullInfo goodFullInfo) { //BR_PO04 IsOnOpenState(); //BR_PO9 IsNotDuplicate(orderItem); // BR_17 developer Dont implement refrence in order //BR_PO18 CanBeOrderThisGood(orderItem, goodFullInfo); //BR_PO20 GoodHaveValidSuplierAndTransporter(orderItem, goodFullInfo); //ValidateGoodQuantity(orderItem, goodDomainService); // //BR_PO21 // CanBeOrderWithReOrderLevelCheck(orderItem, goodDomainService); // //BR_PO22 // MaxOfOrderCheck(orderItem.Quantity, orderItem, goodPartyAssignmentDomainService); // // //BR_PO23 // FixOfOrderCheck(orderItem.Quantity, orderItem, goodPartyAssignmentDomainService); }
// //BR_PO10 // private void IsNotOnMiddleApprovedStates() // { // var isMiddleApprovedState = new IsOrderInMiddleApprovedState(); // if (isMiddleApprovedState.IsSatisfiedBy(this)) // throw new BusinessRuleException("BR_PO10", "Order in Middle Approve State"); // } // // //BR_PO13 // private void IsOnMiddleApprovedStates() // { // var isMiddleApprovedState = new IsOrderInMiddleApprovedState(); // if (isMiddleApprovedState.IsSatisfiedBy(this)) // throw new BusinessRuleException("BR_PO10", "Order in Middle Approve State"); // } //BR_PO18 private void CanBeOrderThisGood(OrderItem orderItem, GoodFullInfo goodFullInfo) { if (!goodFullInfo.CanBeOrderedThisGood) throw new BusinessRuleException("BR_PO18", "Good Order Cant Be Order "); }
public OrderItem UpdateItem(long id, string description, decimal quantity, long goodId, long unitId, long? goodPartyAssignmentId, GoodFullInfo goodFullInfo ) { var orderItem = OrderItems.Single(c => c.Id == id); if (orderItem == null) throw new ObjectNotFound("Order Item", id); orderItem.Update(description, quantity, goodId, unitId, goodFullInfo); CheckCommonAddAndEditItemRules(orderItem, goodFullInfo); return orderItem; }
public void AddItem(OrderItem orderItem, GoodFullInfo goodFullDomainInStorageService) { OrderItems.Add(orderItem); CheckCommonAddAndEditItemRules(orderItem, goodFullDomainInStorageService); }
//BR_PO19 private void ValidateGoodUnit(GoodFullInfo goodFullInfo, long unitId) { if (goodFullInfo.CompanyGoodUnits == null || goodFullInfo.CompanyGoodUnits.All(c => c.Id != unitId)) throw new BusinessRuleException("", " Unit Dont Definition For Compony "); }
private void CommonBussinessRule(GoodFullInfo goodFullInfo, long unitId) { //BR_PO5 IsNotEmpty(); //BR_PO8 IsHaveValidQuantity(); //BR_PO19 ValidateGoodUnit(goodFullInfo, unitId); }
internal void Update(string description, decimal quantity, long goodId, long unitId, GoodFullInfo goodFullInfo) { Description = description; Quantity = quantity; GoodId = goodId; MeasuringUnitId = unitId; CommonBussinessRule(goodFullInfo, unitId); }
public OrderItem CreateFactoryOrderItemObject(Order order, string description, decimal quantity, long goodId, long unitId, GoodFullInfo goodFullDetails) { var orderItem = new OrderItem(description, quantity, goodId, unitId, goodFullDetails); return orderItem; }