示例#1
0
        private void ShowResult(CheckResults results, Account acc)
        {
            if (results == CheckResults.Good)
            {
                ListViewItem li = new ListViewItem(acc.Email);
                li.SubItems.Add(acc.Password);
                li.SubItems.Add(acc.GiftCardBalance);
                li.SubItems.Add(acc.Orders);
                li.SubItems.Add(acc.ZipCode);
                li.SubItems.Add(acc.Phone);
                listView1.Items.Add(li);
                exportBtn.Visible = true;

                String output = Properties.Settings.Default.ShortOutput;

                output = output.Replace("{Email}", acc.Email)
                         .Replace("{Password}", acc.Password)
                         .Replace("{Balance}", acc.GiftCardBalance)
                         .Replace("{Order Quantity}", acc.Orders)
                         .Replace("{Zip}", acc.ZipCode)
                         .Replace("{Phone}", acc.Phone);

                _logger.Info(output);
            }

            UpdateInfos();
        }
示例#2
0
        public static IForm <Enquiry> BuildEnquiryForm()
        {
            CheckResults Result  = new CheckResults();
            Enquiry      enquiry = new Enquiry();
            Prompting    prompt  = new Prompting();

            return(new FormBuilder <Enquiry>()
                   .Message("If you have difficulty in answering please enter 'help'")

                   /*.Field(new FieldReflector<Enquiry>(nameof(Enquiry.field))
                    *  .SetPrompt(new PromptAttribute("What type of engines does the ship have? {||}")))*/
                   .OnCompletion(async(context, Enquiry) =>
            {
                // Set BotUserData
                context.PrivateConversationData.SetValue <bool>(
                    "ProfileComplete", true);
                context.PrivateConversationData.SetValue(
                    "Qualification", Enquiry.qualification.ToString());
                context.PrivateConversationData.SetValue(
                    "field", Enquiry.field.ToString());
                context.PrivateConversationData.SetValue <bool>(
                    "More Information", Enquiry.More);
                // Tell the user that the form is complete
                string result = await Result.getResult(Enquiry.qualification.ToString(), Enquiry.field.ToString(), Enquiry.More, context);
                Enquiry.save = Enquiry.field.ToString();
                await context.PostAsync("I guess this is the suitable path according to your interest" + result, "");

                //await Conversation.SendAsync(activity, () => { return Chain.From(() => FormDialog.FromForm(Prompting.BuildPromptingForm)); });
                //await Conversation.SendAsync(Enquiry.activity, () => new NumberGuesserDialog());
            })
                   .Build());
        }
示例#3
0
        private CheckResults ValidarCampos()
        {
            CheckResults check      = CheckResults.Failed;
            CheckFields  checfields = new CheckFields();

            if (CheckEmptyFields() == CheckResults.Failed)
            {
                MessageBox.Show("Existen Campos sin llenar");
                check = CheckResults.Failed;
            }
            else if (checfields.ValidarRFC(textBoxRFC.Text) == CheckFields.ResultadosValidación.RfcInvalido)
            {
                MessageBox.Show("RFC ingresado es inválido");
                check = CheckResults.Failed;
            }
            else if (checfields.ValidarNúmero(textBoxTelefono.Text) == CheckFields.ResultadosValidación.NúmeroInválido)
            {
                MessageBox.Show("el numero de telefono que ingresó no es valido");
                check = CheckResults.Failed;
            }
            else if (checfields.ValidarCorreo(textBoxCorreo.Text) == CheckFields.ResultadosValidación.Correoinválido)
            {
                MessageBox.Show("El correo ingresado no es valido");
                check = CheckResults.Failed;
            }
            else
            {
                check = CheckResults.Passed;
            }

            return(check);
        }
示例#4
0
        public RuleData DeepCopy()
        {
            RuleData result = new RuleData();

            result.ID                        = ID;
            result.Priority                  = Priority;
            result.ManualVV                  = ManualVV;
            result.ValCompany                = ValCompany;
            result.Commission                = Commission;
            result.ComResult                 = ComResult;
            result.AgencyCommission          = AgencyCommission;
            result.Bonus                     = Bonus;
            result.BonusResult               = BonusResult;
            result.ChargeExt                 = ChargeExt;
            result.Charge                    = Charge;
            result.ChargeValue               = ChargeValue;
            result.MinProfit                 = MinProfit;
            result.MinProfitPriority         = MinProfitPriority;
            result.MinProfitEnable           = MinProfitEnable;
            result.Discount                  = Discount;
            result.AuthCode                  = AuthCode;
            result.TourCode                  = TourCode;
            result.AcquiringMode             = AcquiringMode;
            result.IsAutoticketingDisabled   = IsAutoticketingDisabled;
            result.BestRule                  = BestRule;
            result.Success                   = Success;
            result.CorpRule                  = CorpRule;
            result.BestCorpRule              = BestCorpRule;
            result.MetasearchCommissionRate  = MetasearchCommissionRate;
            result.MetasearchCommissionValue = MetasearchCommissionValue;
            result.CheckResults              = new CheckResultsCollection(CheckResults.Count);
            CheckResults.ForEach(c => result.CheckResults.Add(c.Key, c.Value));

            return(result);
        }
