private List <ZipCode> GetZipCodes() { IZipCodeParser zipCodeParser = new ZipCodeParser(); List <string> zipCodeStrings = zipCodeParser.ParseStringIntoZipCodes(TerritoryZipCodesTextBox.Text).Distinct().ToList(); return(_zipCodeRepository.GetAllExistingZipCodes(zipCodeStrings).Distinct().ToList()); }
protected void SubmitButtonClick(object sender, EventArgs e) { IZipCodeParser zipCodeParser = new ZipCodeParser(); IEnumerable <string> selectedZipCodes = zipCodeParser.ParseStringIntoZipCodes(TerritoryZipCodesTextBox.Text).Distinct(); IEnumerable <string> availableZipCodes = zipCodeParser.ParseStringIntoZipCodes(AvailableZipCodesTextBox.Text).Distinct(); IEnumerable <string> invalidZipCodes = selectedZipCodes.Where(zc => !availableZipCodes.Contains(zc)); if (invalidZipCodes.IsEmpty()) { IEnumerable <ZipCode> zipCodesToSave = _zipCodeRepository.GetAllExistingZipCodes(selectedZipCodes.ToList()); bool shouldStayOnPageAfterPersistence = ((Button)sender).CommandArgument == "RefreshPage"; SaveTerritory(GetTerritory(), zipCodesToSave, shouldStayOnPageAfterPersistence); } else { string invalidZipCodesString = String.Join(", ", invalidZipCodes.ToArray()); string errorMessage = "The following zip code(s) need to be removed from the selection as they are out of this territory or are already in use:<br />" + invalidZipCodesString; MessageControl1.ShowErrorMessage(errorMessage); } }