//................................. public void ArchiveErrorMailBoxEntry(XmlDocument inErrorMailBox, LogErrorLevel inErrorLevel) { OpenErrorMailBox(inErrorMailBox); //:::::::::::::::::::::::::::::::: CopyErrorMailBoxEntry(inErrorMailBox, inErrorLevel); //:::::::::::::::::::::::::::::::::::::: XmlNode entry = GetEntry(inErrorLevel); XmlNodeList errorList = XMLDocManager.GetNodeList(entry, @"Error"); foreach (XmlNode error in errorList) { entry.RemoveChild(error); XMLDocManager.SetAttribute(entry, @"locked", @"false"); } try { SaveErrorEmailBox(inErrorMailBox, _errorMailBoxPath); } catch (Exception e) { LogWarning(string.Format(@"ArchiveErrorMailBoxEntry: Summa failed to saved error mailbox Message: {0} StackTrace: {1}", e.Message, e.StackTrace)); } //:::::::::::::::::::::::::::::::: CloseErrorMailBox(inErrorMailBox); }
/// <summary> /// /// </summary> /// <param name="inItemsSectionNode"></param> /// <param name="outOrderHeaderAccount"></param> void readWebOrderItemsComplete( XmlNode inItemsSectionNode, DTO_WebOrderAccount outOrderHeaderAccount) { XmlNodeList itemNodeList = XMLDocManager.GetNodeList(inItemsSectionNode, @"Item"); List <DTO_WebOrderItem> itemList = new List <DTO_WebOrderItem>(); foreach (XmlNode itemNode in itemNodeList) { DTO_WebOrderItem item = new DTO_WebOrderItem(); item.UID = getXMLOrderAttribute(itemNode, @"uid", @""); item.BasePrice = Convert.ToDecimal(getXMLOrderAttribute(itemNode, @"basePrice", @"0.00")); item.Qty = Convert.ToSingle(getXMLOrderAttribute(itemNode, @"quantity", @"0.0")); item.DiscountID = Convert.ToUInt32(getXMLOrderAttribute(itemNode, @"discountID", @"0")); item.Note = getXMLOrderAttribute(itemNode, @"note", @""); item.ItemOptions = readWebOrderItemOptionsComplete(itemNode.FirstChild); // Options node item.ItemSides = readWebOrderItemSidesComplete(itemNode.FirstChild.NextSibling); // Sides node itemList.Add(item); } outOrderHeaderAccount.OrderItems = itemList.ToArray(); }
//................................. private XmlNode GetEntry(LogErrorLevel inErrorLevel) { XmlNodeList entries = XMLDocManager.GetNodeList(_errorMailBox, @"Entries/Entry"); foreach (XmlNode entry in entries) { if (Convert.ToInt32(entry.Attributes[@"id"].Value) == (int)inErrorLevel) { return(entry); } } return(null); }
//................................. public void CopyErrorMailBoxEntry(XmlDocument inErrorMailBox, LogErrorLevel inErrorLevel) { //:::::::::::::::::::::::::::::: XmlDocument errorMailBoxEntryArchive = new XmlDocument(); // Create the XML Declaration, and append it to XML document XMLDocManager.CreateXmlDeclaration(errorMailBoxEntryArchive, @"1.0", null, null); //:::::::::::::::::::::::::::::: string entryName = LogErrorLevelToName(inErrorLevel); string timeStr = DateTime.Now.ToString("yyyyMMddHHmmss"); // Create the root element XMLDocManager.CreateRoot(errorMailBoxEntryArchive, string.Format(@"{0}{1}", timeStr, entryName)); //:::::::::::::::::::::::::::::: XmlNode archiveEntry = AddEntry(errorMailBoxEntryArchive, errorMailBoxEntryArchive.DocumentElement, entryName, inErrorLevel); //.............................. XmlNode entry = GetEntry(inErrorLevel); XmlNodeList errorList = XMLDocManager.GetNodeList(entry, @"Error"); foreach (XmlNode error in errorList) { ArchiveMailBoxError(errorMailBoxEntryArchive, archiveEntry, error.Attributes[@"id"].Value, error.Attributes[@"file"].Value, error.Attributes[@"time"].Value, error.Attributes[@"name"].Value, error.Attributes[@"detail"].Value, error.Attributes[@"sent"].Value); } //:::::::::::::::::::::::::::::::::::::: try { SaveErrorEmailBox(errorMailBoxEntryArchive, string.Format(@"{0}{1}.xml", _archiveMailBoxFolder, errorMailBoxEntryArchive.DocumentElement.Name)); LogWarning(string.Format(@"An error mailbox entry has been archived: {0}", errorMailBoxEntryArchive.DocumentElement.Name)); } catch (Exception e) { LogWarning(string.Format(@"CopyErrorMailBoxEntry: Summa failed to saved error mailbox Message: {0} StackTrace: {1}", e.Message, e.StackTrace)); } }
/// <summary> /// /// </summary> /// <param name="inCommentsSectionNode"></param> /// <param name="outOrderHeaderAccount"></param> void readWebOrderCommentsComplete( XmlNode inCommentsSectionNode, DTO_WebOrderAccount outOrderHeaderAccount) { XmlNodeList commentNodeList = XMLDocManager.GetNodeList(inCommentsSectionNode, @"Comment"); List <string> commentList = new List <string>(); foreach (XmlNode commentNode in commentNodeList) { commentList.Add(commentNode.InnerText); } outOrderHeaderAccount.Comments = commentList.ToArray(); }
/// <summary> /// /// </summary> /// <param name="inItemSidesNode"></param> /// <returns></returns> DTO_WebOrderItemSide[] readWebOrderItemSidesComplete(XmlNode inItemSidesNode) { XmlNodeList itemNodeList = XMLDocManager.GetNodeList(inItemSidesNode, @"Option"); List <DTO_WebOrderItemSide> itemSideList = new List <DTO_WebOrderItemSide>(); foreach (XmlNode sideNode in inItemSidesNode) { DTO_WebOrderItemSide side = new DTO_WebOrderItemSide(); side.UID = getXMLOrderAttribute(sideNode, @"uid", @""); side.BasePrice = Convert.ToDecimal(getXMLOrderAttribute(sideNode, @"basePrice", @"0.00")); side.Qty = Convert.ToSingle(getXMLOrderAttribute(sideNode, @"quantity", @"0.0")); side.DiscountID = Convert.ToUInt32(getXMLOrderAttribute(sideNode, @"discountID", @"0")); side.Note = getXMLOrderAttribute(sideNode, @"note", @""); itemSideList.Add(side); } return(itemSideList.ToArray()); }
/// <summary> /// /// </summary> /// <param name="inItemOptionsNode"></param> /// <returns></returns> DTO_WebOrderItemOption[] readWebOrderItemOptionsComplete(XmlNode inItemOptionsNode) { XmlNodeList itemNodeList = XMLDocManager.GetNodeList(inItemOptionsNode, @"Option"); List <DTO_WebOrderItemOption> itemOptionList = new List <DTO_WebOrderItemOption>(); foreach (XmlNode optionNode in inItemOptionsNode) { DTO_WebOrderItemOption option = new DTO_WebOrderItemOption(); option.UID = getXMLOrderAttribute(optionNode, @"uid", @""); option.BasePrice = Convert.ToDecimal(getXMLOrderAttribute(optionNode, @"basePrice", @"0.00")); option.Qty = Convert.ToSingle(getXMLOrderAttribute(optionNode, @"quantity", @"0.0")); option.DiscountID = Convert.ToUInt32(getXMLOrderAttribute(optionNode, @"discountID", @"0")); option.Note = getXMLOrderAttribute(optionNode, @"note", @""); itemOptionList.Add(option); } return(itemOptionList.ToArray()); }
//................................. public void ArchiveErrorMailBox(XmlDocument inErrorMailBox) { OpenErrorMailBox(inErrorMailBox); //:::::::::::::::::::::::::::::::: XmlNodeList entries = XMLDocManager.GetNodeList(inErrorMailBox, @"Entries/Entry"); //:::::::::::::::::::::::::::::::::::::: foreach (XmlNode entry in entries) { CopyErrorMailBoxEntry(inErrorMailBox, (LogErrorLevel)Convert.ToInt32(entry.Attributes[@"id"].Value)); //.................... XmlNodeList errorList = XMLDocManager.GetNodeList(entry, @"Error"); foreach (XmlNode error in errorList) { entry.RemoveChild(error); } XMLDocManager.SetAttribute(entry, @"locked", @"false"); } try { SaveErrorEmailBox(inErrorMailBox, _errorMailBoxPath); } catch (Exception e) { LogWarning(string.Format(@"ArchiveErrorMailBox: Summa failed to saved error mailbox Message: {0} StackTrace: {1}", e.Message, e.StackTrace)); } //:::::::::::::::::::::::::::::::: CloseErrorMailBox(inErrorMailBox); }
/// <summary> /// Returns null if the language is not found in the xml file /// </summary> /// <param name="inLanguage"></param> /// <returns></returns> private XmlNode XML_LanguageNode(TextManagerLanguages inLanguage) { XmlNode result = null; //::::::::::::::::::::::::::::::: if (_textsLoaded) { XmlNodeList languageNodes = XMLDocManager.GetNodeList(_textsFileDoc, @"Languages/Language"); foreach (XmlNode node in languageNodes) { if (node.Attributes[@"name"].Value == pLanguageName(inLanguage)) { result = node; break; } } } //:::::::::::::::::::::::::::::::: return(result); }
/// <summary> /// /// </summary> /// <param name="inItemNode"></param> /// <returns></returns> private XmlNodeList getSideList(XmlNode inItemNode) { return(XMLDocManager.GetNodeList(inItemNode, @"Sides/Side")); }
/// <summary> /// /// </summary> /// <param name="inItemNode"></param> /// <returns></returns> private XmlNodeList getOptionList(XmlNode inItemNode) { return(XMLDocManager.GetNodeList(inItemNode, @"Options/Option")); }
/// <summary> /// /// </summary> /// <param name="inServingCourseNode"></param> /// <returns></returns> private XmlNodeList getItemList(XmlNode inServingCourseNode) { return(XMLDocManager.GetNodeList(inServingCourseNode, @"Items/Item")); }