示例#5
0
        public bool Sample()
        {
            bool isNoShortCircuit;
            int  pointNo;
            int  circuitNo;

            if (!SampleCheck.BeginSampleCheck(out isNoShortCircuit, out _shortCircuitInfoResult, out pointNo, out circuitNo))
            {
                InfoBox.ErrorMsg("取样失败,请检查设备连接");
                return(false);
            }

            CircuitCount = circuitNo;
            PointCount   = pointNo;
            CheckResults.Clear();
            if (!isNoShortCircuit)
            {
                var id = 0;
                foreach (var tmpList in _shortCircuitInfoResult)
                {
                    CommonCheck.OrderCheckResult(tmpList);
                    var tmpCircuitLoop = tmpList.Aggregate("", (current, tmp) => current + (tmp + "-"));
                    ++id;
                    CheckResults.Add(new BindCheckResult {
                        Id = id, CheckResult = tmpCircuitLoop.Remove(tmpCircuitLoop.Length - 1, 1)
                    });
                }
            }
            InfoBox.PlaySound(true);
            return(true);
        }
        public static CheckResults <T> Generate(
            bool includeError      = false,
            bool includeSuccess    = false,
            bool includeWarning    = false,
            bool includeSuggestion = false,
            T identifier           = null)
        {
            var messages = new List <Message <T> >();

            if (includeError)
            {
                messages.Add(MessageGenerator <T> .Generate(MessageLevel.Error, identifier));
            }

            if (includeSuccess)
            {
                messages.Add(MessageGenerator <T> .Generate(MessageLevel.Success, identifier));
            }

            if (includeWarning)
            {
                messages.Add(MessageGenerator <T> .Generate(MessageLevel.Warning, identifier));
            }

            if (includeSuggestion)
            {
                messages.Add(MessageGenerator <T> .Generate(MessageLevel.Suggestion, identifier));
            }

            var output = new CheckResults <T>(messages);

            return(output);
        }
示例#7
0
        public void FireOnCheckCompleted(StateContext context, CheckResults results, CheckParams checkParams)
        {
            var evt = OnCheckCompleted;

            // ReSharper disable once UseNullPropagation
            if (evt != null)
            {
                evt(context, results, checkParams);
            }
        }
示例#8
0
 void AccountsCheckerOnCheckCompleted(CheckResults results, Account account)
 {
     if (InvokeRequired)
     {
         Invoke(new Action(() => ShowResult(results, account)));
     }
     else
     {
         ShowResult(results, account);
     }
 }
示例#9
0
 private void _context_OnCheckCompleted(StateContext context, CheckResults results, CheckParams checkParams)
 {
     if (results != CheckResults.Init)
     {
         Interlocked.Increment(ref _accChecked);
         if (results == CheckResults.Bad)
         {
             Interlocked.Increment(ref _badAccounts);
         }
         else if (results == CheckResults.Good)
         {
             Interlocked.Increment(ref _validAccounts);
         }
     }
     FireOnCheckCompleted(results, checkParams);
 }
