예제 #1
0
        public static string RetiradaDeEstoque(Produto produto, string motivoRetirada)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    Log log = new Log();
                    log.Ator = ctx.Atores.Find(SingletonAtorLogado.Instancia.Ator.Id);
                    log.Date = DateTime.Now;

                    Produto produtoAntigo = ctx.Produtos.Include(p => p.Procedimentos).Where(a => a.Id == produto.Id).SingleOrDefault();

                    log.ComoEra   = ($"Id:{produtoAntigo.Id}, Nome:{produtoAntigo.Nome}, Quantidade:{produtoAntigo.Quantidade}");
                    log.ComoFicou = ($"Id:{produto.Id}, Nome:{produto.Nome}, Quantidade:{produto.Quantidade}, Motivo da retirada:{motivoRetirada}");

                    produtoAntigo.Quantidade = produto.Quantidade;

                    ctx.Logs.Add(log);
                    ctx.SaveChanges();
                    return("Alteração concluida");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return("Não foi possivel salvar alterações");
            }
        }
 public static void SalvarLogDeAtestadosGerados(Dictionary <string, string> dicionario)
 {
     try
     {
         using (ConsultorioContext ctx = new ConsultorioContext())
         {
             var log  = new Log();
             var ator = ctx.Atores.Find(SingletonAtorLogado.Instancia.Ator.Id);
             log.Ator      = ator;
             log.Date      = DateTime.Now;
             log.ComoEra   = ("Atestado");
             log.ComoFicou = ($"IdCliente={dicionario["Id"]}, " +
                              $"FinalidadeDoAtestado={dicionario["Finalidade"]}, " +
                              $"Comparecimento={dicionario["Inicio"]} até {dicionario["Fim"]}, " +
                              $"Dia={dicionario["Data"]}, " +
                              $"DiasAfastamento{dicionario["AfastamentoDias"]}, " +
                              $"CID={dicionario["Cid"]}");
             ctx.Logs.Add(log);
             ctx.SaveChanges();
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
        public static string CadastroDeNovoProcedimento(Procedimento procedimento)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    var a = new List <Produto>(procedimento.Produtos);

                    procedimento.Produtos.Clear();

                    foreach (Produto auxP in a)
                    {
                        procedimento.Produtos.Add(ctx.Produtos.First(aux => aux.Id == auxP.Id));
                    }

                    foreach (var item in procedimento.Produtos)
                    {
                        ctx.Entry(item).State = EntityState.Modified;
                    }

                    ctx.Procedimentos.Add(procedimento);
                    ctx.SaveChanges();
                    return("Salvo novo Procedimento!");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return("error" + e.Message);
            }
        }
        public static bool SalvarStatusDeConsulta(Consulta consultaEntrada)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    Ator atorLogado = ctx.Atores.Find(SingletonAtorLogado.Instancia.Ator.Id);

                    consultaEntrada.QuemRealizou     = atorLogado;
                    ctx.Entry(consultaEntrada).State = EntityState.Modified;

                    //Log
                    var log = new Log
                    {
                        Ator      = atorLogado,
                        ComoEra   = "Nova Entrada",
                        ComoFicou = $"Consulta Id:{consultaEntrada.Id}, Consulta status em:{consultaEntrada.Status}",
                        Date      = DateTime.Now
                    };

                    ctx.Logs.Add(log);
                    //Fim log

                    ctx.SaveChanges();
                    return(true);
                }
            }
            catch
            {
                return(false);
            }
        }
        public static string SalvarNovaConsulta(Consulta c)
        {
            string msg;

            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    Cliente      a = ctx.Clientes.Find(c.Cliente.Id);
                    Procedimento p = ctx.Procedimentos.Find(c.Procedimento.Id);

                    c.Cliente      = a;
                    c.Procedimento = p;

                    ctx.Consultas.Add(c);
                    ctx.SaveChanges();
                    msg = "Salva nova consulta";
                }
            }
            catch
            {
                msg = "Ocorreu um Erro e a consulta NÂO pode ser salva!";
            }
            return(msg);
        }
        public static string CadastroDeAtor(Ator atorEntrada)
        {
            string msg;

            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    if (atorEntrada.Id == 0)
                    {
                        ctx.Atores.Add(atorEntrada);
                        msg = "Colaborador Cadastrado!";
                    }
                    else
                    {
                        ctx.Entry(atorEntrada).State = EntityState.Modified;
                        msg = "Colaborador Modificado!";
                    }
                    ctx.SaveChanges();
                    return(msg);
                }
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            var patient = new Patient(txtName.Text, txtSurname.Text, txtDNI.Text, txtAddress.Text, txtMedicalSecurity.Text, txtPhoneNumber.Text);

            _context.Patients.Add(patient);
            //txtClean();
            //validationClean();
            _context.SaveChanges();
            Application.Current.MainWindow.Content = new MainPatientUserControl();
        }
