Exemplo n.º 1
0
        public override void Input(string pinyin)
        {
            distribution = distribution.ExpandAndMerge(str =>
                                                       Model.GetDistribution(new PinyinToSolve(str, pinyin))
                                                       .Take(TakeSize)
                                                       .Select(result => str + result.Substring(0, 1)))
                           .Take(TakeSize)
                           .Norm();

            if (MakeGoodResults)
            {
                goodResults.AddRange(distribution.KeyProbDescending
                                     .TakeWhile(pair => pair.Value > 0.2)
                                     .Reverse()
                                     .Select(pair => pair.Key));
            }
            if (TraceDistribute)
            {
                Distributions.Add(distribution);
            }
            if (PrintDistributeSize > 0)
            {
                distribution.Take(PrintDistributeSize).Print();
            }

            longestAnswer = distribution.KeyProbDescending.First().Key;
        }
        private void AddDistributions(List <Package>[] DividedPackages)
        {
            try
            {
                foreach (var pkgGroup in DividedPackages)
                {
                    Distributions.Add(new Distribution()
                    {
                        Date     = DistributionDate,
                        Packages = pkgGroup,
                        AdminId  = (((App)Application.Current).Currents.LoggedUser as Admin).AdminId
                    });
                }

                AssignVolunteers();
            }
            catch (Exception e)
            {
                Message = new Message("משהו השתבש.", e.Message, false, true);
            }
        }