示例#10
0
        private CheckResults CheckEmptyFields()
        {
            CheckResults chec = CheckResults.Failed;

            if (textBoxRFC.Text == String.Empty || textBoxNombre.Text == String.Empty || comboSector.Text == String.Empty || textboxUsuarioDirecto.Text == String.Empty || textBoxUsuarioIndirecto.Text == String.Empty || textBoxTelefono.Text == String.Empty || textBoxEstado.Text == String.Empty || textBoxCiudad.Text == String.Empty || textBoxDireccion.Text == String.Empty)
            {
                chec = CheckResults.Failed;
            }
            else
            {
                chec = CheckResults.Passed;
            }


            return(chec);
        }
        protected void ButtonSrchPerson_Click(object sender, EventArgs e)
        {
            if (TextNamePerson.Text.Trim().Length < 1)
            {
                return;
            }
            var dal   = new IndividualManager();
            var table = dal.SearchByName(this.TextNamePerson.Text);

            CheckAll.Checked = false;
            CheckResults.Items.Clear();
            CheckResults.DataSource     = table;
            CheckResults.DataTextField  = table.individual_nameColumn.ColumnName;
            CheckResults.DataValueField = table.individual_nameColumn.ColumnName;
            CheckResults.DataBind();
            Panel1.Visible = true;
        }
        protected void ButtonSrchCompany_Click(object sender, EventArgs e)
        {
            if (TextNameCompany.Text.Trim().Length < 2)
            {
                return;
            }
            var dal   = new CompanyManager();
            var table = dal.SearchCompanies(this.TextNameCompany.Text);

            CheckResults.Items.Clear();
            CheckAll.Checked            = false;
            CheckResults.DataSource     = table;
            CheckResults.DataTextField  = table.company_nameColumn.ColumnName;
            CheckResults.DataValueField = table.company_nameColumn.ColumnName;
            CheckResults.DataBind();
            Panel1.Visible = true;
        }
        protected void ButtonSrchAlias_Click(object sender, EventArgs e)
        {
            if (TextAliasPerson.Text.Trim().Length < 2)
            {
                return;
            }
            var dal   = new LinkManager();
            var table = dal.GetIILByAliasSearch(TextAliasPerson.Text);

            CheckResults.Items.Clear();
            CheckAll.Checked            = false;
            CheckResults.DataSource     = table;
            CheckResults.DataTextField  = table.individual_aliasColumn.ColumnName;
            CheckResults.DataValueField = table.individual_aliasColumn.ColumnName;
            CheckResults.DataBind();
            Panel1.Visible = true;
        }
示例#14
0
        private void FireOnCheckCompleted(CheckResults results, CheckParams checkParams)
        {
            var evt = OnCheckCompleted;

            // ReSharper disable once UseNullPropagation
            if (evt != null)
            {
                if (checkParams == null)
                {
                    evt(results, null);
                }
                else
                {
                    evt(results, checkParams.Account);
                }
            }
        }
示例#15
0
        private void ThreadedListItemAdder(CheckResults aItem)
        {
            int resultCount = fResultStrings.Count + 1;

            fResultStrings.Add(resultCount, aItem);

            if (resultCount % 10 == 0)
            {
                lblCounter.Text = Convert.ToString(resultCount / Environment.ProcessorCount);
                lblCounter.Refresh();
            }

            // Check whether the last result is currently being added
            if (resultCount == (Environment.ProcessorCount * numLoopCount.Value))
            {
                listBoxResults.BeginUpdate();

                double TotalAccuracyVals    = 0;
                double TotalNetAccuracyVals = 0;
                foreach (KeyValuePair <int, CheckResults> threadResult in fResultStrings)
                {
                    // show 1 as 00001
                    listBoxResults.Items.Add(string.Format("{0} - {1}", threadResult.Key.ToString("d5"), threadResult.Value.ResultOutput));
                    TotalAccuracyVals    += threadResult.Value.TimerResolution;
                    TotalNetAccuracyVals += threadResult.Value.StopwatchResolution;
                }
                // The sum of all latencies divided by the amount of checks
                double AverageAccuracy    = TotalAccuracyVals / fResultStrings.Count;
                double AverageNetAccuracy = TotalNetAccuracyVals / fResultStrings.Count;

                lblMaxAccurary.Text        = fMaxAccuracy.ToString("N9");
                lblAverageAccuracy.Text    = AverageAccuracy.ToString("N9");
                lblAverageNetAccuracy.Text = AverageNetAccuracy.ToString("N9");

                lblMaxDesc.Visible    = lblMaxAccurary.Text.Length > 0;
                lblAvgDesc.Visible    = lblAverageAccuracy.Text.Length > 0;
                lblAvgNetDesc.Visible = lblAverageNetAccuracy.Text.Length > 0;

                lblIsHighRes.Visible = Stopwatch.IsHighResolution;

                buttonStart.Enabled = true;
                listBoxResults.EndUpdate();
            }
        }
示例#16
0
        static void versionCheckWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            // The version check has completed. The result is either null, or the version string of the new version.
            if (!e.Cancelled && e.Error == null && e.Result != null)
            {
                CheckResults results = (CheckResults)e.Result;
                if (results.CurrentVersion != null && Util.CompareVersionStrings(VersionNumber.Current, results.CurrentVersion) < 0)
                {
                    AskToDownload(results.CurrentVersion, results.CurrentFileName);
                }
                if (results.PrereleaseVersion != null && Util.CompareVersionStrings(VersionNumber.Current, results.PrereleaseVersion) < 0 && Util.SameExceptRevision(VersionNumber.Current, results.PrereleaseVersion))
                {
                    AskToDownload(results.PrereleaseVersion, results.PrereleaseFileName);
                }
            }

            versionCheckWorker.Dispose();
            versionCheckWorker = null;
        }