예제 #8
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            var especiality = (Especialities)Enum.Parse(typeof(Especialities), cmbEspecialities.SelectedItem.ToString());
            var medic       = new Medic(txtName.Text, txtSurname.Text, txtDNI.Text, txtCUIL.Text, txtPhoneNumber.Text, especiality);

            _context.Medics.Add(medic);
            //txtClean();
            //validationClean();
            _context.SaveChanges();
            Application.Current.MainWindow.Content = new MainMedicsUserControl();
        }
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            var newTurn = new Turn()
            {
                Patient  = patient,
                Paid     = (bool)chkPaid.IsChecked,
                Schedule = DateTime.ParseExact(txtDate.Text + txtHour.Text, "dd/MM/yyyyHH:mm", CultureInfo.InvariantCulture),
                Medic    = (Medic)cmbMedics.SelectedItem
            };

            _context.Turns.Add(newTurn);
            _context.SaveChanges();
        }
예제 #10
0
        public static bool SalvarFinalizacaoDeConsulta(Consulta consultaEntrada, ICollection <ProdutoUtilizadoEmConsulta> listaDeProdutosUtilizados)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    var consultaParaSalvar = ctx.Consultas.Find(consultaEntrada.Id);

                    if (listaDeProdutosUtilizados != null)
                    {
                        foreach (var item in listaDeProdutosUtilizados)
                        {
                            item.Produto             = ctx.Produtos.Find(item.Produto.Id);
                            item.Consulta            = ctx.Consultas.Find(item.Consulta.Id);
                            item.Produto.Quantidade -= item.QtdProdutoUtilizado;

                            ctx.ProdutoUtilizadoEmConsultas.Add(item);
                        }
                    }
                    var orcamentoParaProcedimento = ctx.OrcamentosParaProcedimentos.SingleOrDefault(_ => _.Procedimento.Id == consultaEntrada.Procedimento.Id);
                    if (orcamentoParaProcedimento != null)
                    {
                        if (orcamentoParaProcedimento.QtdDeProcedimentos > 1)
                        {
                            orcamentoParaProcedimento.QtdDeProcedimentos -= 1;
                        }
                        else
                        {
                            ctx.OrcamentosParaProcedimentos.Remove(orcamentoParaProcedimento);
                        }
                    }

                    consultaParaSalvar.QuemRealizou = ctx.Atores.Find(SingletonAtorLogado.Instancia.Ator.Id);
                    consultaParaSalvar.Procedimento = ctx.Procedimentos.Find(consultaEntrada.Procedimento.Id);
                    consultaParaSalvar.Cliente      = ctx.Clientes.Find(consultaEntrada.Cliente.Id);
                    consultaParaSalvar.Status       = Model.Enums.StatusConsulta.Realizada;
                    consultaParaSalvar.Fim          = consultaEntrada.Fim;
                    consultaParaSalvar.Inicio       = consultaEntrada.Inicio;
                    consultaParaSalvar.Obs          = consultaEntrada.Obs;

                    ctx.SaveChanges();

                    return(true);
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.Message);
                return(false);
            }
        }
예제 #11
0
 public static string SalvarProduto(Produto p)
 {
     try
     {
         using (ConsultorioContext ctx = new ConsultorioContext())
         {
             ctx.Produtos.Add(p);
             ctx.SaveChanges();
         }
         return("Produto Salvo!");
     }
     catch (Exception e)
     {
         return(e.Message);
     }
 }
예제 #12
0
        /*public static List<Produto> ListarTodosProdutos()
         * {
         *  try
         *  {
         *      using (ConsultorioContext ctx = new ConsultorioContext())
         *      {
         *          var lista = ctx.Produtos.ToList();
         *          return lista;
         *      }
         *  }
         *  catch (Exception)
         *  {
         *      List<Produto> lista = null;
         *      return lista;
         *  }
         * }*/

        public static string AlterarProduto(Produto produtoChegada)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    ctx.Entry(produtoChegada).State = EntityState.Modified;
                    ctx.SaveChanges();

                    return("Produto alterado com sucesso!");
                }
            }catch (Exception e)
            {
                return(e.Message);
            }
        }
