Beispiel #1
0
        private void btnApply_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                switch (buttonApply)
                {
                case EnumApplyAction.Create:
                    if (ValidarAtendimento())
                    {
                        //Adicionar o objeto atendimento
                        atendimentoServicoDTO.Atendimento.DataAtendimento       = dpDate.SelectedDate.Value;
                        atendimentoServicoDTO.Atendimento.ComenariosAtendimento = txtObsAttend.Text;
                        atendimentoServicoDTO.Atendimento.IdAtendimento         = Convert.ToInt32(atendimentoBLL.Create(atendimentoServicoDTO.Atendimento));

                        foreach (AtendimentoServicoDTO item in newCollection)
                        {
                            //Criando relações atendimento x serviço
                            item.Atendimento = atendimentoServicoDTO.Atendimento;
                            atendimentoServicoBLL.Create(item);

                            //Consumindo o produto do estoque
                            servicoProdutoCollectionDTO = new ServicoProdutoCollectionDTO();
                            servicoProdutoCollectionDTO = FillStuffsList(item);

                            foreach (ServicoProdutoDTO item2 in servicoProdutoCollectionDTO)
                            {
                                estoqueDTO            = new EstoqueDTO();
                                estoqueDTO.Produto    = item2.Produto;
                                estoqueDTO.Filial     = atendimentoServicoDTO.Atendimento.Funcionario.Filial;
                                estoqueDTO.Quantidade = item2.Produto.Consumo;
                                estoqueBLL.Delete(estoqueDTO);
                            }
                        }
                        //Informar ao banco que o cliente foi atendido.
                        agendamentoBLL.Atendido(agendamentoDTO, atendimentoServicoDTO.Atendimento);
                        //Redesenhar as agendas


                        Privileges();
                    }
                    break;

                case EnumApplyAction.CreateClient:
                    //Adiciona o cliente na tela
                    atendimentoServicoDTO.Atendimento.Cliente = new ClienteDTO();
                    atendimentoServicoDTO.Atendimento.Cliente = dataGridAddClient.SelectedItem as ClienteDTO;
                    lblClientName.Content  = atendimentoServicoDTO.Atendimento.Cliente.Pessoa.NomePessoa;
                    txtlblObsPersonal.Text = atendimentoServicoDTO.Atendimento.Cliente.Pessoa.Comentarios;

                    dataGridAddClient.Visibility = Visibility.Hidden;
                    buttonApply = EnumApplyAction.Create;
                    break;

                case EnumApplyAction.CreateService:
                    //Adiciona os serviços na lista genérica
                    atendimentoServicoDTO.Servico = new ServicoDTO();
                    atendimentoServicoDTO.Servico = dataGridAddService.SelectedItem as ServicoDTO;

                    newCollection.Add(atendimentoServicoDTO);

                    dataGridService.ItemsSource = null;
                    dataGridService.ItemsSource = newCollection;

                    dataGridAddService.Visibility = Visibility.Hidden;
                    buttonApply = EnumApplyAction.Create;
                    break;

                case EnumApplyAction.CreateEmployee:
                    //Adiciona o Funcionario na tela
                    atendimentoServicoDTO.Atendimento.Funcionario = new FuncionarioDTO();
                    atendimentoServicoDTO.Atendimento.Funcionario = dataGridAddEmployee.SelectedItem as FuncionarioDTO;
                    lblEmployeeName.Content        = atendimentoServicoDTO.Atendimento.Funcionario.Pessoa.NomePessoa;
                    dataGridAddEmployee.Visibility = Visibility.Hidden;
                    buttonApply = EnumApplyAction.Create;
                    break;

                case EnumApplyAction.Update:

                    if (ValidarAtendimento())
                    {
                        //Adicionar o objeto atendimento
                        if (atendimentoServicoDTO.Atendimento.Cliente.Pessoa.IdPessoa < 1)
                        {
                            atendimentoServicoDTO.Atendimento.Cliente = clienteBLL.ReadName(lblClientName.Content.ToString())[0];
                        }

                        atendimentoServicoDTO.Atendimento.Funcionario = new FuncionarioDTO();
                        atendimentoServicoDTO.Atendimento.Funcionario.Pessoa.IdPessoa = agendamentoDTO.Funcionario.Pessoa.IdPessoa;
                        atendimentoServicoDTO.Atendimento.DataAtendimento             = dpDate.SelectedDate.Value;
                        atendimentoServicoDTO.Atendimento.ComenariosAtendimento       = txtObsAttend.Text;
                        atendimentoBLL.Update(atendimentoServicoDTO.Atendimento);

                        //Remover Relações
                        foreach (AtendimentoServicoDTO item in oldCollection)
                        {
                            servicoProdutoCollectionDTO = new ServicoProdutoCollectionDTO();
                            servicoProdutoCollectionDTO = FillStuffsList(item);

                            foreach (ServicoProdutoDTO item2 in servicoProdutoCollectionDTO)
                            {
                                estoqueDTO         = new EstoqueDTO();
                                estoqueDTO.Produto = item2.Produto;
                                estoqueDTO.Filial  = new FilialDTO();
                                estoqueDTO.Filial.Pessoa.IdPessoa = agendamentoDTO.Funcionario.Pessoa.IdPessoa;     //Verificar como o sistema define a filial no Session
                                estoqueDTO.Quantidade             = item2.Produto.Consumo;
                                estoqueBLL.Create(estoqueDTO);
                            }
                        }
                        //Remove as relações atendimento_servico
                        atendimentoServicoBLL.Delete(atendimentoServicoDTO.Atendimento);

                        //Criar as novas relações
                        foreach (AtendimentoServicoDTO item in newCollection)
                        {
                            //Criando relações atendimento x serviço
                            item.Atendimento = atendimentoServicoDTO.Atendimento;
                            atendimentoServicoBLL.Create(item);

                            //Consumindo o produto do estoque
                            EstoqueDTO estoqueDTO;
                            EstoqueBLL estoqueBLL = new EstoqueBLL();
                            servicoProdutoCollectionDTO = new ServicoProdutoCollectionDTO();
                            servicoProdutoCollectionDTO = FillStuffsList(item);

                            foreach (ServicoProdutoDTO item2 in servicoProdutoCollectionDTO)
                            {
                                estoqueDTO         = new EstoqueDTO();
                                estoqueDTO.Produto = item2.Produto;
                                estoqueDTO.Filial  = new FilialDTO();
                                estoqueDTO.Filial.Pessoa.IdPessoa = agendamentoDTO.Funcionario.Pessoa.IdPessoa;
                                estoqueDTO.Quantidade             = item2.Produto.Consumo;
                                estoqueBLL.Delete(estoqueDTO);
                            }
                        }
                        Privileges();
                    }
                    break;

                case EnumApplyAction.UpdateClient:
                    atendimentoServicoDTO.Atendimento.Cliente = dataGridAddClient.SelectedItem as ClienteDTO;
                    lblClientName.Content  = atendimentoServicoDTO.Atendimento.Cliente.Pessoa.NomePessoa;
                    txtlblObsPersonal.Text = atendimentoServicoDTO.Atendimento.Cliente.Pessoa.Comentarios;

                    dataGridAddClient.Visibility = Visibility.Hidden;
                    buttonApply = EnumApplyAction.Update;
                    break;

                case EnumApplyAction.UpdateService:

                    atendimentoServicoDTO.Servico = new ServicoDTO();
                    atendimentoServicoDTO.Servico = dataGridAddService.SelectedItem as ServicoDTO;

                    newCollection.Add(atendimentoServicoDTO);

                    dataGridService.ItemsSource = null;
                    dataGridService.ItemsSource = newCollection;

                    dataGridAddService.Visibility = Visibility.Hidden;
                    buttonApply = EnumApplyAction.Update;
                    break;

                case EnumApplyAction.UpdateEmployee:
                    atendimentoServicoDTO.Atendimento.Funcionario = dataGridAddEmployee.SelectedItem as FuncionarioDTO;
                    lblEmployeeName.Content        = atendimentoServicoDTO.Atendimento.Funcionario.Pessoa.NomePessoa;
                    dataGridAddEmployee.Visibility = Visibility.Hidden;
                    buttonApply = EnumApplyAction.Update;
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        public IActionResult Atendimento(int idPaciente, int idColaborador, string saveBtn, int idSelecionado, string saveBtn2, DateTime dataInicial, DateTime dataFinal, int idTipoProcedimento, string status, int qtdpro)
        {
            if (saveBtn2 == "Deletar")
            {
                AtendimentoBLL bll = new AtendimentoBLL();
                Atendimento    a   = new Atendimento();
                AtendimentoProcedimentosBLL bllap = new AtendimentoProcedimentosBLL();
                AtendimentoProcedimentos    ap    = new AtendimentoProcedimentos();

                ap.Id = idSelecionado;
                ap    = bllap.GetById(ap);
                a     = bll.GetById(ap.Atendimento);

                if (!bll.Delete(a).Contains("!"))
                {
                    ViewData["result"] = bll.Delete(a);
                    return(View());
                }
                else
                {
                    ViewData["result"] = bllap.Delete(ap);
                    return(View());
                }
            }

            if (idSelecionado != 0)
            {
                AtendimentoBLL              bll          = new AtendimentoBLL();
                Atendimento                 a            = new Atendimento();
                ProcedimentoBLL             pbll         = new ProcedimentoBLL();
                Procedimento                procedimento = new Procedimento();
                AtendimentoProcedimentosBLL bllap        = new AtendimentoProcedimentosBLL();
                AtendimentoProcedimentos    ap           = new AtendimentoProcedimentos();

                a.Paciente    = new Paciente();
                a.Colaborador = new Colaborador();

                ap.Id = idSelecionado;

                ap = bllap.GetById(ap);
                a  = bll.GetById(ap.Atendimento);
                a.StatusAtendimento   = status;
                a.DtInicioAtendimento = dataInicial;
                a.DtFinalAtendimento  = dataFinal;
                a.Paciente.Id         = idPaciente;
                a.Colaborador.Id      = idColaborador;


                if (!bll.Update(a).Contains("!"))
                {
                    ViewData["result"] = bll.Update(a);
                    return(View());
                }
                else
                {
                    ap.QtdProcedimento = qtdpro;
                    ap.Atendimento     = a;
                    ap.Procedimento    = new Procedimento();
                    ap.Procedimento.Id = idTipoProcedimento;
                    ap.Procedimento    = pbll.GetById(ap.Procedimento);
                    ViewData["result"] = bllap.Update(ap);
                    return(View());
                }
            }
            if (saveBtn == "Salvar")
            {
                AtendimentoBLL  bll          = new AtendimentoBLL();
                Atendimento     a            = new Atendimento();
                ProcedimentoBLL pbll         = new ProcedimentoBLL();
                Procedimento    procedimento = new Procedimento();

                AtendimentoProcedimentosBLL bllap = new AtendimentoProcedimentosBLL();
                AtendimentoProcedimentos    ap    = new AtendimentoProcedimentos();

                a.Paciente    = new Paciente();
                a.Colaborador = new Colaborador();


                a.StatusAtendimento   = status;
                a.DtInicioAtendimento = dataInicial;
                a.DtFinalAtendimento  = dataFinal;
                a.Paciente.Id         = idPaciente;
                a.Colaborador.Id      = idColaborador;


                if (!bll.Insert(a).Contains("!"))
                {
                    ViewData["result"] = bll.Insert(a);
                    return(View());
                }
                else
                {
                    ap.QtdProcedimento = qtdpro;
                    ap.Atendimento     = bll.GetLastRegister();
                    ap.Procedimento    = new Procedimento();
                    ap.Procedimento.Id = idTipoProcedimento;
                    ap.Procedimento    = pbll.GetById(ap.Procedimento);
                    ViewData["result"] = bllap.Insert(ap);
                    View();
                }
                return(View());
            }
            return(View());
        }