public List <string> ParceTenders(string tenderResponce, List <string> lotJsons, OrgResponce orgResp) { List <string> notmodelJsons = new List <string>(); try { TendersResponce tr = JsonConvert.DeserializeObject <TendersResponce>(tenderResponce); for (int i = 0; i < tr.aaData.Count; i++) { NotificationModel notModel = new NotificationModel(); List <OrganisationId> cust = new List <OrganisationId>(); OrganisationId orgId = new OrganisationId(); orgId.Inn = orgResp.Inn; orgId.Kpp = orgResp.Kpp; cust.Add(orgId); notModel.Customers = cust; notModel.PlacingWayId = 5000; notModel.RegionCode = Convert.ToInt32(orgResp.RegionNumber); notModel.Organisations = orgResp.FullName + orgResp.Name; if (tr.iTotalDisplayRecords > 1) { notModel.Multilot = true; } else { notModel.Multilot = false; } Model model = new Model(); model.Id = tr.aaData[i][0]; model.Note = tr.aaData[i][1].Substring(tr.aaData[i][1].IndexOf(">") + 1, tr.aaData[i][1].LastIndexOf("<") - tr.aaData[i][1].IndexOf(">") - 1); model.SubmissionStartDateTime = DateTime.Parse(tr.aaData[i][2].Substring(0, tr.aaData[i][2].IndexOf("("))); model.SubmissionCloseDateTime = DateTime.Parse(tr.aaData[i][3].Substring(0, tr.aaData[i][3].IndexOf("("))); model.ContactPerson = new Contacts(); string c = tr.aaData[i][4]; model.ContactPerson.FIO = c.Substring(0, c.IndexOf("<")); model.ContactPerson.Position = c.Substring(c.IndexOf(">") + 1, c.Skip(c.IndexOf(">")).ToString().IndexOf(">")); model.ContactPerson.Email = c.Substring(c.IndexOf("mailto:") + 7, c.Substring(c.IndexOf("mailto")).IndexOf(">") - 7); model.Lots = new List <Lot>(); foreach (string lotJson in lotJsons) { try { TendersResponce lotResp = JsonConvert.DeserializeObject <TendersResponce>(lotJson); for (int j = 0; j < lotResp.aaData.Count; j++) { Lot lot = new Lot(); lot.Name = lotResp.aaData[j][1]; lot.Measure = lotResp.aaData[j][3]; lot.Quantity = Convert.ToDouble(lotResp.aaData[j][4], CultureInfo.GetCultureInfo("en-US")); model.Lots.Add(lot); } } catch (Newtonsoft.Json.JsonReaderException e) { Debug.WriteLine(e.Data); Debug.WriteLine(e.LineNumber); Debug.WriteLine(e.LinePosition); Debug.WriteLine(e.Message); Debug.WriteLine(e.Path); Regex reg = new Regex("(\")\\w+\\W(\")"); string pattern = "(\")\\w+\\W(\")"; string slot = lotJson; foreach (Match match in reg.Matches(lotJson)) { Debug.WriteLine("!!!!" + match); MatchEvaluator evaluator = new MatchEvaluator(RepMatch); slot = Regex.Replace(lotJson, pattern, evaluator); Debug.WriteLine("++++" + slot); } TendersResponce lotResp = JsonConvert.DeserializeObject <TendersResponce>(slot); for (int j = 0; j < lotResp.aaData.Count; j++) { Lot lot = new Lot(); lot.Name = lotResp.aaData[j][1]; lot.Measure = lotResp.aaData[j][3]; lot.Quantity = Convert.ToDouble(lotResp.aaData[j][4], CultureInfo.GetCultureInfo("en-US")); model.Lots.Add(lot); } } } notModel.Json = JsonConvert.SerializeObject(model); notmodelJsons.Add(JsonConvert.SerializeObject(notModel)); } return(notmodelJsons); } catch (JsonReaderException e) { Debug.WriteLine(e.Message); // List<string> tres = new List<string>(); // Regex regex = new Regex("([.*])"); //// tres = tenderResponce.Split(',').ToList(); // tres = regex.Split(tenderResponce).ToList(); // foreach (string tr in tres) // { // Debug.WriteLine(tr); // } return(notmodelJsons); } }
public override int GetHashCode() { return(OrganisationId.GetHashCode()); }
public string GetEncryptedId() { return(obfuscator.Obfuscate(OrganisationId.ToString())); }
public EmployerSearchModel ToEmployerSearchResult(bool keyOnly = false, List <SicCodeSearchModel> listOfSicCodeSearchModels = null) { if (keyOnly) { return(new EmployerSearchModel { OrganisationId = OrganisationId.ToString() }); } // Get the last two names for the org. Most recent name first string[] names = OrganisationNames.Select(n => n.Name).Reverse().Take(2).ToArray(); var abbreviations = new SortedSet <string>(StringComparer.OrdinalIgnoreCase); names.ForEach(n => abbreviations.Add(n.ToAbbr())); names.ForEach(n => abbreviations.Add(n.ToAbbr("."))); var excludes = new[] { "Ltd", "Limited", "PLC", "Corporation", "Incorporated", "LLP", "The", "And", "&", "For", "Of", "To" }; names.ForEach(n => abbreviations.Add(n.ToAbbr(excludeWords: excludes))); names.ForEach(n => abbreviations.Add(n.ToAbbr(".", excludeWords: excludes))); abbreviations.RemoveWhere(a => string.IsNullOrWhiteSpace(a)); abbreviations.Remove(OrganisationName); // extract the prev org name (if exists) var prevOrganisationName = ""; if (names.Length > 1) { prevOrganisationName = names[names.Length - 1]; abbreviations.Remove(prevOrganisationName); } //Get the latest sic codes IEnumerable <OrganisationSicCode> sicCodes = GetSicCodes(); Return[] submittedReports = GetSubmittedReports().ToArray(); var result = new EmployerSearchModel { OrganisationId = OrganisationId.ToString(), OrganisationIdEncrypted = GetEncryptedId(), Name = OrganisationName, PreviousName = prevOrganisationName, PartialNameForSuffixSearches = OrganisationName, PartialNameForCompleteTokenSearches = OrganisationName, Abbreviations = abbreviations.ToArray(), Size = GetLatestReturn() == null ? 0 : (int)GetLatestReturn().OrganisationSize, SicSectionIds = sicCodes.Select(sic => sic.SicCode.SicSectionId.ToString()).Distinct().ToArray(), SicSectionNames = sicCodes.Select(sic => sic.SicCode.SicSection.Description).Distinct().ToArray(), SicCodeIds = sicCodes.Select(sicCode => sicCode.SicCodeId.ToString()).Distinct().ToArray(), Address = GetLatestAddress()?.GetAddressString(), LatestReportedDate = submittedReports.Select(x => x.Created).FirstOrDefault(), ReportedYears = submittedReports.Select(x => x.AccountingDate.Year.ToString()).ToArray(), ReportedLateYears = submittedReports.Where(x => x.IsLateSubmission).Select(x => x.AccountingDate.Year.ToString()).ToArray(), ReportedExplanationYears = submittedReports.Where(x => string.IsNullOrEmpty(x.CompanyLinkToGPGInfo) == false) .Select(x => x.AccountingDate.Year.ToString()) .ToArray() }; if (listOfSicCodeSearchModels != null) { result.SicCodeListOfSynonyms = GetListOfSynonyms(result.SicCodeIds, listOfSicCodeSearchModels); } return(result); }
public string GetEncryptedId() { return(Encryption.EncryptQuerystring(OrganisationId.ToString())); }
public override string GetContainerName() { return(OrganisationId.ToString()); }