public ExelEnginer(string template, MainCreatorsForm form)
 {
     _tmpl = template;
     _form = form;
 }
        public static List <PackageFilesModel> EntityPackadgeFileName(this List <PackageFilesModel> packList, List <string> listB, MainCreatorsForm form)
        {
            var cB   = listB.Count;
            var bout = false;
            List <StructExelModel>   rnfr = new List <StructExelModel>();
            List <PackageFilesModel> rrs  = null;

            foreach (var pk in packList)
            {
                var cpkb = 0;
                foreach (var pkb in pk.BrangeFiles)
                {
                    var id =
                        listB.Select(brx => new Regex($@"^([^\$\~]).*{brx}.*", RegexOptions.IgnoreCase))
                        .Count(reg => reg.IsMatch(pkb.Name));
                    cpkb += id;

                    if (id == 0)
                    {
                        rnfr.Add(pkb);
                    }
                }

                if (cpkb < cB || cpkb > cB)
                {
                    var win = MessageBox.Show($"{(cB - cpkb)}", "", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

                    if (win == DialogResult.Yes)
                    {
                        form.SetInfoLable("Всё плохо но мы продолжаем!");
                    }
                    else
                    {
                        form.SetInfoLable("Всё плохо и мы останавливаемся!");
                        break;
                    }
                }

                if (rnfr.Any())
                {
                    foreach (var xx in rnfr)
                    {
                        pk.BrangeFiles.Remove(xx);
                    }
                }

                if (pk.BrangeFiles.Any())
                {
                    rrs = rrs ?? new List <PackageFilesModel>();
                    rrs.Add(pk);
                }

                //^
            }

            return(rrs);

            /*
             * foreach (var reswin in
             * from pack in packList
             *  let cbn = listB.Count
             *  let mxx = pack.BrangeFiles.Sum(brn => (
             *      from br in listB
             *          let reg = new Regex($".*{br}.*", RegexOptions.IgnoreCase)
             *          select reg.IsMatch(brn.Name) ? 1 : 0).Sum())
             *  where mxx < cbn || mxx > cbn
             * select MessageBox.Show($"{(cbn - mxx)}", "", MessageBoxButtons.YesNo, MessageBoxIcon.Information))
             * {
             *  if (reswin == DialogResult.Yes)
             *  {
             *      //Вывод предупреждения о том что пакет был не полон или
             *      // некоторые файлы были именованны не корректно.
             *      //
             *      result = true;
             *      _form.SetInfoLable("Всё плохо но мы продолжаем!");
             *  }
             *  else
             *  {
             *      _form.SetInfoLable("Всё плохо и мы останавливаемся!");
             *      return result;
             *      //Выход из метода и вывод предупреждения.
             *
             *  }
             * }
             */
        }