예제 #13
0
 public static void SalvarNovoOrcamento(Orcamento orcamento)
 {
     try
     {
         using (ConsultorioContext ctx = new ConsultorioContext())
         {
             var a = orcamento;
             orcamento.Cliente = ctx.Clientes.Find(orcamento.Cliente.Id);
             ctx.Orcamentos.Add(orcamento);
             ctx.SaveChanges();
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
예제 #14
0
 public static bool NovoTipoDeConta(string novoTipoString)
 {
     try
     {
         using (ConsultorioContext ctx = new ConsultorioContext())
         {
             ctx.TiposDeContasPagas.Add(new TipoDeContaPaga {
                 Tipo = novoTipoString
             });
             ctx.SaveChanges();
             return(true);
         }
     }
     catch
     {
         return(false);
     }
 }
예제 #15
0
 public static string SalvarContaPaga(ContaPaga contaPaga)
 {
     try
     {
         using (ConsultorioContext ctx = new ConsultorioContext())
         {
             contaPaga.QuemCadastrou = ctx.Atores.Find(contaPaga.QuemCadastrou.Id);
             contaPaga.Tipo          = ctx.TiposDeContasPagas.Find(contaPaga.Tipo.Id);
             ctx.ContasPagas.Add(contaPaga);
             ctx.SaveChanges();
             return("Conta Cadastrada com Sucesso!");
         }
     }
     catch (Exception e)
     {
         return(e.Message);
     }
 }
 public static string CadastrarNovoPagamento(Pagamento pagamento)
 {
     try
     {
         using (ConsultorioContext ctx = new ConsultorioContext())
         {
             pagamento.Recebedor = ctx.Atores.Find(pagamento.Recebedor.Id);
             pagamento.Cliente   = ctx.Clientes.Find(pagamento.Cliente.Id);
             ctx.Pagamentos.Add(pagamento);
             ctx.SaveChanges();
             return("Salvo novo Pagamento");
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
         return("error" + e.Message);
     }
 }
        public static string EditarConsulta(Consulta entrada)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    ctx.Entry(entrada).State = EntityState.Modified;
                    ctx.SaveChanges();

                    EditarProcedimentoDaConsulta(entrada);

                    return("Consulta Atualizada!");
                }
            }
            catch (Exception e)
            {
                return("Erro: " + e.Message);
            }
        }
예제 #18
0
        public static string SalvarCliente(Cliente cliente)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    string msg;
                    if (cliente.Anamnese != null)
                    {
                        if (cliente.Anamnese.Id != 0)
                        {
                            ctx.Entry(cliente.Anamnese).State = EntityState.Modified;
                        }
                        else
                        {
                            ctx.Anamneses.Add(cliente.Anamnese);
                        }
                    }
                    if (cliente.Id == 0)
                    {
                        ctx.Clientes.Add(cliente);
                        msg = "Novo Cliente Salvo!";
                    }
                    else
                    {
                        ctx.Entry(cliente).State = EntityState.Modified;
                        msg = "Salva Alterações no Cliente";
                    }

                    if (cliente.Odontograma.Id != 0)
                    {
                        ctx.Entry(cliente.Odontograma).State = EntityState.Modified;
                    }
                    ctx.SaveChanges();
                    return(msg);
                }
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
        //usado apenas para atualizar a o procedimento da consulta, feito assim pois colocando no mesmo metodo ou nao atualiza os atributos base ou nao atualiza o procedimento
        private static void EditarProcedimentoDaConsulta(Consulta entrada)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    var procedimento = ctx.Procedimentos.Find(entrada.Procedimento.Id);
                    var consulta     = ctx.Consultas.Find(entrada.Id);

                    consulta.Procedimento = procedimento;

                    ctx.Entry(consulta).State = EntityState.Modified;

                    ctx.SaveChanges();
                }
            }
            catch (Exception)
            {
            }
        }
 public static void GerarLogDeReceituario(string receita)
 {
     try
     {
         using (ConsultorioContext ctx = new ConsultorioContext())
         {
             var log  = new Log();
             var ator = ctx.Atores.Find(SingletonAtorLogado.Instancia.Ator.Id);
             log.Ator      = ator;
             log.Date      = DateTime.Now;
             log.ComoEra   = ("Receita");
             log.ComoFicou = ($"Receita={receita}");
             ctx.Logs.Add(log);
             ctx.SaveChanges();
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
        public static string AlterarProcedimento(Procedimento procedimento)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    Procedimento p = ctx.Procedimentos.Include(aux1 => aux1.Produtos).First(aux => aux.Id == procedimento.Id);


                    p.Nome             = procedimento.Nome;
                    p.Preco            = procedimento.Preco;
                    p.Descricao        = procedimento.Descricao;
                    p.TempoRecomendado = procedimento.TempoRecomendado;

                    p.Produtos.Clear();

                    foreach (Produto auxP in procedimento.Produtos)
                    {
                        p.Produtos.Add(ctx.Produtos.First(aux => aux.Id == auxP.Id));
                    }

                    foreach (var item in p.Produtos)
                    {
                        ctx.Entry(item).State = EntityState.Modified;
                    }

                    ctx.SaveChanges();
                    return("Salvo alterações no procedimento!");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return("error" + e.Message);
            }
        }
예제 #22
0
        public static string CadastrarCompra(ProdutoCompra produtoCompra)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    produtoCompra.Produto       = ctx.Produtos.Find(produtoCompra.Produto.Id);
                    produtoCompra.QuemRegistrou = ctx.Atores.Find(produtoCompra.QuemRegistrou.Id);

                    produtoCompra.Produto.Quantidade += produtoCompra.QuantidaDeComprada;

                    ctx.Entry(produtoCompra.Produto).State = EntityState.Modified;

                    ctx.ProdutosCompras.Add(produtoCompra);

                    ctx.SaveChanges();
                    return("Compra cadastrada com Sucesso!");
                }
            }
            catch
            {
                return("Erro em salvar a compra");
            }
        }
