public void SetRoominFoParameters(RoomInfo ri) { // TODO: выполнить проверку на целочисленные значения ri.NextOffsetX = int.Parse(NextOffsetX.Trim()); ri.CurrentOffsetX = int.Parse(CurrentOffsetX.Trim()); int HorModules = 0; string FlatToParce = string.Empty; string SelectedFlat = string.Empty; // Если в поле числа модулей по горизонтали присутствует разделитель ";" то выполняется выбор числа модулей в соответствии // с выбранным значением поля "ДО квартиры" или "ПОСЛЕ КВАРТИРЫ" // Например, в базе поле "ДО квартиры" или "ПОСЛЕ КВАРТИРЫ" имеет значение 4|A|C;2|A|H , поле "Число модулей по горизонтали" имеет значение 3;2|_U // если выбрано значение "ДО квартиры" - 4|A|C, то ему соответствует Число модулей по горизонтали - 3 // если выбрано значение "ДО квартиры" - 2|A|H, то ему соответствует Число модулей по горизонтали - 2, суффикс файла изображения - _U // Если разделитель ";" отсутствует, это означает, что есть только один вариант положения квартиры, число модулей по горизонтали выбирается из соответствующего поля if (HorisontalModules.Contains("|")) { int.TryParse(HorisontalModules.Split('|')[0].Trim(), out HorModules); string ImageFileSuffix = HorisontalModules.Split('|')[1].Trim(); if (ImageFileSuffix != null) { ri.ImageNameSuffix = ImageFileSuffix; } } else { ri.HorisontalModules = int.Parse(HorisontalModules.Trim()); ri.ImageNameSuffix = string.Empty; } }
private int getHorisontalModules(string SelectedFlatUntil, string SelectedFlatAfter) { int HorModules = 0; string FlatToParce = string.Empty; string SelectedFlat = string.Empty; // Если в поле числа модулей по горизонтали присутствует разделитель ";" то выполняется выбор числа модулей в соответствии // с выбранным значением поля "ДО квартиры" или "ПОСЛЕ КВАРТИРЫ" // Например, в базе поле "ДО квартиры" или "ПОСЛЕ КВАРТИРЫ" имеет значение 4|A|C;2|A|H , поле "Число модулей по горизонтали" имеет значение 3;2|_U // если выбрано значение "ДО квартиры" - 4|A|C, то ему соответствует Число модулей по горизонтали - 3 // если выбрано значение "ДО квартиры" - 2|A|H, то ему соответствует Число модулей по горизонтали - 2, суффикс файла изображения - _U // Если разделитель ";" отсутствует, это означает, что есть только один вариант положения квартиры, число модулей по горизонтали выбирается из соответствующего поля if (HorisontalModules.Contains(";")) { // Задание значения, в соответствии с которым будет выполнено приведение if (FlatUntil.Contains(";")) { FlatToParce = FlatUntil; SelectedFlat = SelectedFlatUntil; } if (FlatAfter.Contains(";")) { FlatToParce = FlatAfter; SelectedFlat = SelectedFlatAfter; } if (FlatToParce != string.Empty) { int i = 0; string[] values = FlatToParce.Split(';'); i = Array.IndexOf(values, SelectedFlat); string selectedHorisontalModules = values[i]; if (selectedHorisontalModules.Contains("|")) { int.TryParse(selectedHorisontalModules.Split('|')[0].Trim(), out HorModules); } else { int.TryParse(selectedHorisontalModules.Trim(), out HorModules); } } } else { int.TryParse(HorisontalModules.Trim(), out HorModules); } return(HorModules); }