public static void Add_Domain_Mirror_Cards_Async(string newDigitDomain, int nrCifreInDomeniu, int maxDigit = -1)
        {
            using (var db = new AdoEntities())
            {
                // check if domain in DB
                if (!db.Halborn_Domains.Any(x => x.domains == newDigitDomain))
                {
                    db.Halborn_Domains.Add(new Halborn_Domains {
                        domains = newDigitDomain
                    });
                    db.SaveChanges();

                    DoPermutations_Async(newDigitDomain);
                }

                // make digits domain mirror
                var mirrorDigitDomain = new StringBuilder();
                foreach (var digit in newDigitDomain.ToCharArray())
                {
                    mirrorDigitDomain.Append((maxDigit == -1 ? nrCifreInDomeniu : maxDigit) - 1 -
                                             int.Parse(digit.ToString()));
                }

                // check if domain in DB
                if (!db.Halborn_Domains.Any(x => x.domains == newDigitDomain))
                {
                    db.Halborn_Domains.Add(new Halborn_Domains {
                        domains = mirrorDigitDomain.ToString()
                    });
                    db.SaveChanges();

                    DoPermutations_Async(mirrorDigitDomain.ToString());
                }
            }
        }
        public static void AddCardsRange_Async(char[][] result)
        {
            try
            {
                using (var db = new AdoEntities())
                {
                    foreach (var r in result)
                    {
                        var concatedCard = string.Join("", r);
                        if (!db.Halborn_Cards.Any(x => x.cards == concatedCard))
                        {
                            db.Halborn_Cards.Add(new Halborn_Cards {
                                cards = concatedCard
                            });
                        }

                        db.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                if (!ex.ToString().Contains(" Cannot insert duplicate key"))
                {
                    throw ex;
                }
            }
        }
Ejemplo n.º 3
0
        private static void DoOneDigitReplacement_Async(string replaceThis, string withThis, int maxDigit = -1)
        {
            var domains_temp = new HashSet <string>();

            using (var db = new AdoEntities())
            {
                foreach (var domain in db.Halborn_Domains)
                {
                    var temp = domain.domains.Replace(replaceThis, withThis);
                    domains_temp.Add(temp);
                }

                foreach (var dom_temp in domains_temp)
                {
                    Db_Repository.Add_Domain_Mirror_Cards_Async(dom_temp, maxDigit);
                }
            }
        }
Ejemplo n.º 4
0
        private static void Main()
        {
            for (var cifraInFocus = 0; cifraInFocus < nrCifreInDomeniu; cifraInFocus++)
            {
                var ciclu = 0;

                var newDomain = new StringBuilder();
                while (ciclu < nrCifreInDomeniu)
                {
                    newDomain = new StringBuilder();
                    for (var cifra = 0; cifra < nrCifreInDomeniu; cifra++)
                    {
                        if (newDomain.Length == nrCifreInDomeniu)
                        {
                            Db_Repository.Add_Domain_Mirror_Cards_Async(newDomain.ToString(), nrCifreInDomeniu);
                            break;
                        }

                        newDomain.Append(cifra);
                        if (cifra == cifraInFocus)
                        {
                            ciclu++;
                            var ciclu_temp = nrCifreInDomeniu - newDomain.Length < ciclu
                                ? nrCifreInDomeniu - newDomain.Length
                                : ciclu;
                            while (ciclu_temp > 0)
                            {
                                ciclu_temp--;
                                newDomain.Append(cifra);
                            }
                        }
                    }
                }

                // only for last
                Db_Repository.Add_Domain_Mirror_Cards_Async(newDomain.ToString(), nrCifreInDomeniu);
            }


            for (var replaceThis = 0; replaceThis < nrCifreInDomeniu; replaceThis++)
            {
                for (var withThis = 0; withThis < nrCifreInDomeniu; withThis++)
                {
                    if (replaceThis != withThis)
                    {
                        DoOneDigitReplacement_Async(replaceThis.ToString(), withThis.ToString());
                    }
                }
            }

            // add extra domain digit
            for (var replaceThis = 0; replaceThis < nrCifreInDomeniu; replaceThis++)
            {
                DoOneDigitReplacement_Async(replaceThis.ToString(), "6", nrCifreInDomeniu + 1);
            }

            // add extra domain digit
            for (var replaceThis = 0; replaceThis < nrCifreInDomeniu + 1; replaceThis++)
            {
                DoOneDigitReplacement_Async(replaceThis.ToString(), "7", nrCifreInDomeniu + 2);
            }

            // add extra extra domain digit
            for (var replaceThis = 0; replaceThis < nrCifreInDomeniu + 2; replaceThis++)
            {
                DoOneDigitReplacement_Async(replaceThis.ToString(), "8", nrCifreInDomeniu + 3);
            }

            // add extra extra domain digit
            for (var replaceThis = 0; replaceThis < nrCifreInDomeniu + 3; replaceThis++)
            {
                DoOneDigitReplacement_Async(replaceThis.ToString(), "9", nrCifreInDomeniu + 4);
            }

            // print when done
            using (var db = new AdoEntities())
            {
                Console.WriteLine("Domains : " + db.Halborn_Domains.Count());
                Console.WriteLine("Card : " + db.Halborn_Cards.Count());
            }
        }