Exemple #1
0
        public void UpdateItem(Product item)
        {
            // ReSharper disable PossibleNullReferenceException

            if (currentItemNode.Attributes["ItemNum"].Value != item.ItemNumber)
            {
                GetItem(item.ItemNumber);
            }

            try
            {
                currentItemNode.Attributes["ItemNum"].Value          = item.ItemNumber;
                currentItemNode.Attributes["Description"].Value      = item.Description;
                currentItemNode.Attributes["L"].Value                = item.L.ToString();
                currentItemNode.Attributes["W"].Value                = item.W.ToString();
                currentItemNode.Attributes["H"].Value                = item.H.ToString();
                currentItemNode.Attributes["SinglePack"].Value       = item.SinglePack.ToString();
                currentItemNode.Attributes["SignReq"].Value          = item.SignatureRequired.ToString();
                currentItemNode.Attributes["USMail"].Value           = item.ShipUSMail.ToString();
                currentItemNode.Attributes["PackingException"].Value = item.PackingException.ToString();

                var weightNode = currentItemNode.SelectSingleNode("Weight");
                weightNode.Attributes["WeightForOne"].Value = item.Weight.ToString("0.00");
                weightNode.Attributes[""].Value             = item.PackagingWeight.ToString();

                var newSubItemsNode = CreateNode(XmlNodeType.Element, "SubItems", null);
                if (item.IsKit)
                {
                    foreach (var itemNumber in item.SubItems)
                    {
                        var subItem = CreateNode(XmlNodeType.Element, "SubItem", null);
                        subItem.InnerText = itemNumber;
                        newSubItemsNode.AppendChild(subItem);
                    }
                }

                var oldSubItemsNode = currentItemNode.SelectSingleNode("SubItems");
                // ReSharper disable AssignNullToNotNullAttribute
                currentItemNode.ReplaceChild(newSubItemsNode, oldSubItemsNode);
                // ReSharper restore AssignNullToNotNullAttribute

                Logger.Log(String.Format("Item '{0}' has been updated.", item.ItemNumber));
                Logger.Log(String.Format("\tUpdated values - \n{0}", item.PropertyList()));

                Save(xmlFileName);

                // ReSharper restore PossibleNullReferenceException
            }
            catch (Exception ex)
            {
                throw new ItemMaintenanceException("An unexpected exception occurred during UpdateItem.", ex);
            }
        }
Exemple #2
0
        public void AddItem(Product objItem)
        {
            if (Exists(objItem.ItemNumber))
                throw new DuplicateItemException(objItem.ItemNumber);

            try
            {

                var newItem = CreateItemNode(objItem);

                matchValue = objItem.ItemNumber;
                var i = GetLastIndex();

                if (i == -1)
                {
                    root.AppendChild(newItem);
                }
                else
                {
                    var itemNum = itemNos[i];
                    currentItemNode = root.SelectSingleNode("//Item[@ItemNum='" + itemNum + "']");
                    root.InsertAfter(newItem, currentItemNode);
                }

                itemNos.Insert(i + 1, objItem.ItemNumber);

                Save(xmlFileName);

                Logger.Log(String.Format("Item '{0}' has been added to the list.", objItem.ItemNumber));
                Logger.Log(String.Format("\tValues -\n{0}", objItem.PropertyList()));

                currentItemNode = root.SelectSingleNode("//Item[@ItemNum='" + objItem.ItemNumber + "']");

            }
            catch (Exception ex)
            {
                throw new ItemMaintenanceException("Add item failed!", ex);
            }
        }
Exemple #3
0
        public void AddItem(Product objItem)
        {
            if (Exists(objItem.ItemNumber))
            {
                throw new DuplicateItemException(objItem.ItemNumber);
            }

            try
            {
                var newItem = CreateItemNode(objItem);

                matchValue = objItem.ItemNumber;
                var i = GetLastIndex();

                if (i == -1)
                {
                    root.AppendChild(newItem);
                }
                else
                {
                    var itemNum = itemNos[i];
                    currentItemNode = root.SelectSingleNode("//Item[@ItemNum='" + itemNum + "']");
                    root.InsertAfter(newItem, currentItemNode);
                }

                itemNos.Insert(i + 1, objItem.ItemNumber);

                Save(xmlFileName);

                Logger.Log(String.Format("Item '{0}' has been added to the list.", objItem.ItemNumber));
                Logger.Log(String.Format("\tValues -\n{0}", objItem.PropertyList()));

                currentItemNode = root.SelectSingleNode("//Item[@ItemNum='" + objItem.ItemNumber + "']");
            }
            catch (Exception ex)
            {
                throw new ItemMaintenanceException("Add item failed!", ex);
            }
        }
Exemple #4
0
        public void UpdateItem(Product item)
        {
            // ReSharper disable PossibleNullReferenceException

            if (currentItemNode.Attributes["ItemNum"].Value != item.ItemNumber)
                GetItem(item.ItemNumber);

            try
            {

                currentItemNode.Attributes["ItemNum"].Value = item.ItemNumber;
                currentItemNode.Attributes["Description"].Value = item.Description;
                currentItemNode.Attributes["L"].Value = item.L.ToString();
                currentItemNode.Attributes["W"].Value = item.W.ToString();
                currentItemNode.Attributes["H"].Value = item.H.ToString();
                currentItemNode.Attributes["SinglePack"].Value = item.SinglePack.ToString();
                currentItemNode.Attributes["SignReq"].Value = item.SignatureRequired.ToString();
                currentItemNode.Attributes["USMail"].Value = item.ShipUSMail.ToString();
                currentItemNode.Attributes["PackingException"].Value = item.PackingException.ToString();

                var weightNode = currentItemNode.SelectSingleNode("Weight");
                weightNode.Attributes["WeightForOne"].Value = item.Weight.ToString("0.00");
                weightNode.Attributes[""].Value = item.PackagingWeight.ToString();

                var newSubItemsNode = CreateNode(XmlNodeType.Element, "SubItems", null);
                if (item.IsKit)
                {
                    foreach (var itemNumber in item.SubItems)
                    {
                        var subItem = CreateNode(XmlNodeType.Element, "SubItem", null);
                        subItem.InnerText = itemNumber;
                        newSubItemsNode.AppendChild(subItem);
                    }
                }

                var oldSubItemsNode = currentItemNode.SelectSingleNode("SubItems");
                // ReSharper disable AssignNullToNotNullAttribute
                currentItemNode.ReplaceChild(newSubItemsNode, oldSubItemsNode);
                // ReSharper restore AssignNullToNotNullAttribute

                Logger.Log(String.Format("Item '{0}' has been updated.", item.ItemNumber));
                Logger.Log(String.Format("\tUpdated values - \n{0}", item.PropertyList()));

                Save(xmlFileName);

                // ReSharper restore PossibleNullReferenceException

            }
            catch (Exception ex)
            {
                throw new ItemMaintenanceException("An unexpected exception occurred during UpdateItem.", ex);
            }
        }