示例#17
0
        /// <summary>
        /// Initializes a new instance of <see cref="LayerResult"/>.
        /// </summary>
        /// <param name="layerName">Human readable identifier for the layer that generated this <see cref="LayerResult"/></param>
        /// <param name="checkResults">The individual results that make up this <see cref="LayerResult"/></param>
        public LayerResult(string layerName, IEnumerable <ICheckResult> checkResults)
        {
            if (string.IsNullOrWhiteSpace(layerName))
            {
                throw new ArgumentException("Providing a LayerName is required for a LayerResult to be meaningful.", nameof(layerName));
            }

            this.LayerName = layerName;

            this.CheckResults = checkResults?.ToArray() ?? new ICheckResult[0];

            if (this.CheckResults.Any(r => r == null))
            {
                throw new ArgumentException("One or more check result objects were NULL.", nameof(checkResults));
            }

            this.Level = CheckResults.Any()
                ? (NotificationLevel)CheckResults.Max(r => (int)r.Level)
                : NotificationLevel.Warning;
        }
示例#18
0
        static void Main(string[] args)
        {
            List <bool> results = new List <bool>();

            string       lineRead    = InputSystem.ReadLine();
            NumberReader numbersRead = new NumberReader(lineRead);

            int num_A = numbersRead.Read_A();
            int num_B = numbersRead.Read_B();
            int num_C = numbersRead.Read_C();
            int num_D = numbersRead.Read_D();

            bool auxResult;

            auxResult = NumberChecker.IsNumberGreaterThanOtherNumber(num_B, num_C);
            results.Add(auxResult);

            auxResult = NumberChecker.IsNumberGreaterThanOtherNumber(num_D, num_A);
            results.Add(auxResult);

            int sumC_D = MathOperations.Sum(num_C, num_D);
            int sumA_B = MathOperations.Sum(num_A, num_B);

            auxResult = NumberChecker.IsNumberGreaterThanOtherNumber(sumC_D, sumA_B);
            results.Add(auxResult);

            auxResult = NumberChecker.IsNumberPositive(num_C);
            results.Add(auxResult);

            auxResult = NumberChecker.IsNumberPositive(num_D);
            results.Add(auxResult);

            auxResult = NumberChecker.IsNumberEven(num_A);
            results.Add(auxResult);

            CheckResults.CheckIfAllResultsAreTrue(results);

            Console.ReadKey();
        }
示例#19
0
    private void ThreadedListItemAdder(CheckResults aItem)
    {
      int resultCount = fResultStrings.Count + 1;
      fResultStrings.Add(resultCount, aItem);

      if (resultCount % 10 == 0)
      {
        lblCounter.Text = Convert.ToString(resultCount / Environment.ProcessorCount);
        lblCounter.Refresh();
      }

      // Check whether the last result is currently being added
      if (resultCount == (Environment.ProcessorCount * numLoopCount.Value))
      {
        listBoxResults.BeginUpdate();

        double TotalAccuracyVals = 0;
        double TotalNetAccuracyVals = 0;
        foreach (KeyValuePair<int, CheckResults> threadResult in fResultStrings)
        {
          // show 1 as 00001
          listBoxResults.Items.Add(string.Format("{0} - {1}", threadResult.Key.ToString("d5"), threadResult.Value.ResultOutput));
          TotalAccuracyVals += threadResult.Value.TimerResolution;
          TotalNetAccuracyVals += threadResult.Value.StopwatchResolution;
        }
        // The sum of all latencies divided by the amount of checks
        double AverageAccuracy = TotalAccuracyVals / fResultStrings.Count;
        double AverageNetAccuracy = TotalNetAccuracyVals / fResultStrings.Count;

        lblMaxAccurary.Text = fMaxAccuracy.ToString("N9");        
        lblAverageAccuracy.Text = AverageAccuracy.ToString("N9");
        lblAverageNetAccuracy.Text = AverageNetAccuracy.ToString("N9");

        lblMaxDesc.Visible = lblMaxAccurary.Text.Length > 0;
        lblAvgDesc.Visible = lblAverageAccuracy.Text.Length > 0;
        lblAvgNetDesc.Visible = lblAverageNetAccuracy.Text.Length > 0;

        lblIsHighRes.Visible = Stopwatch.IsHighResolution;

        buttonStart.Enabled = true;
        listBoxResults.EndUpdate();
      }
    }
示例#20
0
 public CheckCardException(CheckResults checkResult)
 {
     CheckResult = checkResult;
 }
