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); } }
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); } }
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); } }
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); } }