private void SalvarPesquisa(DirectEventArgs e) { try { PesquisaOpiniaoVO pesquisa = new PesquisaOpiniaoVO(); if (base.AcaoTela == Common.AcaoTela.Edicao) { pesquisa = PesquisaSelecionada; List<RespostaVO> respostas = JSON.Deserialize<List<RespostaVO>>(e.ExtraParams["respostas"]); List<UsuarioVO> usuarios = JSON.Deserialize<List<UsuarioVO>>(e.ExtraParams["usuarios"]); foreach (RespostaVO r in respostas) { if (!pesquisa.Respostas.Any(x => x.Id == r.Id)) { r.Id = 0; pesquisa.Respostas.Add(r); } else { r.Usuarios = r.Usuarios.Where(x => usuarios.Any(x1 => x1.Id == x.Id)).ToList(); } } pesquisa.Respostas = pesquisa.Respostas.Where(x => respostas.Any(x1 => x1.Id == x.Id)).ToList(); } else pesquisa.Respostas = JSON.Deserialize<List<RespostaVO>>(e.ExtraParams["respostas"]); pesquisa.Usuarios = JSON.Deserialize<List<UsuarioVO>>(e.ExtraParams["usuarios"]); pesquisa.DataInicial = txtDataInicial.SelectedDate.Add(txtHoraInicial.SelectedTime); pesquisa.DataFinal = txtDataFinal.SelectedDate.Add(txtHoraFinal.SelectedTime); pesquisa.Respostas.ToList().ForEach(x => x.Pesquisa = pesquisa); if (pesquisa.DataInicial > pesquisa.DataFinal) { base.MostrarMensagem("Erro", "Data e horário inicial não pode ser superior ao final.", String.Empty); return; } pesquisa.MostrarResultado = chkMostrarResultado.Checked; pesquisa.Pergunta = txtPergunta.Text; pesquisa.Removido = false; new PesquisaOpiniaoBO(pesquisa).Salvar(); base.MostrarMensagem("Sucesso", "Pesquisa de opinião gravada com sucesso.", String.Empty); LoadPagina(); winPesquisa.Hide(); } catch (Exception ex) { base.MostrarMensagem("Erro", "Erro ao salvar pesquisa de opinião.", String.Empty); } }
private void PreencherCampos(DirectEventArgs e) { PesquisaSelecionada = new PesquisaOpiniaoBO().SelectById(JSON.Deserialize<List<PesquisaOpiniaoVO>>(e.ExtraParams["valores"])[0].Id); txtPergunta.Text = PesquisaSelecionada.Pergunta; txtDataInicial.Text = PesquisaSelecionada.DataInicial.ToString("dd/MM/yyyy"); txtHoraInicial.Text = PesquisaSelecionada.DataInicial.ToString("HH:mm"); txtDataFinal.Text = PesquisaSelecionada.DataFinal.ToString("dd/MM/yyyy"); txtHoraFinal.Text = PesquisaSelecionada.DataFinal.ToString("HH:mm"); chkMostrarResultado.Checked = PesquisaSelecionada.MostrarResultado; strRespostas.DataSource = PesquisaSelecionada.Respostas; strRespostas.DataBind(); strUsuarios.DataSource = PesquisaSelecionada.Usuarios; strUsuarios.DataBind(); }