示例#21
0
        private static void Main(string[] args)
        {
            var    options     = new CheckOptions();
            bool   showOptions = false;
            string showMsg     = null;

            var optionSet = new OptionSet {
                { "help", "Show this help.", v => showOptions = v != null },
                { "assembly=", "Assembly to check.", v => options.Assembly = v },
                { "method=", "Method name (if you want to check only it).", v => options.Method = v },
                { "debug=", "Show debug information", v => options.ShowDebug = v != null }
            };

            try {
                optionSet.Parse(args);
            } catch (OptionException e) {
                showOptions = true;
                showMsg     = e.Message;
            }

            if (showOptions)
            {
                Console.WriteLine("cccheck");
                Console.WriteLine();
                Console.WriteLine("Options:");
                optionSet.WriteOptionDescriptions(Console.Out);
                Console.WriteLine();
                if (showMsg != null)
                {
                    Console.WriteLine(showMsg);
                    Console.WriteLine();
                }
                return;
            }

            CheckResults results = Checker.Check(options);

            Console.WriteLine();
            if (results.AnyErrors)
            {
                foreach (string error in results.Errors)
                {
                    Console.WriteLine("Error: " + error);
                }
            }

            if (results.AnyWarnings)
            {
                foreach (string warning in results.Warnings)
                {
                    Console.WriteLine("Warning: " + warning);
                }
            }

            if (results.Results != null)
            {
                foreach (var methodValidationResults in results.Results)
                {
                    string methodName = methodValidationResults.Key;
                    Console.WriteLine("Method: " + methodName);
                    foreach (string result in methodValidationResults.Value)
                    {
                        Console.WriteLine("  " + result);
                    }
                    Console.WriteLine();
                }
            }

            Console.WriteLine();
            Console.WriteLine("*** done ***");
        }
示例#22
0
        static void versionCheckWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            DeletePreviouslyDownloadedFiles();

            // We need to check to see if a new version is available. We do this in the background.
            // If a new version is available, the version number is returned as the result of the background
            // processing. If no new version is available, null is returned.
            WebClient    client  = new WebClient();
            CheckResults results = new CheckResults();

            // Download latest version.
            string latestVersion    = null;
            string latestPrerelease = null;

            try {
                latestVersion = client.DownloadString(downloadLocation + latestVersionName);
            }
            catch (WebException) {
                latestVersion = null;
            }

            // Only check latest prerelease if this is a pre-release.
            if (Util.IsPrerelease(VersionNumber.Current))
            {
                try {
                    latestPrerelease = client.DownloadString(downloadLocation + latestPreleaseName);
                }
                catch (WebException) {
                    latestPrerelease = null;
                }
            }

            if (latestVersion != null)
            {
                // Get first line and second line.
                string[] lines    = latestVersion.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
                string   version  = lines.Length > 0 ? lines[0] : null;
                string   filename = lines.Length > 1 ? lines[1] : null;

                if (!string.IsNullOrEmpty(version) && !string.IsNullOrEmpty(filename))
                {
                    results.CurrentVersion  = version;
                    results.CurrentFileName = filename;
                }
            }

            if (latestPrerelease != null)
            {
                // Get first line and second line.
                string[] lines    = latestPrerelease.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
                string   version  = lines.Length > 0 ? lines[0] : null;
                string   filename = lines.Length > 1 ? lines[1] : null;

                if (!string.IsNullOrEmpty(version) && !string.IsNullOrEmpty(filename))
                {
                    results.PrereleaseVersion  = version;
                    results.PrereleaseFileName = filename;
                }
            }

            // Collect anonymous statistics, so we can know number of time the program is invoked, and from where, which version and language people are using.
            string uiLanguage = Settings.Default.UILanguage;

            if (string.IsNullOrEmpty(uiLanguage))
            {
                uiLanguage = CultureInfo.CurrentUICulture.Name;
            }

            string status = string.Format("{{\"Version\":\"{0}\", \"Locale\":\"{1}\", \"TimeZone\":\"{2}\", \"UILang\":\"{3}\", \"ClientId\":\"{4}\", \"OSVersion\":\"{5}\"}}",
                                          JsonEncode(VersionNumber.Current),
                                          JsonEncode(CultureInfo.CurrentCulture.Name),
                                          JsonEncode(TimeZone.CurrentTimeZone.StandardName),
                                          JsonEncode(uiLanguage),
                                          JsonEncode(Settings.Default.ClientId.ToString()),
                                          JsonEncode(CrashReporterDotNET.HelperMethods.GetWindowsVersion()));

            client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
            client.Encoding = Encoding.UTF8;

            try {
                client.UploadStringAsync(new Uri("http://monitor.purple-pen.org/api/Invocation"), status);
            }
            catch (WebException ex) {
                // Ignore problems.
                Debug.WriteLine(ex.ToString());
            }

            e.Result = results;
        }
