protected void btnSubmit_Click(object sender, EventArgs e) { try { if (String.IsNullOrWhiteSpace(tbName.Text)) { lblError.Text = "Название команды не введено"; return; } if (cbGroupToSet.SelectedIndex < 0 || cbGroupToSet.SelectedItem == null) { lblError.Text = "Группа команд не выбрана"; return; } int?grIdToSet; if (cbGroupToSet.SelectedIndex == 0) { grIdToSet = null; } else { grIdToSet = new int?(int.Parse(cbGroupToSet.SelectedItem.Value)); } ONLteam tNew; if (String.IsNullOrEmpty(lblIid.Text)) { tNew = ONLteam.CreateONLteam((int)SortingClass.GetNextIID("ONLTeams", "iid", cn, null)); } else { tNew = GetTeamByIid(int.Parse(lblIid.Text)); } tNew.name = tbName.Text; if (String.IsNullOrEmpty(lblIid.Text)) { dc.ONLteams.AddObject(tNew); } tNew.group_id = grIdToSet; dc.SaveChanges(); if (cbUsedNow.Visible) { if (cbUsedNow.Checked) { int rankingPos; if (!int.TryParse(tbRanking.Text, out rankingPos)) { rankingPos = int.MaxValue; } tNew.AddTeamToCompetition(compID, new int?(rankingPos)); try { var uList = tNew.ONLusers.ToArray(); for (int i = 0; i < uList.Length; i++) { uList[i].AddUserToCompetition(compID); } } catch { } } else { tNew.RemoveTeamFromCompetition(compID); } } panelEdit.Visible = false; panelSelect.Enabled = true; panelTeamGroups.Visible = true; LoadTeams(); lblError.Text = "Команда создана/обновлена"; } catch (Exception ex) { lblError.Text = "Ошибка добавления/обновления команды:\r\n" + ex.Message; } }