/// <summary> /// MatchedFirm Listeye Ekle /// </summary> /// <param name="m_Firm"></param> /// <returns></returns> private void AddMatchedFirm(MatchedFirm m_Firm) { if (m_Firm != null) { list_MatchedFirms.Add(m_Firm); } }
public void Add(MatchedFirm firm) { if (firm != null) { if (!operation.isExists(firm)) { operation.insert(firm); } } }
/// <summary> /// Karşılaştırma, Eşleştirme işlemleri bu metot içerisinde yapılıyor /// </summary> private void UnmatchedPhonesAndSaveMatches() { Stopwatch watch = new Stopwatch(); try { watch.Start(); int FirmListCount = FirmList.Count; List <string> telListFromWeb = new List <string>(); #region web'ten alınan firm listesindeki telefon numaraları listeye alınıyor, unique list Parallel.For(0, FirmListCount, i => { String telNo = FirmList[i].firmPhone; telNo = Regex.Replace(telNo, " ", ""); telListFromWeb.Add(telNo); FirmList[i].firmPhone = telNo; }); #endregion Console.WriteLine("Web adreslerinden cekilen Firma sayisi {0}", telListFromWeb.Count); Console.WriteLine("OSB-DB'den cekilen Telefon Numarasi sayisi {0}", TelNumberListFromDB.Count); Console.WriteLine("OSB-DB'den cekilen Email sayisi {0}", EmailListFromDB.Count); BusinessOperations.CompareOperations.CompareFirmInfos compObj = new BusinessOperations.CompareOperations.CompareFirmInfos(); #region Karşılaştırma işlemi Parallel.For(0, telListFromWeb.Count, i => { String item_FirmTel = telListFromWeb[i]; Console.WriteLine("{0} Firma Karşılaştırma İşlemi", i); if (!String.IsNullOrEmpty(item_FirmTel)) { //webten gelen telNo ile DB'den gelen telNo eşleşirse,geriye müşteriKodu döner. decimal _MusteriKodu_matchedWithPhoneNumber = compObj.ComparePhoneNumber(item_FirmTel, ref TelNumberListFromDB); //-1 değilse müşteriKodu'dur ve telNolar eşleşmiştir. if (_MusteriKodu_matchedWithPhoneNumber != -1) { //Webten alınan Firma listesinden mail adres string itemMail = GetMailByTelFromFirmList(item_FirmTel); itemMail = Regex.Replace(itemMail, " ", ""); Firm firm = GetFirmByTelNumber(item_FirmTel); MatchedFirm _matchedFirm = new MatchedFirm(); if (firm != null) { _matchedFirm = new MatchedFirm { Unvan = firm.firmName, Tel = firm.firmPhone, Fax = firm.firmFax, Mail = firm.firmMail, Website = firm.firmWebSite, MusteriKodu = _MusteriKodu_matchedWithPhoneNumber }; } //Mail adres alanı boş değilse,eşleşme var mı diye bak if (!String.IsNullOrEmpty(itemMail)) { if (isExistsInEmailList(itemMail, _MusteriKodu_matchedWithPhoneNumber)) { //tel ve mail eşleşmişse status=11 _matchedFirm.TelMailStatus = "11"; } else { //sadece tel eşleşmişse statsu = 10 _matchedFirm.TelMailStatus = "10"; } } else { //mail yok ve tel ile eşleşmişse status=10 _matchedFirm.TelMailStatus = "10"; } AddMatchedFirm(_matchedFirm); } else { Firm firm = GetFirmByTelNumber(item_FirmTel); AddUnmatchedFirm(new UnmatchedFirm { Unvan = firm.firmName, Tel = firm.firmPhone, Mail = firm.firmMail, Fax = firm.firmFax, Website = firm.firmWebSite }); } } }); #endregion } catch (Exception e) { PrintConsole.LOG(e.StackTrace, e.Message); } finally { watch.Stop(); Console.WriteLine("Karsilastirma islemi {0} dkda tamamlandi sn {1}", watch.Elapsed.TotalMinutes.ToString(), watch.Elapsed.TotalSeconds.ToString()); } }
/// <summary> /// Verilen MatchedFirm nesnesini OSBDB.MatchedFirm tablosuna kayıt eder /// </summary> /// <param name="firm"></param> public void SaveData(MatchedFirm firm) { MatchedFirmDAO dao = new MatchedFirmDAO(); dao.Add(firm); }