示例#23
0
        public string Dump()
        {
            var logBuilder = new StringBuilder().
                             Append(ValCompany).
                             Append(';').
                             Append(ID).
                             Append(';');

            if (IsAutoticketingDisabled.HasValue)
            {
                logBuilder.Append(IsAutoticketingDisabled.Value ? "on" : "off");
            }

            logBuilder.Append(';');

            var checkConstants = FlightPricingCheckName.GetConstList;

            foreach (var checkName in checkConstants)
            {
                CheckInfo checkInfo;
                if (CheckResults.TryGetValue(checkName, out checkInfo))
                {
                    logBuilder.Append(checkInfo.Value).Append('\t').Append(checkInfo.Result ? '+' : '-');
                }
                logBuilder.Append(';');
            }

            logBuilder.
            Append(Priority).
            Append(';').
            Append(ManualVV).
            Append(';').
            Append(Commission).
            Append(';').
            Append(ComResult).
            Append(';').
            Append(AgencyCommission).
            Append(';').
            Append(Bonus).
            Append(';').
            Append(BonusResult).
            Append(';').
            Append(Charge).
            Append(';').
            Append(ChargeExt).
            Append(';').
            Append(ChargeValue).
            Append(';').
            Append(MinProfitPriority).
            Append(';').
            Append(MinProfit).
            Append(';').
            Append(Discount).
            Append(';').
            Append(AuthCode).
            Append(';').
            Append(TourCode).
            Append(';').
            Append(MetasearchCommissionRate).
            Append(';').
            Append(MetasearchCommissionValue).
            Append(';').
            Append(Success ? "+" : "-").
            Append(';').
            Append(BestRule ? "+" : "-").
            Append(';').
            Append(CorpRule ? "+" : "-").
            Append(';').
            Append(BestCorpRule ? "+" : "-").
            Append(';');

            return(logBuilder.ToString());
        }
示例#24
0
 public void FireOnCheckCompleted(StateContext context, CheckResults results, CheckParams checkParams)
 {
     var evt = OnCheckCompleted;
     // ReSharper disable once UseNullPropagation
     if (evt != null)
     {
         evt(context, results, checkParams);
     }
 }
示例#25
0
        unsafe private void CheckTimer(object aCpuNo)
        {
            CheckResults ThreadSummary = new CheckResults();

            ThreadSummary.TimerResolution     = 0;
            ThreadSummary.StopwatchResolution = 0;

            try
            {
                try
                {
                    short currentCpu = (short)aCpuNo;
                    SetThreadAffinityMask(GetCurrentThread(), new IntPtr(1 << currentCpu));

                    float MpAccuracy = DXUtil.Timer(DirectXTimer.GetAbsoluteTime);
                    MpAccuracy = DXUtil.Timer(DirectXTimer.GetAbsoluteTime) - MpAccuracy;

                    Stopwatch TimerWatch = new Stopwatch();
                    TimerWatch.Start();
                    TimerWatch.Stop();
                    double NetAccuracyMs     = ((double)TimerWatch.ElapsedTicks / (double)Stopwatch.Frequency) * 1000;
                    string NetAccuracyResult = NetAccuracyMs.ToString("N5");

                    long TicksPerSec = 0;
                    if (!QueryPerformanceFrequency(ref TicksPerSec))
                    {
                        MessageBox.Show("This system does not support accurate timing!");
                        return;
                    }

                    long   TempTime  = 0;
                    double StartTime = 0;

                    QueryPerformanceCounter(ref TempTime);
                    // we neglect the overhead of these assignments in between..
                    StartTime = TempTime;
                    QueryPerformanceCounter(ref TempTime);

                    // The timespan between two timer results in ms
                    double SysAccuracyMs     = ((TempTime - StartTime) / TicksPerSec) * 1000;
                    string SysAccuracyResult = SysAccuracyMs.ToString("N5");

                    if (SysAccuracyMs < fMaxAccuracy)
                    {
                        fMaxAccuracy = SysAccuracyMs;
                    }

                    ThreadSummary.ResultOutput        = string.Format("CPU {0}: Ticks per second: {1} / MP accuracy: {2} / .NET accuracy: {3} / Approx. accurary in ms: {4}", currentCpu, TicksPerSec, MpAccuracy, NetAccuracyResult, SysAccuracyResult);
                    ThreadSummary.TimerResolution     = SysAccuracyMs;
                    ThreadSummary.StopwatchResolution = NetAccuracyMs;

                    Thread.Sleep(0);
                }
                catch (ThreadAbortException tae) { ThreadSummary.ResultOutput = tae.Message; }
                catch (ThreadStateException tse) { ThreadSummary.ResultOutput = tse.Message; }

                // Let the GUI thread add our result to the listbox
                Invoke(new MethodListViewItems(ThreadedListItemAdder), new object[] { ThreadSummary });
            }
            catch (Exception) { }
        }
