/// <summary> /// Add new site record /// </summary> /// <param name="siteItem"></param> /// <param name="email"></param> /// <returns></returns> public Site Add(SiteItems siteItem, string email) { Site site = new Site(); site.Name = siteItem.SiteName; site.StartDate = Convert.ToDateTime(siteItem.SiteStartDate); site.IsPrimarySite = siteItem.SiteIsPrimarySite; site.ClinicalPopulationTypeId = siteItem.SiteClinicalPopulationType == null ? default(int?) : siteItem.SiteClinicalPopulationType.Id; site.CollectionProductTypeId = siteItem.SiteCollectionProductType == null ? default(int?) : siteItem.SiteCollectionProductType.Id; site.CBCollectionTypeId = siteItem.SiteCBCollectionType == null ? default(int?) : siteItem.SiteCBCollectionType.Id; site.CBUnitTypeId = siteItem.SiteCBUnitType == null ? default(int?) : siteItem.SiteCBUnitType.Id; //site.CBUnitsBanked = siteItem.SiteUnitsBanked; //if (!string.IsNullOrWhiteSpace(siteItem.SiteUnitsBankedDate)) //{ // site.CBUnitsBankDate = Convert.ToDateTime(siteItem.SiteUnitsBankedDate); //} site.CreatedBy = email; site.CreatedDate = DateTime.Now; if (siteItem.SiteAddresses != null) { site.SiteAddresses = new List <SiteAddress>(); foreach (var siteAddressItem in siteItem.SiteAddresses) { Address address = new Address(); address.AddressTypeId = siteAddressItem.Address.AddressType.Id; address.Street1 = siteAddressItem.Address.Street1; address.Street2 = siteAddressItem.Address.Street2; address.City = siteAddressItem.Address.City; address.StateId = siteAddressItem.Address.State != null ? siteAddressItem.Address.State.Id : (int?)null; address.Province = siteAddressItem.Address.Province; address.ZipCode = siteAddressItem.Address.ZipCode; address.CountryId = siteAddressItem.Address.Country.Id; address.Phone = siteItem.SitePhone; address.CreatedBy = email; address.CreatedDate = DateTime.Now; SiteAddress siteAddress = new SiteAddress(); siteAddress.Address = address; siteAddress.CreatedBy = email; siteAddress.IsPrimaryAddress = false; siteAddress.CreatedDate = DateTime.Now; site.SiteAddresses.Add(siteAddress); } } base.Repository.Add(site); return(site); }
private void CreateSitemapeParallel(SiteAddress sa) { listVisitedLinks = new System.Collections.Generic.List <string>(); targetSiteObj = new TargetSITE(sa.UrlAddress); SiteMape sm = new SiteMape { SiteAddress = sa, NameSateMape = "AUTO_GENERATED" }; this._db.SiteMapes.Add(sm); this._db.SaveChanges(); DeepSearchSitemapParallel(sm, Researching(targetSiteObj.WholeName)); listVisitedLinks = null; }
private int SearchSitePage(List <string> listSiteMap, SiteAddress sa) { List <TimeSpan> lts = new List <TimeSpan>(); List <string> l_s_m;//list site mape string str = ""; object o = new object(); int countFoundPages = 0; foreach (string xmlPage in listSiteMap) { System.Threading.Tasks.Parallel.For(0, this._amountOfTests, (x) => { System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Reset(); sw.Start(); str = RequestByUrl(xmlPage); sw.Stop(); lock (o) { lts.Add(sw.Elapsed); } }); l_s_m = SearchPattern(str, _httpwebPage, 1); if (l_s_m.Count == 0) { continue; } countFoundPages++; SiteMape sm = new SiteMape { SiteAddress = sa, NameSateMape = xmlPage, TimeMax = lts.Max(), TimeMin = lts.Min(), TimeAverage = new TimeSpan((long)lts.Average(x => x.Ticks)) }; this._db.SiteMapes.Add(sm); this._db.SaveChanges(); SaveListPageThreadPool(l_s_m, sm); } return(countFoundPages); }
internal override void SetXML(XmlElement xml, BaseClassIfc host, HashSet <int> processed) { base.SetXML(xml, host, processed); if (mRefLatitude != "$") { xml.SetAttribute("RefLatitude", mRefLatitude.Substring(1, mRefLatitude.Length - 2).Replace(',', ' ')); } if (mRefLongitude != "$") { xml.SetAttribute("RefLongitude", mRefLongitude.Substring(1, mRefLongitude.Length - 2).Replace(',', ' ')); } if (!double.IsNaN(mRefElevation)) { xml.SetAttribute("RefElevation", mRefElevation.ToString()); } setAttribute(xml, "LandTitleNumber", LandTitleNumber); if (mSiteAddress > 0) { xml.AppendChild(SiteAddress.GetXML(xml.OwnerDocument, "SiteAddress", this, processed)); } }
/// <summary> /// point of enter for processing /// </summary> /// <param name="siteAddress"></param> /// <returns></returns> public ICollection <string> LookForSiteAddress(SiteAddress siteAddress) { siteAddress.UrlAddress = MathcAddress(siteAddress.UrlAddress, _httpwebAddress, 0); //check in the existence of the site if (SiteIPAddress(siteAddress.UrlAddress).Count == 0) { return new List <string> { "site does not exist" } } ; SiteAddress sa = new SiteAddress { UrlAddress = siteAddress.UrlAddress, GuidString = siteAddress.GuidString }; //Save request by url this._db.SiteAddresses.Add(sa); this._db.SaveChanges(); List <string> searchSiteMap = SearchSiteMap(siteAddress.UrlAddress); int control = 0; control = SearchSitePage(searchSiteMap, sa); if (control == 0) { CreateSitemapeParallel(sa); } var xml = this._db.SiteMapes.Where(x => x.SiteAddressId == sa.Id).Select(x => x.NameSateMape).ToList(); List <string> list = new List <string> { "you can go to the history of requests", "URL address: ", sa.UrlAddress, "Found *.xml: " + xml.Count().ToString() }; list.AddRange(xml); list.Add(_counterPages + " pages were found"); return(list); }
private void ManageSiteAddresses(SiteItems siteItem, Site site, string email) { var siteManager = this.container.GetInstance <SiteManager>(); var siteAddressManager = this.container.GetInstance <SiteAddressManager>(); var addressManager = this.container.GetInstance <AddressManager>(); var distanceManager = this.container.GetInstance <DistanceManager>(); if (siteItem.SiteId != 0) // site update case { var tempSite = siteManager.GetById(siteItem.SiteId); if (tempSite != null && tempSite.SiteAddresses != null) { var primaryAddress = tempSite.SiteAddresses.FirstOrDefault(x => x.IsPrimaryAddress == true); if (primaryAddress != null) // update primary address { var address = addressManager.GetById(primaryAddress.AddressId); address.Street1 = siteItem.SiteStreetAddress1; address.Street2 = siteItem.SiteStreetAddress2; address.City = siteItem.SiteCity; address.StateId = siteItem.SiteState?.Id; address.Province = siteItem.SiteProvince; address.Phone = siteItem.SitePhone; address.ZipCode = siteItem.SiteZip; address.CountryId = siteItem.SiteCountry?.Id ?? 0; address.UpdatedBy = email; address.UpdatedDate = DateTime.Now; addressManager.Save(address); } else //add primary address { var address = new Address { AddressTypeId = (int)Constants.AddressType.Office, Street1 = siteItem.SiteStreetAddress1, Street2 = siteItem.SiteStreetAddress2, City = siteItem.SiteCity, StateId = siteItem.SiteState?.Id, Province = siteItem.SiteProvince, ZipCode = siteItem.SiteZip, CountryId = siteItem.SiteCountry?.Id ?? 0, Phone = siteItem.SitePhone, CreatedBy = email, CreatedDate = DateTime.Now }; addressManager.Add(address); var siteAddress = new SiteAddress { SiteId = siteItem.SiteId, AddressId = address.Id, IsPrimaryAddress = true, CreatedBy = email, CreatedDate = DateTime.Now }; siteAddressManager.Add(siteAddress); } if (siteItem.SiteAddresses != null) { foreach (var siteAddressItem in siteItem.SiteAddresses) { if (siteAddressItem.Id == 0) //new site address { var address = new Address { AddressTypeId = siteAddressItem.Address.AddressType.Id, Street1 = siteAddressItem.Address.Street1, Street2 = siteAddressItem.Address.Street2, City = siteAddressItem.Address.City, StateId = siteAddressItem.Address.State?.Id, Province = siteAddressItem.Address.Province, ZipCode = siteAddressItem.Address.ZipCode, CountryId = siteAddressItem.Address.Country.Id, Phone = siteAddressItem.Address.Phone, CreatedBy = email, CreatedDate = DateTime.Now }; //address.Phone = siteAddressItem.Address.Phone; addressManager.Add(address); var siteAddress = new SiteAddress { SiteId = siteItem.SiteId, AddressId = address.Id, IsPrimaryAddress = false, CreatedBy = email, CreatedDate = DateTime.Now }; siteAddressManager.Add(siteAddress); } else // update site address { var address = addressManager.GetById(siteAddressItem.AddressId); address.Street1 = siteAddressItem.Address.Street1; address.Street2 = siteAddressItem.Address.Street2; address.City = siteAddressItem.Address.City; address.StateId = siteAddressItem.Address.State?.Id; address.Province = siteAddressItem.Address.Province; address.Phone = siteAddressItem.Address.Phone; address.ZipCode = siteAddressItem.Address.ZipCode; address.CountryId = siteAddressItem.Address.Country?.Id; address.UpdatedBy = email; address.UpdatedDate = DateTime.Now; addressManager.Save(address); } } // delete site address foreach (var siteAddress in tempSite.SiteAddresses.Where(x => x.IsPrimaryAddress != true)) { var found = siteItem.SiteAddresses.Any(x => x.Id == siteAddress.Id); if (!found) { var distanceList = siteAddress.Distances; if (distanceList != null) { foreach (var distance in distanceList) { distanceManager.Remove(distance.Id); } } siteAddressManager.Remove(siteAddress.Id); } } } this.InvalidateCache(email); } } else // new addresses for new site { var address = new Address { AddressTypeId = (int)Constants.AddressType.Office, Street1 = siteItem.SiteStreetAddress1, Street2 = siteItem.SiteStreetAddress2, City = siteItem.SiteCity, StateId = siteItem.SiteState?.Id, Province = siteItem.SiteProvince, ZipCode = siteItem.SiteZip, CountryId = siteItem.SiteCountry?.Id ?? 0, Phone = siteItem.SitePhone, CreatedBy = email, CreatedDate = DateTime.Now }; //address.Phone = site.Phone; addressManager.Add(address); var siteAddress = new SiteAddress { SiteId = site.Id, AddressId = address.Id, IsPrimaryAddress = true, CreatedBy = email, CreatedDate = DateTime.Now }; siteAddressManager.Add(siteAddress); } }
public ActionResult SearchDeepSiteMape(SiteAddress hostName) { return(PartialView(proc.LookForSiteAddress(hostName))); }
public IEnumerable <SitePage> Put(int id, [FromBody] SiteAddress hostName) { return(proc.SearchSitePage(id).Select(x => new SitePage { Id = x.Id, TimeMin = x.TimeMin, TimeMax = x.TimeMax, NameSitePage = x.NameSitePage, Number = x.Number })); }
public IEnumerable <string> POST([FromBody] SiteAddress hostName) { return(proc.LookForSiteAddress(hostName)); }
/// <summary> /// Update site record /// </summary> /// <param name="siteItem"></param> /// <param name="email"></param> /// <returns></returns> public Site Update(SiteItems siteItem, string email) { var site = base.Repository.GetById(siteItem.SiteId); site.Name = siteItem.SiteName; site.StartDate = Convert.ToDateTime(siteItem.SiteStartDate); //site.StreetAddress1 = siteItem.SiteStreetAddress1; //site.StreetAddress2 = siteItem.SiteStreetAddress2; //site.City = siteItem.SiteCity; //site.Zip = siteItem.SiteZip; //site.StateId = siteItem.SiteState == null ? default(int?) : siteItem.SiteState.Id == 0 ? default(int?) : siteItem.SiteState.Id; //site.Province = siteItem.SiteProvince; //site.CountryId = siteItem.SiteCountry.Id; //site.Phone = siteItem.SitePhone; site.IsPrimarySite = siteItem.SiteIsPrimarySite; //site.ClinicalTypeId = siteItem.SiteClinicalType == null ? default(int?) : siteItem.SiteClinicalType.Id; //site.ProcessingTypeId = siteItem.SiteProcessingType == null ? default(int?) : siteItem.SiteProcessingType.Id; site.CollectionProductTypeId = siteItem.SiteCollectionProductType == null || siteItem.SiteCollectionProductType.Id == 0 ? default(int?) : siteItem.SiteCollectionProductType.Id; site.ClinicalPopulationTypeId = siteItem.SiteClinicalPopulationType == null || siteItem.SiteClinicalPopulationType.Id == 0 ? default(int?) : siteItem.SiteClinicalPopulationType.Id; //site.TransplantTypeId = siteItem.SiteTransplantType == null ? default(int?) : siteItem.SiteTransplantType.Id; site.CBCollectionTypeId = siteItem.SiteCBCollectionType == null || siteItem.SiteCBCollectionType.Id == 0 ? default(int?) : siteItem.SiteCBCollectionType.Id; site.CBUnitTypeId = siteItem.SiteCBUnitType == null || siteItem.SiteCBUnitType.Id == 0 ? default(int?) : siteItem.SiteCBUnitType.Id; site.CBUnitsBanked = siteItem.SiteUnitsBanked; if (!string.IsNullOrWhiteSpace(siteItem.SiteUnitsBankedDate)) { site.CBUnitsBankDate = Convert.ToDateTime(siteItem.SiteUnitsBankedDate); } if (site.SiteAddresses != null) { var address = site.SiteAddresses.FirstOrDefault(x => x.IsPrimaryAddress.GetValueOrDefault()); if (address != null) { address.Address.Street1 = siteItem.SiteStreetAddress1; address.Address.Street2 = siteItem.SiteStreetAddress2; address.Address.City = siteItem.SiteCity; address.Address.StateId = siteItem.SiteState == null ? default(int?) : siteItem.SiteState.Id == 0 ? default(int?) : siteItem.SiteState.Id; address.Address.ZipCode = siteItem.SiteZip; address.Address.CountryId = siteItem.SiteCountry.Id; address.Address.Phone = siteItem.SitePhone; address.Address.UpdatedBy = email; address.Address.UpdatedDate = DateTime.Now; } } else { site.SiteAddresses = new List <SiteAddress>(); foreach (var siteAddressItem in siteItem.SiteAddresses) { var siteAddress = new SiteAddress { Address = new Address { AddressTypeId = siteAddressItem.Address.AddressType.Id, Street1 = siteAddressItem.Address.Street1, Street2 = siteAddressItem.Address.Street2, City = siteAddressItem.Address.City, StateId = siteAddressItem.Address.State?.Id, Province = siteAddressItem.Address.Province, ZipCode = siteAddressItem.Address.ZipCode, CountryId = siteAddressItem.Address.Country.Id, Phone = siteItem.SitePhone, CreatedBy = email, CreatedDate = DateTime.Now }, CreatedBy = email, IsPrimaryAddress = false, CreatedDate = DateTime.Now }; site.SiteAddresses.Add(siteAddress); } } site.UpdatedBy = email; site.UpdatedDate = DateTime.Now; base.Repository.Save(site); return(site); }
public IEnumerable <string> POST([FromBody] SiteAddress hostName) { return(proc.Ping(hostName.UrlAddress)); }