protected override ObjectWithId Add(DataTransferObject dto) { LocalAddressDTO sdto = (LocalAddressDTO) dto; if ((sdto.Level == AddressLevel.Дом) || (sdto.Level == AddressLevel.MaxAddress)) { Match match = new Regex(@"^(?<from>\d+)-(?<to>\d+)$").Match(sdto.Name); if (match.get_Success()) { int num; int num2; if (!int.TryParse(match.Result("${from}"), ref num) || !int.TryParse(match.Result("${to}"), ref num2)) { throw new System.ApplicationException("Ошибка при преобразовании номера в целочисленный тип"); } sdto.Name = ((int) num).ToString(); sdto.NameTo = ((int) num2).ToString(); System.Collections.Generic.List<LocalAddress> list = this.ParentAddress.AddLocalAddressRange(sdto); Messages.ShowMessage("Для отображения всего списка обновите родительский адрес"); return list.get_Item(0); } } return this.ParentAddress.AddLocalAddress(sdto); }