private void BotaoConfirmar_Click(object sender, RoutedEventArgs e) { try { //Verifica o modo atual da tela switch (modo) { case ModoDeTela.Novo: using (var context = new Proxy.SistemaHorariosServiceClient()) { var item = new Curso() { Nome = TextBoxNome.Text }; item.CodigoPeriodo = context.GetPeriodos().Where(p => p.Nome == (string)ComboPeriodo.SelectedItem).First().Codigo; context.AddCurso(item); } break; case ModoDeTela.Editar: using (var context = new Proxy.SistemaHorariosServiceClient()) { var item = new Curso() { Codigo = Convert.ToInt32(TextBoxCodigo.Text), Nome = TextBoxNome.Text }; item.CodigoPeriodo = context.GetPeriodos().Where(p => p.Nome == (string)ComboPeriodo.SelectedItem).First().Codigo; context.UpdateCurso(item); } break; default: MessageBox.Show("Modo de tela inválido!"); break; } MessageBox.Show("Registro atualizado/cadastrado com sucesso! =)"); AtualizarLista(); //Seta o modo da tela para o modo standard mudarModo(ModoDeTela.Cancelar); } catch (Exception exc) { MessageBox.Show("Erro ao criar/atualizar registro"); MessageBox.Show(exc.Message); } }
private async void AtualizarLista() { //Atualiza a lista da tela Lista.ItemsSource = null; await Task.Delay(1); using (var context = new Proxy.SistemaHorariosServiceClient()) { Lista.ItemsSource = context.GetPeriodos(); } }