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()); }