示例#1
0
        //.................................

        private XmlNode AddMailBoxError(XmlNode inEntry, LogErrorLevelFile inErrorLevelFile, string inErrorStr, string inErrorStrDetail, bool inSent)
        {
            string timeStr = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");

            XmlNode error = XMLDocManager.AddNode(_errorMailBox, inEntry, @"Error");

            XMLDocManager.AddAttribute(_errorMailBox, error, @"id", Convert.ToString((int)inErrorLevelFile));
            XMLDocManager.AddAttribute(_errorMailBox, error, @"file", GetLogErrorLevelFileStr(inErrorLevelFile));
            XMLDocManager.AddAttribute(_errorMailBox, error, @"time", timeStr);
            XMLDocManager.AddAttribute(_errorMailBox, error, @"sent", inSent ? @"true" : @"false");
            XMLDocManager.AddAttribute(_errorMailBox, error, @"name", inErrorStr);
            XMLDocManager.AddAttribute(_errorMailBox, error, @"detail", inErrorStrDetail);

            //:::::::::::::::::::::::::::::::

            if (onErrorFunc != null)
            {
                LogErrorLevel errorLevel = (LogErrorLevel)Convert.ToInt32(inEntry.Attributes[@"id"].Value);
                onErrorFunc(errorLevel, timeStr, inErrorLevelFile, inErrorStr, inErrorStrDetail, inSent);
            }

            //:::::::::::::::::::::::::::::::

            return(error);
        }
示例#2
0
        //.................................

        public void LogError(LogErrorLevel inErrorLevel, LogErrorLevelFile inErrorLevelFile, string inErrorStr, string inErrorStrDetail)
        {
            try
            {
                string str = GetLogErrorStr(inErrorLevel, inErrorLevelFile, inErrorStr);

                //getLoggerScrErr().Log(LogLevel.Error, str);
                //getLoggerFileErr().Log(LogLevel.Error, str);

                AddMailBoxEntryError(inErrorLevel, inErrorLevelFile, inErrorStr, inErrorStrDetail);
            }
            catch (Exception)
            {
            }
        }
示例#3
0
        //.................................

        private void AddMailBoxEntryError(LogErrorLevel inErrorLevel, LogErrorLevelFile inErrorLevelFile, string inErrorStr, string inErrorStrDetail)
        {
            OpenErrorMailBox(_errorMailBox);

            //::::::::::::::::::::::::::::::::

            try
            {
                XmlNode entry = GetEntry(inErrorLevel);

                bool sent;
                if (!MailBoxEntryLocked(entry))
                {
                    sent = true;

                    XmlNode error = AddMailBoxError(entry, inErrorLevelFile, inErrorStr, inErrorStrDetail, sent);
                    SendErrorEmail(error);

                    LockEntry(entry);
                }
                else
                {
                    sent = false;
                    AddMailBoxError(entry, inErrorLevelFile, inErrorStr, inErrorStrDetail, sent);
                }

                try
                {
                    SaveErrorEmailBox(_errorMailBox, _errorMailBoxPath);
                }
                catch (Exception e)
                {
                    LogWarning(string.Format(@"AddMailBoxEntryError: Summa failed to saved error mailbox   Message: {0}   StackTrace: {1}", e.Message, e.StackTrace));
                }
            }
            catch (Exception e)
            {
                LogWarning(e.Message);
            }

            //::::::::::::::::::::::::::::::::

            CloseErrorMailBox(_errorMailBox);
        }
示例#4
0
        //:::::::::::::::::::::::::::::::::

        public string GetLogErrorLevelFileStr(LogErrorLevelFile inErrorLevelFile)
        {
            switch (inErrorLevelFile)
            {
            case LogErrorLevelFile.None:                    return(@"");

            case LogErrorLevelFile.ConfigFile:              return(@"Configuration file");

            case LogErrorLevelFile.TransactionXMLFile:      return(@"Transaction XML file");

            case LogErrorLevelFile.UpdateMemberXMLFile:     return(@"UpdateMember XML file");

            case LogErrorLevelFile.ListCategoriesXMLFile:   return(@"ListCategories XML file");

            case LogErrorLevelFile.ListProductTypesXMLFile: return(@"ListProductTypes XML file");

            case LogErrorLevelFile.ListPaymentTypesXMLFile: return(@"ListPaymentTypes XML file");

            case LogErrorLevelFile.ListGroupsXMLFile:       return(@"ListGroups XML file");

            case LogErrorLevelFile.ListStaffXMLFile:        return(@"ListStaff XML file");

            case LogErrorLevelFile.ListDiscountsXMLFile:    return(@"ListDiscounts XML file");

            case LogErrorLevelFile.ListCalculatedXMLFile:   return(@"ListCalculated XML file");

            case LogErrorLevelFile.TotalsDiscountsXMLFile:  return(@"TotalDiscounts XML file");

            case LogErrorLevelFile.ListMemberGroupsXMLFile: return(@"ListMemberGroups XML file");

            case LogErrorLevelFile.ListRosterXMLFile:       return(@"ListRoster XML file");

            case LogErrorLevelFile.RequestXMLFile:          return(@"Request XML file");

            case LogErrorLevelFile.UnknownXMLFile:          return(@"Unknown XML file");

            default: return(@"");
            }
        }
示例#5
0
        //:::::::::::::::::::::::::::::::::

        private string GetLogErrorStr(LogErrorLevel inErrorLevel, LogErrorLevelFile inErrorLevelFile, string inErrorStr)
        {
            return(string.Format("Error: {0} : {1} : {2}", GetLogErrorLevelStr(inErrorLevel), GetLogErrorLevelFileStr(inErrorLevelFile), inErrorStr));
        }