示例#26
0
 private void FireOnCheckCompleted(CheckResults results, CheckParams checkParams)
 {
     var evt = OnCheckCompleted;
     // ReSharper disable once UseNullPropagation
     if (evt != null)
     {
         if (checkParams == null)
             evt(results, null);
         else
             evt(results, checkParams.Account);
     }
 }
示例#27
0
        /// <summary>
        /// Return missing files and unused files
        /// </summary>
        /// <param name="local"></param>
        /// <returns></returns>
        public async Task <CheckResults> CheckMissingAndUnusedFiles(Dictionary <StorageFile, long> local = null)
        {
            //WARNING: This function is totally diffent with python and java ver
            //because we don't store all media files in one folder but in deckIdFolder
            var listNote = collection.Database.QueryColumn <NoteTable>(
                "select distinct f.id, f.mid, f.flds from notes f, cards c where c.nid = f.id");
            var listCard = collection.Database.QueryColumn <CardTable>(
                "select distinct c.did, c.nid from cards c, notes f where c.nid = f.id");

            var noteToDeckId  = MapNoteToDeckId(listNote, listCard);
            var mediaToDeckId = MapMediaNameToDeckId(noteToDeckId);

            var unUsed = new List <KeyValuePair <string, long> >();
            //Warning: Invalid is kept in java ver for compatible with the source code in python
            //Since window and C# is unicode base, we omit this instead
            //List<string> inValid = new List<string>();
            Dictionary <StorageFile, long> filesToDeckId;

            if (local != null)
            {
                filesToDeckId = new Dictionary <StorageFile, long>(local);
            }
            else
            {
                filesToDeckId = new Dictionary <StorageFile, long>();
                foreach (var folder in await mediaFolder.GetFoldersAsync())
                {
                    foreach (var f in await folder.GetFilesAsync())
                    {
                        filesToDeckId[f] = Convert.ToInt64(folder.Name);
                    }
                }
            }

            bool isRenamedFiles = false;

            foreach (var file in filesToDeckId)
            {
                if (file.Key.Name.StartsWith("_"))
                {
                    // leading _ says to ignore file
                    continue;
                }

                var key = new KeyValuePair <string, long>(file.Key.Name, file.Value);
                if (!mediaToDeckId.Keys.Contains(key))
                {
                    unUsed.Add(key);
                }
                else
                {
                    mediaToDeckId.Remove(key);
                }
            }

            // if we renamed any files to nfc format, we must rerun the check
            // to make sure the renamed files are not marked as unused
            if (isRenamedFiles)
            {
                return(await CheckMissingAndUnusedFiles(local));
            }

            var noHave = new List <KeyValuePair <string, long> >();

            foreach (var x in mediaToDeckId.Keys)
            {
                if (!x.Key.StartsWith("_"))
                {
                    noHave.Add(new KeyValuePair <string, long>(x.Key, x.Value));
                }
            }

            CheckResults result = new CheckResults();

            result.MisingFiles = noHave;
            result.UnusedFiles = unUsed;
            return(result);
        }
示例#28
0
 private void _context_OnCheckCompleted(StateContext context, CheckResults results, CheckParams checkParams)
 {
     if (results != CheckResults.Init)
     {
         Interlocked.Increment(ref _accChecked);
         if (results == CheckResults.Bad)
         {
             Interlocked.Increment(ref _badAccounts);
         }
         else if (results == CheckResults.Good)
         {
             Interlocked.Increment(ref _validAccounts);
         }
     }
     FireOnCheckCompleted(results, checkParams);
 }