예제 #23
0
 private void btnModify_Click(object sender, RoutedEventArgs e)
 {
     _context.SaveChanges();
     Refresh();
 }
예제 #24
0
        public static string SalvarOrcamento(Orcamento orcamentoEntrada)
        {
            try
            {
                using (ConsultorioContext ctx = new ConsultorioContext())
                {
                    string msg = "";

                    //Para novos orçamentos
                    if (orcamentoEntrada.Id == 0)
                    {
                        ctx.Orcamentos.Add(orcamentoEntrada);

                        //orcamentoEntrada.Id = RecuperarIdOrcamento(orcamentoEntrada);

                        // Caso de procedimento esteja com itens
                        if (orcamentoEntrada.OrcamentosParaProcedimentos.Count != 0)
                        {
                            foreach (var item in orcamentoEntrada.OrcamentosParaProcedimentos)
                            {
                                item.Procedimento = ctx.Procedimentos.Find(item.Procedimento.Id);
                                item.Orcamento    = ctx.Orcamentos.Find(item.Orcamento.Id);
                                //Feito assim para conseguir alterar a chave etrangeira do ator sem maior complicaçoes
                                item.ColaboradorAlterou   = ctx.Atores.Find(item.ColaboradorAlterou.Id);
                                item.ColaboradorAlterouID = item.ColaboradorAlterou.Id;

                                ctx.OrcamentosParaProcedimentos.Add(item);
                            }
                        }
                        msg = "Novo orçamento salvo";
                    }
                    //fim Caso de procedimento esteja com itens

                    // fim Para novos orçamentos
                    else // Orcamento sendo atualizado
                    {
                        var a = ctx.Orcamentos.Find(orcamentoEntrada.Id);
                        a.Obs = orcamentoEntrada.Obs;

                        //Include para nao duplicar no banco
                        foreach (var item in orcamentoEntrada.OrcamentosParaProcedimentos)
                        {
                            item.Procedimento = ctx.Procedimentos.Find(item.Procedimento.Id);
                            item.Orcamento    = ctx.Orcamentos.Find(item.Orcamento.Id);
                            //Feito assim para conseguir alterar a chave etrangeira do ator sem maior complicaçoes
                            item.ColaboradorAlterou   = ctx.Atores.Find(item.ColaboradorAlterou.Id);
                            item.ColaboradorAlterouID = item.ColaboradorAlterou.Id;
                        }

                        foreach (var itemDoBanco in ctx.OrcamentosParaProcedimentos.Where(c => c.OrcamentoID == orcamentoEntrada.Id))
                        {
                            bool flagEncontrado = false;
                            foreach (var itemDeEntrada in orcamentoEntrada.OrcamentosParaProcedimentos)
                            {
                                if (itemDeEntrada.ProcedimentoID == itemDoBanco.ProcedimentoID)
                                {
                                    flagEncontrado = true;
                                    break;
                                }
                            }
                            if (flagEncontrado == false)
                            {
                                ctx.OrcamentosParaProcedimentos.Remove(itemDoBanco);
                            }
                        }

                        if (orcamentoEntrada.OrcamentosParaProcedimentos.Count != 0)
                        {
                            foreach (var item in orcamentoEntrada.OrcamentosParaProcedimentos)
                            {
                                var teste = ctx.Atores.Find(item.ColaboradorAlterouID);
                                item.ColaboradorAlterouID = teste.Id;
                                ctx.OrcamentosParaProcedimentos.AddOrUpdate(item);
                            }
                        }
                        msg = "Orçamento alterado!";
                    }

                    ctx.SaveChanges();
                    return(msg);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(e.Message);
            }
        }