Esempio n. 1
0
        public void HasErrors_NoMessage()
        {
            var actual = new ReturnLineItem {
            };

            Assert.IsFalse(actual.HasErrors);
        }
Esempio n. 2
0
        public void HasErrors()
        {
            var actual = new ReturnLineItem {
                ErrorMessage = "ERROR"
            };

            Assert.IsTrue(actual.HasErrors);
        }
Esempio n. 3
0
        public void MacId_SmartMac_GreaterThan_29_ReturnsCorrectLenght()
        {
            //XXXXXXXXXXXXMAC00000000000000000
            var smartCode = "MAC".PadLeft(15, 'X').PadRight(32, '0');
            var actual    = new ReturnLineItem {
                SmartCode = smartCode
            };

            Assert.AreEqual(smartCode.Length, 32);
            Assert.AreEqual(actual.MacId, "MAC".PadLeft(15, 'X'));
        }
Esempio n. 4
0
        public void MacId_SmartMac_LessThan_29_ReturnsmartMac()
        {
            //XXXXXXXXXXXXMAC00000000000000000
            var smartCode = "MAC".PadLeft(15, 'X').PadRight(28, '0');
            var actual    = new ReturnLineItem {
                SmartCode = smartCode
            };

            Assert.AreEqual(smartCode.Length, 28);
            Assert.AreEqual(actual.MacId, smartCode);
        }
Esempio n. 5
0
        public ReturnBuilder AddReturnItem(ReturnLineItem lineItem, decimal returnQuantity, string returnReason)
        {
            if (lineItem == null)
            {
                throw new ArgumentNullException("lineItem");
            }

            var returnItem = RmaReturnItems.FirstOrDefault(x => x.RmaLineItems[0].LineItemId == lineItem.LineItemId && x.ReturnReason == returnReason);

            if (returnItem == null)
            {
                var rmaLineItem = CreateEntity <RmaLineItem>();
                rmaLineItem.LineItemId = lineItem.LineItemId;
                rmaLineItem.LineItem   = lineItem.LineItem;

                returnItem = CreateEntity <RmaReturnItem>();
                returnItem.RmaLineItems.Add(rmaLineItem);
                returnItem.ItemState    = RmaLineItemState.AwaitingReturn.ToString();
                returnItem.ReturnReason = returnReason;

                RmaRequest.RmaReturnItems.Add(returnItem);
                RmaReturnItems.Add(returnItem);
            }

            returnItem.RmaLineItems[0].ReturnQuantity += returnQuantity;
            lineItem.AvailableQuantity -= returnQuantity;

            if (lineItem.AvailableQuantity == 0)
            {
                _deletedLineItemList.Add(lineItem);
                AvailableForReturnLineItems.Remove(lineItem);
            }

            Recalculate();

            return(this);
        }