Пример #1
0
        //.................................

        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);
        }
Пример #2
0
        /// <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();
        }
Пример #3
0
        //.................................

        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);
        }
Пример #4
0
        //.................................

        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));
            }
        }
Пример #5
0
        /// <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();
        }
Пример #6
0
        /// <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());
        }
Пример #7
0
        /// <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());
        }
Пример #8
0
        //.................................

        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);
        }
Пример #9
0
        /// <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);
        }
Пример #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="inItemNode"></param>
 /// <returns></returns>
 private XmlNodeList getSideList(XmlNode inItemNode)
 {
     return(XMLDocManager.GetNodeList(inItemNode, @"Sides/Side"));
 }
Пример #11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="inItemNode"></param>
 /// <returns></returns>
 private XmlNodeList getOptionList(XmlNode inItemNode)
 {
     return(XMLDocManager.GetNodeList(inItemNode, @"Options/Option"));
 }
Пример #12
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="inServingCourseNode"></param>
 /// <returns></returns>
 private XmlNodeList getItemList(XmlNode inServingCourseNode)
 {
     return(XMLDocManager.GetNodeList(inServingCourseNode, @"Items/Item"));
 }