internal HiddenFacade() { generalDAO = new GeneralDAO(); }
/// <summary> /// Karşılaştırma, Eşleştirme işlemleri bu metot içerisinde yapılıyor /// </summary> private void compareOperation() { Stopwatch watch = new Stopwatch(); watch.Start(); try { int FirmListCount = FirmList.Count; #region web'ten alınan firm listesindeki veriler karsilastirma islemi icin duzenleniyor Parallel.For(0, FirmListCount, i => { String telNo = FirmList[i].firmPhone; String mail = FirmList[i].firmMail; if (!String.IsNullOrEmpty(mail)) { mail = Regex.Replace(mail, " ", ""); FirmList[i].firmMail = mail; } telNo = Regex.Replace(telNo, " ", ""); FirmList[i].firmPhone = telNo; }); #endregion //Datatable column ayarlari configDataTable(); //FirmList'ten distinct bir Enumerable collection elde ediliyor IEnumerable <Firm> firmList = FirmList.AsParallel().GroupBy(o => new { o.firmName, o.firmPhone, o.firmFax, o.firmMail, o.firmWebSite }) .Select(o => o.FirstOrDefault()); FirmList = null; //Distinct olmayan liste alanı serbest bırakılıyor if (firmList != null) { foreach (var item in firmList) { var row = table.NewRow(); row[0] = item.firmName; row[1] = item.firmPhone; row[2] = item.firmFax; row[3] = item.firmMail; row[4] = item.firmWebSite; table.Rows.Add(row); } Console.WriteLine("DataTable'a veriler başarıyla yüklendi"); Console.WriteLine("DataTable'da bulunan kayiy sayisi {0}", table.Rows.Count); //Firmaların tel ve maillerini eşleştiren proc string mappingFirmsProc = "dbo.sp_mappingfirms"; //Eşleşmeyenleri bulan proc string unmatchedFirmsProc = "dbo.sp_unmatchedfirms"; GeneralDAO cmd = new GeneralDAO(); cmd.executeProcedureWithTableParam(table, mappingFirmsProc); cmd.executeProcedureWithTableParam(table, unmatchedFirmsProc); } } catch (Exception e) { PrintConsole.LOG(e.StackTrace, e.Message); } finally { watch.Stop(); Console.WriteLine("Karsilastirma islemi {0} saniyede tamamlandi", watch.Elapsed.TotalSeconds.ToString()); } }