示例#29
0
    unsafe private void CheckTimer(object aCpuNo)
    {
      CheckResults ThreadSummary = new CheckResults();
      ThreadSummary.TimerResolution = 0;
      ThreadSummary.StopwatchResolution = 0;

      try
      {
        try
        {
          short currentCpu = (short)aCpuNo;
          SetThreadAffinityMask(GetCurrentThread(), new IntPtr(1 << currentCpu));

          float MpAccuracy = DXUtil.Timer(DirectXTimer.GetAbsoluteTime);
          MpAccuracy = DXUtil.Timer(DirectXTimer.GetAbsoluteTime) - MpAccuracy;

          Stopwatch TimerWatch = new Stopwatch();
          TimerWatch.Start();
          TimerWatch.Stop();
          double NetAccuracyMs = ((double)TimerWatch.ElapsedTicks / (double)Stopwatch.Frequency) * 1000;
          string NetAccuracyResult = NetAccuracyMs.ToString("N5");

          long TicksPerSec = 0;
          if (!QueryPerformanceFrequency(ref TicksPerSec))
          {
            MessageBox.Show("This system does not support accurate timing!");
            return;
          }

          long TempTime = 0;
          double StartTime = 0;

          QueryPerformanceCounter(ref TempTime);
          // we neglect the overhead of these assignments in between..
          StartTime = TempTime;
          QueryPerformanceCounter(ref TempTime);

          // The timespan between two timer results in ms
          double SysAccuracyMs = ((TempTime - StartTime) / TicksPerSec) * 1000;
          string SysAccuracyResult = SysAccuracyMs.ToString("N5");

          if (SysAccuracyMs < fMaxAccuracy)
            fMaxAccuracy = SysAccuracyMs;

          ThreadSummary.ResultOutput = string.Format("CPU {0}: Ticks per second: {1} / MP accuracy: {2} / .NET accuracy: {3} / Approx. accurary in ms: {4}", currentCpu, TicksPerSec, MpAccuracy, NetAccuracyResult, SysAccuracyResult);
          ThreadSummary.TimerResolution = SysAccuracyMs;
          ThreadSummary.StopwatchResolution = NetAccuracyMs;

          Thread.Sleep(0);
        }
        catch (ThreadAbortException tae) { ThreadSummary.ResultOutput = tae.Message; }
        catch (ThreadStateException tse) { ThreadSummary.ResultOutput = tse.Message; }

        // Let the GUI thread add our result to the listbox
        Invoke(new MethodListViewItems(ThreadedListItemAdder), new object[] { ThreadSummary });
      }
      catch (Exception) { }
    }
示例#30
0
        static void versionCheckWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            DeletePreviouslyDownloadedFiles();

            // We need to check to see if a new version is available. We do this in the background.
            // If a new version is available, the version number is returned as the result of the background
            // processing. If no new version is available, null is returned.
            WebClient client = new WebClient();
            CheckResults results = new CheckResults();

            // Download latest version.
            string latestVersion = null;
            string latestPrerelease = null;
            try {
                latestVersion = client.DownloadString(downloadLocation + latestVersionName);
            }
            catch (WebException) {
                latestVersion = null;
            }

            // Only check latest prerelease if this is a pre-release.
            if (Util.IsPrerelease(VersionNumber.Current)) {
                try {
                    latestPrerelease = client.DownloadString(downloadLocation + latestPreleaseName);
                }
                catch (WebException) {
                    latestPrerelease = null;
                }
            }

            if (latestVersion != null) {
                // Get first line and second line.
                string[] lines = latestVersion.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
                string version = lines.Length > 0 ? lines[0] : null;
                string filename = lines.Length > 1 ? lines[1] : null;

                if (!string.IsNullOrEmpty(version) && !string.IsNullOrEmpty(filename)) {
                    results.CurrentVersion = version;
                    results.CurrentFileName = filename;
                }
            }

            if (latestPrerelease != null) {
                // Get first line and second line.
                string[] lines = latestPrerelease.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
                string version = lines.Length > 0 ? lines[0] : null;
                string filename = lines.Length > 1 ? lines[1] : null;

                if (!string.IsNullOrEmpty(version) && !string.IsNullOrEmpty(filename)) {
                    results.PrereleaseVersion = version;
                    results.PrereleaseFileName = filename;
                }
            }

            // Collect anonymous statistics, so we can know number of time the program is invoked, and from where, which version and language people are using.
            string uiLanguage = Settings.Default.UILanguage;
            if (string.IsNullOrEmpty(uiLanguage))
                uiLanguage = CultureInfo.CurrentUICulture.Name;

            string status = string.Format("{{\"Version\":\"{0}\", \"Locale\":\"{1}\", \"TimeZone\":\"{2}\", \"UILang\":\"{3}\", \"ClientId\":\"{4}\", \"OSVersion\":\"{5}\"}}",
                JsonEncode(VersionNumber.Current),
                JsonEncode(CultureInfo.CurrentCulture.Name),
                JsonEncode(TimeZone.CurrentTimeZone.StandardName),
                JsonEncode(uiLanguage),
                JsonEncode(Settings.Default.ClientId.ToString()),
                JsonEncode(CrashReporterDotNET.HelperMethods.GetWindowsVersion()));
            client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
            client.Encoding = Encoding.UTF8;

            try {
                client.UploadStringAsync(new Uri("http://monitor.purple-pen.org/api/Invocation"), status);
            }
            catch (WebException) {
                // Ignore problems.
            }

            e.Result = results;
        }