예제 #1
0
        internal ActionResult DeleteItemInternal(int productId)
        {
            _saleItems.Remove(SaleItems.FirstOrDefault(i => i.Product.Id == productId));
            UpdateAmounts();

            return(new ActionResult(isSuccess: true));
        }
예제 #2
0
        public ActionResult DeleteItem(int productId)
        {
            if (IsPaid || IsCancelled)
            {
                return(new ActionResult(isSuccess: false, "Cannot delete items from paid or cancelled sales"));
            }

            _saleItems.Remove(SaleItems.FirstOrDefault(i => i.Product.Id == productId));
            UpdateAmounts();

            return(new ActionResult(isSuccess: true));
        }
예제 #3
0
        internal ActionResult SetItemQuantityInternal(int productId, int newQuantity)
        {
            var existingItem = SaleItems.FirstOrDefault(i => i.Product.Id == productId);

            if (existingItem is null)
            {
                return(new ActionResult(isSuccess: false, $"ProductId {productId} not found in sale items."));
            }

            ReplaceItem(existingItem, new SaleItem(existingItem.Product, newQuantity));
            UpdateAmounts();

            return(new ActionResult(isSuccess: true));
        }
예제 #4
0
        internal void AddItemInternal(SaleItem newItem)
        {
            var existingItem = SaleItems.FirstOrDefault(i => i.Product.Id == newItem.Product.Id);

            if (existingItem != null)
            {
                newItem = new SaleItem(newItem.Product, newItem.Quantity + existingItem.Quantity);
                ReplaceItem(existingItem, newItem);
            }
            else
            {
                _saleItems.Add(newItem);
            }

            UpdateAmounts();
        }
예제 #5
0
        internal ActionResult AddItemInternal(SaleItem newItem)
        {
            var existingItem = SaleItems.FirstOrDefault(i => i.Product.Id == newItem.Product.Id);

            if (existingItem != null)
            {
                newItem = new SaleItem(newItem.Product, newItem.Quantity + existingItem.Quantity);
                ReplaceItem(existingItem, newItem);
            }
            else
            {
                _saleItems.Add(newItem);
            }

            UpdateAmounts();

            return(new ActionResult(isSuccess: true));
        }
예제 #6
0
        public ActionResult SetItemQuantity(int productId, int newQuantity)
        {
            if (IsPaid || IsCancelled)
            {
                return(new ActionResult(isSuccess: false, "Cannot change item quantity on paid or cancelled sales"));
            }

            var existingItem = SaleItems.FirstOrDefault(i => i.Product.Id == productId);

            if (existingItem is null)
            {
                return(new ActionResult(isSuccess: false, $"ProductId {productId} not found in sale items."));
            }

            ReplaceItem(existingItem, new SaleItem(existingItem.Product, newQuantity));
            UpdateAmounts();

            return(new ActionResult(isSuccess: true));
        }
예제 #7
0
        public ActionResult AddItem(SaleItem newItem)
        {
            if (IsPaid || IsCancelled)
            {
                return(new ActionResult(isSuccess: false, "Cannot add items to paid or cancelled sales"));
            }

            var existingItem = SaleItems.FirstOrDefault(i => i.Product.Id == newItem.Product.Id);

            if (existingItem != null)
            {
                newItem = new SaleItem(newItem.Product, newItem.Quantity + existingItem.Quantity);
                ReplaceItem(existingItem, newItem);
            }
            else
            {
                _saleItems.Add(newItem);
            }

            UpdateAmounts();

            return(new ActionResult(isSuccess: true));
        }
예제 #8
0
 internal void DeleteItemInternal(SaleItem item)
 {
     _saleItems.Remove(SaleItems.FirstOrDefault(i => i.Product.Id == item.Product.Id));
     UpdateAmounts();
 }