private string MakeSearchQuery() { //Returns a url string for querying the TNS website NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty); queryString["format"] = "tsv"; queryString["name"] = ""; queryString["name_like"] = "0"; queryString["isTNS_AT"] = "yes"; queryString["public"] = "all"; if (SearchClassified) { queryString["unclassified_at"] = "0"; } else { queryString["unclassified)at"] = "1"; } if (SearchSN) { queryString["classified_sne"] = "1"; } else { queryString["classified_sne"] = "0"; } queryString["ra"] = ""; queryString["decl"] = ""; queryString["radius"] = ""; queryString["coords_unit"] = "deg"; queryString[@"groupid[]"] = "null"; queryString["classifier_groupid[]"] = "null"; queryString["objtype[]"] = "null"; queryString["AT_objtype[]"] = "null"; queryString["discovered_period_value"] = SearchBackDays.ToString(); queryString["discovered_period_units"] = "days"; queryString["discovery_mag_min"] = ""; queryString["discovery_mag_max"] = ""; queryString["internal_name"] = ""; queryString["redshift_min"] = ""; queryString["redshift_max"] = ""; queryString["spectra_count"] = ""; queryString["discoverer"] = ""; queryString["classifier"] = ""; queryString["discovery_instrument[]"] = ""; queryString["classification_instrument[]"] = ""; if (IsNGCHosted) { queryString["hostname"] = "NGC"; } else { queryString["hostname"] = ""; } queryString["associated_groups[]"] = "null"; queryString["ext_catid"] = ""; queryString["num_page"] = MaxRecordCount.ToString("0"); queryString["display[redshift]"] = "0"; queryString["display[hostname]"] = "0"; queryString["display[host_redshift]"] = "0"; queryString["display[source_group_name]"] = "0"; queryString["display[classifying_source_group_name]"] = "0"; queryString["display[discovering_instrument_name]"] = "0"; queryString["display[classifing_instrument_name]"] = "0"; queryString["display[programs_name]"] = "0"; queryString["display[internal_name]"] = "0"; queryString["display[isTNS_AT]"] = "0"; queryString["display[public]"] = "0"; queryString["display[end_pop_period]"] = "0"; queryString["display[pectra_count]"] = "0"; queryString["display[discoverymag]"] = "0"; queryString["display[Bdiscmagfilter]"] = "0"; queryString["display[discoverydate]"] = "0"; queryString["display[discoverer ]"] = "0"; queryString["display[sources]"] = "0"; queryString["display[bibcode]"] = "0"; queryString["display[ext_catalogs]"] = "0"; return(queryString.ToString()); // Returns "key1=value1&key2=value2", all URL-encoded }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { if (value is IFormFile file) { var extension = Path.GetExtension(file?.FileName); if (!string.IsNullOrEmpty(AllowedExtensions) && !Extensions.Contains(extension.ToLower())) { return(new ValidationResult(GetResourceMessage("Must_Be_Csv_Validation_Message"))); } var fileName = Path.GetFileNameWithoutExtension(file?.FileName); if (MaxFileNameLength > 0 && fileName.Length > MaxFileNameLength) { return(new ValidationResult(string.Format(GetResourceMessage("File_Name_Length_Validation_Message"), MaxFileNameLength))); } if (MaxFileSize > 0 && file.Length > MaxFileSize) { return(new ValidationResult(string.Format(GetResourceMessage("File_Size_Too_Large_Validation_Message"), MaxFileSizeInMb))); } if (MaxRecordCount > 0) { var recordCount = 0; using var reader = new StreamReader(file.OpenReadStream()); while (reader.ReadLine() != null) { if (recordCount++ > MaxRecordCount) { return(new ValidationResult(string.Format(GetResourceMessage("File_Max_Record_Count_Validation_Message"), MaxRecordCount.ToString("N0")))); } } } } return(ValidationResult.Success); }