Example #1
0
        protected void CarregarAgenda()
        {
            // passa a data para o título, exemplo: "Domingo, 19 de fevereiro de 2016"
            txtTexto.Text = clData.SelectedDate.ToLongDateString();

            Agendamento_Model agenda = new Agendamento_Model();
            // carrega a agenda naquele dia
            Local_Model lmodel = new Local_Model();

            try
            {
                // pega do combobox se tiver algum local listado/selecionado
                if (ddLocal.Items.Count > 0)
                {
                    gvAgenda.DataSource = agenda.ListarDia(clData.SelectedDate, lmodel.Obter(Int32.Parse(ddLocal.SelectedValue)));
                }
                else // senão pega do cadastro do mediador logado
                {
                    gvAgenda.DataSource = agenda.ListarDia(clData.SelectedDate, lmodel.Obter(Master.GetLogado().id_local));
                }
                gvAgenda.DataBind();
                if (gvAgenda.Rows.Count > 0)
                {
                    gvAgenda.UseAccessibleHeader    = true;
                    gvAgenda.HeaderRow.TableSection = TableRowSection.TableHeader;
                }
            }
            catch { }
        }
        protected void btnAgendar_Click(object sender, EventArgs e)
        {
            if (ValidaAgendamento())
            {
                Agendamento_Model model = new Agendamento_Model();

                agendamento a = new agendamento();

                DateTime dDataInicial, dDataFinal;

                dDataInicial = DateTime.Parse(txtData.Value + " " + txtHoraInicial.Value + ":00");
                dDataFinal   = DateTime.Parse(txtData.Value + " " + txtHoraFinal.Value + ":00");

                a.descricao      = txtDescricaoAgendamento.Value;
                a.id_solicitacao = int.Parse(txtId.Value);
                a.data_inicial   = dDataInicial;
                a.data_final     = dDataFinal;
                a.id_mediador    = Master.GetLogado().id;

                Local_Model mLocal = new Local_Model();
                if (model.VerificarDisponibilidade(a, mLocal.Obter(Master.GetLogado().id_local)))
                {
                    if (model.Inserir(a))
                    {
                        Master.Sucesso("Horário agendado com sucesso.");
                        LimpaCamposAgendamento();
                        InsereDescSoli("Solicitação já agendada.");
                    }
                    else
                    {
                        Master.Alerta("Erro ao agendar horário. Erro: " + model.message);
                    }
                }
                else
                {
                    // se model.message estiver vazio, então ele retornou false pois o horário está vago,
                    // se nao, houve erro na consulta
                    if (model.message == "")
                    {
                        Master.Alerta("O horário escolhido já está agendado, selecione outro horário.");
                    }
                    else
                    {
                        Master.Alerta("Erro ao agendar horário. Erro: " + model.message);
                    }
                }
            }
        }
        protected void PreencherCentros()
        {
            try
            {
                // preenche o combo que será utilizado para transferir a solicitação
                Local_Model model = new Local_Model();

                // preenche com todos os núcleos da cidade do mediador
                ddLocal.DataSource     = model.Listar(model.Obter(Master.GetLogado().id_local).id_cidade);
                ddLocal.DataValueField = "id";
                ddLocal.DataTextField  = "descricao";
                ddLocal.DataBind();
                ddLocal.SelectedIndex = 0;
            }
            catch { }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Master.GetNivelPermissao() < Mediador_Model.PERM_ADMIN)
            {
                Response.Redirect("index.aspx");
            }

            if (!IsPostBack)
            {
                // tamanho dos campos de acordo com o banco de dados
                txtNome.MaxLength       = 100;
                txtDescricao.MaxLength  = 50;
                txtBairro.MaxLength     = 50;
                txtLogradouro.MaxLength = 100;
                txtNumero.MaxLength     = 10;
                txtCEP.MaxLength        = 9;
                txtOPM.MaxLength        = 9;
                //txtDataInicioAtividade.MaxLength = 10;
                txtTelefone.MaxLength = 20;

                // carrega cidades
                Cidade_Model c = new Cidade_Model();
                ddCidade.DataSource     = c.Listar();
                ddCidade.DataValueField = "id";
                ddCidade.DataTextField  = "nome";
                ddCidade.DataBind();
                ddCidade.SelectedIndex = 0;

                cbbAtivo.Checked = true;

                // declara ID e verifica se existe ID no txtID ou no endereço
                int id = 0;

                if (txtID.Text != "Novo")
                {
                    // recupera o id
                    try
                    {
                        id = int.Parse(txtID.Text);
                    }
                    catch (Exception)
                    {
                        Master.Alerta("Erro ao carregar o cadastro.");
                    }
                }

                if (Request.QueryString["ID"] != null)
                {
                    //recupera o id
                    id         = int.Parse(Request.QueryString["ID"]);
                    txtID.Text = id.ToString();
                }

                // se houver ID informado, então carrega o registro do ID informado
                if (id != 0)
                {
                    try
                    {
                        // declara o objeto model
                        Local_Model model = new Local_Model();
                        //recupera o produto do id informado
                        local local = model.Obter(id);

                        // verifica se tem permissão de editar o local acessado
                        if (!Master.VerificarAlcance(local.numero_opm))
                        {
                            Response.Redirect("index.aspx");
                        }

                        //preencher caixas de texto com valores de produto
                        txtID.Text                   = local.id.ToString();
                        txtOPM.Text                  = local.numero_opm;
                        txtNome.Text                 = local.nome;
                        txtDescricao.Value           = local.descricao;
                        txtNumero.Value              = local.numero;
                        txtLogradouro.Value          = local.logradouro;
                        txtBairro.Value              = local.bairro;
                        txtDataInicioAtividade.Value = DateTime.Parse(local.data_inicio_atividade.ToString()).ToString("yyyy-MM-dd");
                        txtCEP.Text                  = local.CEP;
                        txtTelefone.Text             = local.telefone;
                        cbbAtivo.Checked             = local.ativo;
                        ddCidade.SelectedValue       = local.id_cidade.ToString();
                    }
                    catch (Exception)
                    {
                        Master.Alerta("Registro não encontrado.");
                    }
                }
                else
                {
                    txtID.Text = "Novo";
                }
            }
        }
        protected bool FinalizarMediacao()
        {
            if (ValidarDepoimentos())
            {
                // função que irá salvar os dados da mediação no banco e gerar o termo de mediação
                Mediacao_Model model = new Mediacao_Model();

                mediacao m = new mediacao();

                // pega o mediador logado
                mediador med = Master.GetLogado();

                int id_agendamento = 0;
                if (Session["med_agendamento"] != null)
                {
                    id_agendamento = Int32.Parse(Session["med_agendamento"].ToString());
                }

                m.numero           = model.GerarProximoNumero(med.id_local);
                m.tema_conflito    = txtTemaConflito.Value;
                m.id_tipo_registro = Int32.Parse(ddTipoRegistro.SelectedValue);
                m.data_mediacao    = DateTime.Parse(txtData.Value + " " + txtHora.Value + ":00");
                m.id_mediador      = med.id;
                m.id_local         = med.id_local;
                m.objeto           = txtObjetoMediacao.Text;
                m.resolucao        = Char.Parse(ddResolucao.SelectedValue);
                // SE teve acordo entra as partes, status 1 CONCLUIDO
                // SENAO   status 0 PENDENTE
                if (m.resolucao == 'A')
                {
                    m.status = Mediacao_Model.STATUS_CONCLUIDO;
                }
                else
                {
                    m.status = Mediacao_Model.STATUS_PENDENTE;
                }
                // pega o id da cidade do local
                Local_Model l_model = new Local_Model();
                m.id_cidade = l_model.Obter(med.id_local).id_cidade;

                if (id_agendamento != 0)
                {
                    m.id_agendamento = id_agendamento;
                }

                mediacao_parte mp = null;

                // após inserir a mediação, é necessário inserir as partes

                List <mediacao_parte> mpLista = new List <mediacao_parte>();
                foreach (Control ctr in TextBoxPlaceHolder.Controls)
                {
                    if (ctr is TextBox)
                    {
                        // percorre a lista de pessoas verificando de qual pessoa é aquele depoimento
                        foreach (pessoa p in lista)
                        {
                            if (ctr.ID.Contains(p.cpf))
                            {
                                mp = new mediacao_parte();
                                // depoimento da pessoa
                                mp.descricao_caso = ((TextBox)ctr).Text;
                                // quando encontrar a pessoa do depoimento então passa o CPF para o Identificador
                                mp.pessoa_id = p.cpf;
                                mpLista.Add(mp);
                            }
                        }
                    }
                }

                if (model.InserirMediacaoTotal(m, mpLista))
                {
                    Session.Remove("med_agendamento");
                    Response.Redirect("detail_mediacao.aspx?ID=" + m.id.ToString());
                    return(true);
                }
                else
                {
                    Master.Alerta("Erro: " + model.message);
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
        protected void Finalizar()
        {
            try
            {
                Solicitacao_Model model            = new Solicitacao_Model();
                BackEnd.Controllers.solicitacao sl = new BackEnd.Controllers.solicitacao();

                sl.data = DateTime.Now;

                // passo 1
                sl.solicitante_nome     = txtNome.Value;
                sl.solicitante_endereco = txtEndereco.Value;
                sl.solicitante_telefone = txtTelefone.Value;
                sl.solicitante_email    = txtEmail.Value;

                // passo 2
                sl.descricao_caso  = txtDescCaso.Text;
                sl.detalhes_partes = txtDadosPartes.Text;

                // passo 3
                String sPeriodo = "";
                String sDia     = "";
                foreach (ListItem item in cbgPeriodo.Items)
                {
                    if (item.Selected)
                    {
                        sPeriodo = sPeriodo + item.Text + "; ";
                    }
                }
                foreach (ListItem item in cbgDia.Items)
                {
                    if (item.Selected)
                    {
                        sDia = sDia + item.Text + "; ";
                    }
                }

                sl.solicitante_periodo_atendimento = sPeriodo;
                sl.solicitante_dia_atendimento     = sDia;
                sl.id_local = int.Parse(ddLocal.SelectedValue);

                //PEGAR O ID SELECIONADO NO DDLOCAL E BUSCAR A CIDADE PARA ATRIBUIR NO CAMPO SL.CIDADE_ABERTURA
                local       l      = new local();
                Local_Model lmodel = new Local_Model();
                l = lmodel.Obter(int.Parse(ddLocal.SelectedValue));

                // ATRIBUI O ID DA CIDADE VINCULADA AO LOCAL
                sl.id_cidade_abertura = l.id_cidade;

                // insere a solicitação
                if (!model.Inserir(sl))
                {
                    Master.Alerta(model.message);
                }
                else
                {
                    Response.Redirect("solicitacao_concluido.aspx");
                }
            } catch (Exception E)
            {
                Master.Alerta(E.Message);
            }
        }