Пример #1
0
            public ErrorReport Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                global::Omnix.Serialization.RocketPack.Timestamp p_creationTime = global::Omnix.Serialization.RocketPack.Timestamp.Zero;
                ErrorReportType p_type = (ErrorReportType)0;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_creationTime = r.GetTimestamp();
                        break;
                    }

                    case 1:
                    {
                        p_type = (ErrorReportType)r.GetUInt64();
                        break;
                    }
                    }
                }

                return(new ErrorReport(p_creationTime, p_type));
            }
Пример #2
0
        public bool SendErrorReport(
            Exception[] exceptions,
            ErrorReportType errorReportType,
            string description,
            string email,
            UserBase user
            )
        {
            if (errorReportType == ErrorReportType.Automatic && !CanSendAutomatically)
            {
                return(false);
            }

            var errorReport = new ErrorReport {
                DBName      = DatabaseName,
                Edition     = Edition,
                Product     = ProductName,
                Version     = Version,
                Email       = email,
                Description = description,
                ReportType  = errorReportType,
                StackTrace  = GetExceptionText(exceptions),
                UserName    = user?.Name
            };

            errorReport = PrepareLog(errorReport);
            return(sendService.SubmitErrorReport(errorReport));
        }
Пример #3
0
        public bool SendErrorReport(
            Exception[] exceptions,
            int logRowsCount,
            ErrorReportType errorReportType,
            string description,
            string email,
            UserBase user
            )
        {
            if (errorReportType == ErrorReportType.Automatic && !CanSendAutomatically)
            {
                return(false);
            }

            ErrorReport errorReport = new ErrorReport();

            errorReport.DBName      = DatabaseName;
            errorReport.Edition     = Edition;
            errorReport.Product     = ProductName;
            errorReport.Version     = Version;
            errorReport.Email       = email;
            errorReport.Description = description;
            errorReport.ReportType  = errorReportType;
            errorReport.StackTrace  = GetExceptionText(exceptions);
            errorReport.UserName    = user?.Name;

            errorReport = PrepareLog(errorReport, logRowsCount);
            return(sendService.SubmitErrorReport(errorReport));
        }
Пример #4
0
        private void SendReport(string logContent, ErrorReportType reportType)
        {
            var svc = ReportWorker.GetReportService();

            if (svc == null)
            {
                MessageDialogHelper.RunErrorDialog("Не удалось установить соединение с сервером Quality Solution.");
                return;
            }

            var result = svc.SubmitErrorReport(
                new ErrorReport {
                Product     = application.ProductName,
                Edition     = application.Modification,
                Version     = application.Version.ToString(),
                DBName      = databaseInfo?.Name ?? String.Empty,
                StackTrace  = AppExceptionText,
                Description = textviewDescription.Buffer.Text,
                Email       = entryEmail.Text,
                UserName    = user?.Name,
                LogFile     = logContent,
                ReportType  = reportType
            });

            if (result)
            {
                this.Respond(ResponseType.Ok);
                reportSent = true;
            }
            else
            {
                MessageDialogHelper.RunWarningDialog("Отправка сообщения не удалась.\n" +
                                                     "Проверьте ваше интернет соединение и повторите попытку. Если отправка неудастся возможно имеются проблемы на стороне сервера.");
            }
        }
Пример #5
0
        public void Setup(ErrorReportType type)
        {
            string logs = _logService.ReadLogs();

            Type            = type;
            MessageFontSize = (logs.Length < 512) ? 16 : 12;
            ErrorMessage    = logs;
        }
Пример #6
0
 public ErrorReportSettings(
     ErrorDumpType dumpType               = ErrorDumpType.MiniDump,
     ErrorReportType reportType           = ErrorReportType.Noncritical,
     string component                     = null,
     string eventName                     = null,
     ReadOnlyCollection <ErrorFile> files = null)
 {
     this.DumpType   = dumpType;
     this.ReportType = reportType;
     this.Component  = component;
     this.EventName  = eventName;
     this.Files      = files;
 }
Пример #7
0
        public ErrorReport(global::Omnix.Serialization.RocketPack.Timestamp creationTime, ErrorReportType type)
        {
            this.CreationTime = creationTime;
            this.Type         = type;

            {
                var __h = new global::System.HashCode();
                if (this.CreationTime != default)
                {
                    __h.Add(this.CreationTime.GetHashCode());
                }
                if (this.Type != default)
                {
                    __h.Add(this.Type.GetHashCode());
                }
                __hashCode = __h.ToHashCode();
            }
        }
Пример #8
0
 public ErrorReportSettings(
 ErrorDumpType dumpType = ErrorDumpType.MiniDump,
 ErrorReportType reportType = ErrorReportType.Noncritical,
 string component = null,
 string eventName = null,
 ReadOnlyCollection<ErrorFile> files = null)
 {
     this.DumpType = dumpType;
     this.ReportType = reportType;
     this.Component = component;
     this.EventName = eventName;
     this.Files = files;
 }