public EnfermeiroFormViewModel(Enfermeiro enfermeiro, ICollection <Hospital> hospitais)
 {
     this.Id              = enfermeiro.Id;
     this.NomeCompleto    = enfermeiro.NomeCompleto;
     this.Cpf             = enfermeiro.Cpf;
     this.Coren           = enfermeiro.Coren;
     this.DataDeNasciento = enfermeiro.DataDeNasciento;
     this.HospitalId      = enfermeiro.HospitalId;
     this.Hospitais       = hospitais;
 }
        public IActionResult Save([FromBody] Enfermeiro enfermeiro)
        {
            Enfermeiro SaveEnfermero = _enfermeirosRepository.Save(enfermeiro);

            if (ModelState.IsValid)
            {
                SaveEnfermero.Active = true;
                _enfermeirosRepository.Save(SaveEnfermero);
                return(new OkObjectResult(SaveEnfermero));
            }
            return(new BadRequestObjectResult(SaveEnfermero));
        }
Ejemplo n.º 3
0
        public async Task InsertAsync(Enfermeiro obj)
        {
            if (!obj.ValidarCpf())
            {
                throw new ExcecaoDeIntegridade("CPF inválido");
            }

            obj.Hospital = await _context.Hospitais.FirstOrDefaultAsync(hospital => hospital.Id == obj.HospitalId);

            _context.Add(obj);
            await _context.SaveChangesAsync();
        }
Ejemplo n.º 4
0
        private void frm_imp_cor_Load(object sender, EventArgs e)
        {
            DataTable  dt   = new DataTable();
            Enfermeiro enf  = new Enfermeiro();
            var        enfs = enf.Enfermeiros();

            dt.Load(enfs);
            cmb_enfermeiro.DataSource    = dt;
            cmb_enfermeiro.DisplayMember = "nome";
            cmb_enfermeiro.ValueMember   = "cod_enf";
            cmb_enfermeiro.Text          = "";
        }
Ejemplo n.º 5
0
 private void btn_buscar_Click(object sender, EventArgs e)
 {
     try
     {
         Enfermeiro enf = new Enfermeiro();
         if (txt_nome.Text != String.Empty)
         {
             var       dr = enf.ListaEnfermeiro(txt_nome.Text);
             DataTable dt = new DataTable();
             //dt.Load(enf.ListaEnfermeiro(txt_nome.Text));
             dgv_informacoes.DataSource = dr;
             int linha = dgv_informacoes.Rows.Count;
             foreach (var item in enf.ListaEnfermeiro(txt_nome.Text))
             {
                 dgv_informacoes.Rows.Add();
                 dgv_informacoes.Rows[linha].Cells[0].Value = enf.Nome;
                 dgv_informacoes.Rows[linha].Cells[1].Value = enf.RG;
                 dgv_informacoes.Rows[linha].Cells[2].Value = enf.CPF;
                 dgv_informacoes.Rows[linha].Cells[3].Value = enf.Coren;
                 //dgv_informacoes.Rows[linha].Cells[4].Value = enf.Intervalo;
                 dgv_informacoes.Rows[linha].Cells[5].Value = enf.Turno;
                 dgv_informacoes.Rows[linha].Cells[6].Value = enf.Telefone;
                 dgv_informacoes.Rows[linha].Cells[7].Value = enf.Level.Level;
             }
         }
         else if (txt_nome.Text == String.Empty)
         {
             var       dr = enf.TodosEnfermeiro();
             DataTable dt = new DataTable();
             //dt.Load(enf.ListaEnfermeiro(txt_nome.Text));
             dgv_informacoes.DataSource = dr;
             foreach (var item in enf.TodosEnfermeiro())
             {
                 int linha = dgv_informacoes.Rows.Count;
                 dgv_informacoes.Rows.Add();
                 dgv_informacoes.Rows[linha].Cells[0].Value = enf.Nome;
                 dgv_informacoes.Rows[linha].Cells[1].Value = enf.RG;
                 dgv_informacoes.Rows[linha].Cells[2].Value = enf.CPF;
                 dgv_informacoes.Rows[linha].Cells[3].Value = enf.Coren;
                 dgv_informacoes.Rows[linha].Cells[4].Value = enf.Intervalo;
                 dgv_informacoes.Rows[linha].Cells[5].Value = enf.Turno;
                 dgv_informacoes.Rows[linha].Cells[6].Value = enf.Telefone;
                 dgv_informacoes.Rows[linha].Cells[7].Value = enf.Level.Level;
             }
         }
     }
     catch (Exception)
     {
         var ex = MessageBox.Show("Sinto Muito, mas esta aplicação ainda não consegue a fazer isso!",
                                  "PosiChange", MessageBoxButtons.OK, MessageBoxIcon.Error);;
     }
 }
Ejemplo n.º 6
0
        public async Task <IActionResult> Create([Bind("ProductId,Name,Description,Price,Category")] Enfermeiro enfermeiro)
        {
            if (!ModelState.IsValid)
            {
                return(View(enfermeiro));
            }

            _context.Add(enfermeiro);
            await _context.SaveChangesAsync();

            // todo: inform user of the operation success
            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 7
0
 private void btn_cadastrar_Click(object sender, EventArgs e)
 {
     try
     {
         Enfermeiro enfermeiro = new Enfermeiro();
         enfermeiro.Nome      = txt_nome.Text;
         enfermeiro.RG        = txt_rg.Text;
         enfermeiro.CPF       = txt_cpf.Text;
         enfermeiro.Coren     = Convert.ToInt32(txt_coren.Text);
         enfermeiro.Turno     = cmb_turno.Text;
         enfermeiro.Intervalo = Convert.ToDateTime(txt_intervalo.Text);
         enfermeiro.Telefone  = txt_telefone.Text;
         enfermeiro.Level     = new Nivel();
         enfermeiro.Level.Cod = Convert.ToInt32(cmb_nivel.SelectedValue);
         enfermeiro.Inserir();
         if (enfermeiro.Cod > 0)
         {
             var inseriu = MessageBox.Show("Enfermeiro inserido com sucesso!", "PosiChange | Cadastro de Enfermeiro", MessageBoxButtons.OK, MessageBoxIcon.Information);
             if (inseriu == DialogResult.OK)
             {
                 txt_nome.Clear();
                 txt_rg.Clear();
                 txt_cpf.Clear();
                 txt_telefone.Clear();
                 cmb_nivel.Text = "";
                 txt_coren.Clear();
                 txt_intervalo.Clear();
                 cmb_turno.Text = "";
             }
         }
     }
     catch (Exception ex)
     {
         //throw ex;
         var erro = MessageBox.Show("Desculpe RG e/ou CPF e/ou Coren já está em uso, por favor verifique",
                                    "PosiChange", MessageBoxButtons.OK, MessageBoxIcon.Error);
         if (erro == DialogResult.OK)
         {
             txt_coren.Clear();
             txt_rg.Clear();
             txt_cpf.Clear();
             txt_coren.Focus();
             txt_rg.Focus();
             txt_cpf.Focus();
         }
     }
 }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            //classes da biblioteca externa
            //Biblioteca Lib

            //Calc c = new Calc();    //não se pode instanciar uma classe abstracta
            CalcPlus  x = new CalcPlus();
            OutraCalc y = new OutraCalc();

            y.Soma(2, 3);
            x.Show("Uso de Bibliotecas:\n");

            Console.WriteLine("Soma: " + x.Soma(2, 3).ToString());

            //biblioteca HerancaLib

            Person     p = new Person();
            Medico     m = new Medico();
            Enfermeiro e = new Enfermeiro(12, "Manuel", "Geriatria");

            Console.WriteLine("Nome: " + e.nome);


            //-----

            User        u   = new User();
            Pessoa      pes = new Pessoa();
            OutraPessoa c   = new OutraPessoa();
            bool        aux = u.Login(pes);

            aux = u.Login(c);

            //----

            ZZZ aux1 = new ZZZ();

            OutraII  xx  = new OutraII();
            OutraIII xxx = new OutraIII();


            aux1.F(xx, 23, 45);
            aux1.F(xxx, 23, 45);

            Console.ReadKey();
        }
Ejemplo n.º 9
0
 public bool delete(Enfermeiro modelo)
 {
     if (this.search("id", modelo.id).Count() > 0)
     {
         ConnectionFactory cf    = new ConnectionFactory();
         MySqlConnection   conex = cf.database();
         MySqlCommand      sql   = new MySqlCommand();
         sql.Connection  = conex;
         sql.CommandText = "update enfermeiro set dataDemissao = @demissao where id = @id";
         sql.Parameters.AddWithValue("@demissao", modelo.dataDemissao);
         sql.Parameters.AddWithValue("@id", modelo.id);
         return(sql.ExecuteNonQuery() == 1);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 10
0
        private void btn_ver_enf_Click(object sender, EventArgs e)
        {
            var enf = new Enfermeiro();

            if (txt_coren.Text != String.Empty)
            {
                //enf.VerificarCoren(Convert.ToInt32(txt_coren_cad_enf.Text));
                if (Convert.ToInt32(txt_coren.Text) == enf.Coren)
                {
                    MessageBox.Show("Este Coren ja está em uso!", "PosiChange | Cadastro de Enfermeiro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    txt_coren.Clear();
                    txt_coren.Focus();
                }

                if (Convert.ToInt32(txt_coren.Text) != enf.Coren)
                {
                    btn_cadastrar.Enabled = true;
                }
            }
        }
Ejemplo n.º 11
0
        public ActionResult UpdateEnfermeiro(Enfermeiro enfermeiro)
        {
            Enfermeiro d = db.Enfermeiro.Where(s => s.Id == enfermeiro.Id).First();

            d.Nome          = enfermeiro.Nome;
            d.Telefone      = enfermeiro.Telefone;
            d.Email         = enfermeiro.Email;
            d.Senha         = enfermeiro.Senha;
            d.Especialidade = enfermeiro.Especialidade;
            d.Cre           = enfermeiro.Cre;
            d.Cep           = enfermeiro.Cep;
            d.Rua           = enfermeiro.Rua;
            d.Bairro        = enfermeiro.Bairro;
            d.Cidade        = enfermeiro.Cidade;
            d.Estado        = enfermeiro.Estado;
            d.Complemento   = enfermeiro.Complemento;
            d.Numero        = Convert.ToInt32(enfermeiro.Numero);
            d.IdPerfil      = 3;
            d.Rg            = enfermeiro.Rg;
            d.Cpf           = enfermeiro.Cpf;
            db.SaveChanges();
            return(RedirectToAction("Index", "Enfermeiro"));
        }
Ejemplo n.º 12
0
        public Enfermeiro login(string login, string senha)
        {
            ConnectionFactory cf    = new ConnectionFactory();
            MySqlConnection   conex = cf.database();
            MySqlCommand      sql   = new MySqlCommand("select * from enfermeiro where login = @login and senha = @senha", conex);

            sql.Parameters.AddWithValue("@login", login);
            sql.Parameters.AddWithValue("@senha", senha);
            DataTable        data = new DataTable();
            MySqlDataAdapter dta  = new MySqlDataAdapter(sql);

            dta.Fill(data);
            List <Enfermeiro> enfermeiros = new List <Enfermeiro>();

            if (data.Rows.Count > 0)
            {
                string   id           = data.Rows[0]["id"].ToString();
                string   nome         = data.Rows[0]["nome"].ToString();
                DateTime nascimento   = Convert.ToDateTime(data.Rows[0]["nascimento"]);
                string   sexo         = data.Rows[0]["sexo"].ToString();
                bool     stt          = Convert.ToBoolean(data.Rows[0]["stt"].ToString());
                DateTime dataAdmissao = Convert.ToDateTime(data.Rows[0]["dataAdmissao"]);
                DateTime dataDemissao = Convert.ToDateTime(null);
                try
                {
                    dataDemissao = Convert.ToDateTime(data.Rows[0]["dataDemissao"]);
                }
                catch (Exception) {}

                Enfermeiro enf = new Enfermeiro(id, nome, nascimento, sexo, login, senha, stt, dataAdmissao, dataDemissao);
                return(enf);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 13
0
 public bool update(Enfermeiro modelo)
 {
     if (this.search("id", modelo.id).Count() <= 0)
     {
         return(false);
     }
     else
     {
         ConnectionFactory cf    = new ConnectionFactory();
         MySqlConnection   conex = cf.database();
         MySqlCommand      sql   = new MySqlCommand();
         sql.Connection  = conex;
         sql.CommandText = "update enfermeiro set nome = @nome, nascimento = @nascimento, sexo = @sexo, login = @login, senha = @senha, dataAdmissao = @dataAdmissao, dataDemissao = @dataDemissao where id = @id";
         sql.Parameters.AddWithValue("@id", modelo.id);
         sql.Parameters.AddWithValue("@nome", modelo.nome);
         sql.Parameters.AddWithValue("@nascimento", modelo.nascimento);
         sql.Parameters.AddWithValue("@sexo", modelo.sexo);
         sql.Parameters.AddWithValue("@login", modelo.login);
         sql.Parameters.AddWithValue("@senha", modelo.senha);
         sql.Parameters.AddWithValue("@dataAdmissao", modelo.dataAdmissao);
         sql.Parameters.AddWithValue("@dataDemissao", modelo.dataDemissao);
         return(sql.ExecuteNonQuery() == 1);
     }
 }
Ejemplo n.º 14
0
        public async Task UpdateAsync(Enfermeiro obj)
        {
            if (!obj.ValidarCpf())
            {
                throw new ExcecaoDeIntegridade("CPF inválido");
            }

            if (!(await _context.Enfermeiros.AnyAsync(x => x.Id == obj.Id)))
            {
                throw new ExcecaoNaoEncontrado("Id não encontrado");
            }

            obj.Hospital = await _context.Hospitais.FirstOrDefaultAsync(hospital => hospital.Id == obj.HospitalId);

            try
            {
                _context.Update(obj);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw new ExcecaoDeSimultaneidadeNoDb("Erro ao atualizar o banco de dados");
            }
        }
        private static void SeedHorarioEnfermeiros(EscalonamentoHorarios_Grupo3DbContext db)
        {
            if (db.HorariosEnfermeiro.Any())
            {
                return;
            }

            Turno turno1 = db.Turnos.SingleOrDefault(t => t.Nome == "MANHÃ");
            Turno turno2 = db.Turnos.SingleOrDefault(t => t.Nome == "TARDE");
            Turno turno3 = db.Turnos.SingleOrDefault(t => t.Nome == "NOITE");

            DateTime dataInicioT1        = new DateTime(2018, 11, 21, 8, 0, 0);
            DateTime dataInicioT1CFilhos = new DateTime(2018, 11, 21, 9, 0, 0);
            DateTime dataInicioT2        = new DateTime(2018, 11, 21, 16, 0, 0);
            DateTime dataInicioT3        = new DateTime(2018, 11, 22, 0, 0, 0);

            Enfermeiro enfermeiro1  = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Marisa Reduto");
            Enfermeiro enfermeiro2  = db.Enfermeiros.SingleOrDefault(e => e.Nome == "João Silva");    //Com Filho
            Enfermeiro enfermeiro3  = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Armando Manso"); //Com Filho
            Enfermeiro enfermeiro4  = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Andreia Cunha");
            Enfermeiro enfermeiro5  = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Joana Albuquerque");
            Enfermeiro enfermeiro6  = db.Enfermeiros.SingleOrDefault(e => e.Nome == "João Tomás");
            Enfermeiro enfermeiro7  = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Carlos Manso");
            Enfermeiro enfermeiro8  = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Bruno Martins");
            Enfermeiro enfermeiro9  = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Ariana Gonçalves");
            Enfermeiro enfermeiro10 = db.Enfermeiros.SingleOrDefault(e => e.Nome == "André Silva");
            Enfermeiro enfermeiro11 = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Carlos Almeida"); //Com Filho
            Enfermeiro enfermeiro12 = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Fábio Castro");   //Com Filho

            //2 feira
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro12.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro8.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro2.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro6.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro3.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro11.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro10.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro9.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT3, Duracao = 8, DataFimTurno = dataInicioT3.AddHours(8), TurnoId = turno3.TurnoId, EnfermeiroId = enfermeiro7.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT3, Duracao = 8, DataFimTurno = dataInicioT3.AddHours(8), TurnoId = turno3.TurnoId, EnfermeiroId = enfermeiro4.EnfermeiroId
            });

            //3 feira
            dataInicioT1        = new DateTime(2018, 11, 22, 8, 0, 0);
            dataInicioT1CFilhos = new DateTime(2018, 11, 22, 9, 0, 0);
            dataInicioT2        = new DateTime(2018, 11, 22, 16, 0, 0);
            dataInicioT3        = new DateTime(2018, 11, 23, 0, 0, 0);

            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro3.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro5.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro12.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro9.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro11.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro2.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro1.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro6.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT3, Duracao = 8, DataFimTurno = dataInicioT3.AddHours(8), TurnoId = turno3.TurnoId, EnfermeiroId = enfermeiro10.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT3, Duracao = 8, DataFimTurno = dataInicioT3.AddHours(8), TurnoId = turno3.TurnoId, EnfermeiroId = enfermeiro4.EnfermeiroId
            });

            //4 feira
            dataInicioT1        = new DateTime(2018, 11, 23, 8, 0, 0);
            dataInicioT1CFilhos = new DateTime(2018, 11, 23, 9, 0, 0);
            dataInicioT2        = new DateTime(2018, 11, 23, 16, 0, 0);
            dataInicioT3        = new DateTime(2018, 11, 24, 0, 0, 0);

            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro2.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro1.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro12.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro5.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro3.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro11.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro10.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro4.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT3, Duracao = 8, DataFimTurno = dataInicioT3.AddHours(8), TurnoId = turno3.TurnoId, EnfermeiroId = enfermeiro8.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT3, Duracao = 8, DataFimTurno = dataInicioT3.AddHours(8), TurnoId = turno3.TurnoId, EnfermeiroId = enfermeiro9.EnfermeiroId
            });

            //5 feira
            dataInicioT1        = new DateTime(2018, 11, 24, 8, 0, 0);
            dataInicioT1CFilhos = new DateTime(2018, 11, 24, 9, 0, 0);
            dataInicioT2        = new DateTime(2018, 11, 24, 16, 0, 0);
            dataInicioT3        = new DateTime(2018, 11, 25, 0, 0, 0);

            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro12.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro7.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro2.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro6.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro3.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro5.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro4.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro8.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT3, Duracao = 8, DataFimTurno = dataInicioT3.AddHours(8), TurnoId = turno3.TurnoId, EnfermeiroId = enfermeiro1.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT3, Duracao = 8, DataFimTurno = dataInicioT3.AddHours(8), TurnoId = turno3.TurnoId, EnfermeiroId = enfermeiro9.EnfermeiroId
            });

            //6 feira
            dataInicioT1        = new DateTime(2018, 11, 25, 8, 0, 0);
            dataInicioT1CFilhos = new DateTime(2018, 11, 25, 9, 0, 0);
            dataInicioT2        = new DateTime(2018, 11, 25, 16, 0, 0);

            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro11.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro6.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro12.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1, Duracao = 8, DataFimTurno = dataInicioT1.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro5.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT1CFilhos, Duracao = 8, DataFimTurno = dataInicioT1CFilhos.AddHours(8), TurnoId = turno1.TurnoId, EnfermeiroId = enfermeiro10.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro4.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro1.EnfermeiroId
            });
            db.HorariosEnfermeiro.Add(new HorarioEnfermeiro {
                DataInicioTurno = dataInicioT2, Duracao = 8, DataFimTurno = dataInicioT2.AddHours(8), TurnoId = turno2.TurnoId, EnfermeiroId = enfermeiro7.EnfermeiroId
            });

            db.SaveChanges();
        }
        private static void SeedEnfermeiroEspecialidade(EscalonamentoHorarios_Grupo3DbContext db)
        {
            if (db.EnfermeirosEspecialidades.Any())
            {
                return;
            }

            EspecialidadeEnfermeiro especialidade = GetEspecialidadeCreatingIfNeed(db, "Enfermagem Comunitária");
            Enfermeiro enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Marisa Reduto");

            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            especialidade = GetEspecialidadeCreatingIfNeed(db, "Enfermagem Médico-Cirúrgica");
            enfermeiro    = db.Enfermeiros.SingleOrDefault(e => e.Nome == "João Silva");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            especialidade = GetEspecialidadeCreatingIfNeed(db, "Enfermagem de Reabilitação");
            enfermeiro    = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Armando Manso");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Andreia Cunha");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Joana Albuquerque");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "João Tomás");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Carlos Manso");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Bruno Martins");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Ariana Gonçalves");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "André Silva");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Carlos Almeida");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            enfermeiro = db.Enfermeiros.SingleOrDefault(e => e.Nome == "Fábio Castro");
            db.EnfermeirosEspecialidades.Add(new EnfermeiroEspecialidade {
                EspecialidadeEnfermeiroId = especialidade.EspecialidadeEnfermeiroId, EnfermeiroId = enfermeiro.EnfermeiroId, Data_Registo = new DateTime(2018, 11, 16)
            });

            db.SaveChanges();
        }
        public IActionResult Update([FromBody] Enfermeiro enfermeiro)
        {
            Enfermeiro UpdateEnfermeiro = _enfermeirosRepository.Update(enfermeiro);

            return(new OkObjectResult(UpdateEnfermeiro));
        }
 public bool add(Enfermeiro enf)
 {
     return(daoEnfermeiro.add(enf));
 }
Ejemplo n.º 19
0
        public async Task <IActionResult> Create([Bind("EnfermeiroId,NumeroMecanografico,Nome,EspecialidadeEnfermeiroId,Contacto,Email,Data_Nascimento,CC,Filhos,Data_Nascimento_Filho")] Enfermeiro enfermeiro)
        {
            enfermeiro.NumeroMecanografico = "E" + enfermeiro.NumeroMecanografico;

            /********************************/
            DateTime dateNow         = DateTime.Now;
            DateTime enfermeiroBDate = enfermeiro.Data_Nascimento;
            var      numero          = enfermeiro.NumeroMecanografico;
            var      email           = enfermeiro.Email;
            var      nCC             = enfermeiro.CC;
            var      contacto        = enfermeiro.Contacto;

            bool sonBDateIsInvalid = false;

            //Validar Numero Mecanografico
            if (numMecIsInvalid(numero) == true)
            {
                //Mensagem de erro se o número mecanográfico for inválido
                ModelState.AddModelError("NumeroMecanografico", "Este número já existe");
            }

            //Validar Email
            if (emailIsInvalid(email) == true)
            {
                //Mensagem de erro se o email for inválido
                ModelState.AddModelError("Email", "Este email já existe");
            }

            //Validar Data de Nascimento do Enfermeiro
            if (enfDateIsInvalid(enfermeiroBDate) == true)
            {
                //Mensagem de erro se a data de nascimento do enfermeiro for inválida
                ModelState.AddModelError("Data_Nascimento", "Data de nascimento inválida");
            }

            //Validar Data de Nascimento do Filho + Novo
            if (enfermeiro.Data_Nascimento_Filho != null)
            {
                DateTime sonDate = (DateTime)enfermeiro.Data_Nascimento_Filho;

                if (sonDateIsInvalid(sonDate) == true)
                {
                    sonBDateIsInvalid = true;
                    //Mensagem de erro se a data de nascimento do filho for inválida
                    ModelState.AddModelError("Data_Nascimento_Filho", "Data de nascimento inválida");
                }
            }

            //Validar CC através do check digit
            if (!ValidateNumeroDocumentoCC(nCC))
            {
                //Mensagem de erro se o nº de CC é inválido
                ModelState.AddModelError("CC", "Nº de CC inválido");
            }

            //Validar CC
            if (ccIsInvalid(nCC))
            {
                //Mensagem de erro se o nº de CC já existe
                ModelState.AddModelError("CC", "Nº de CC já existente");
            }

            //Validar Contacto
            if (contactoIsInvalid(contacto))
            {
                //Mensagem de erro se o nº de CC já existe
                ModelState.AddModelError("Contacto", "Contacto já existente");
            }

            /********************************/

            if (ModelState.IsValid)
            {
                if (!contactoIsInvalid(contacto) || !sonBDateIsInvalid || !numMecIsInvalid(numero) || !emailIsInvalid(email) || !enfDateIsInvalid(enfermeiroBDate) || ValidateNumeroDocumentoCC(nCC))
                {
                    _context.Add(enfermeiro);

                    //Inserir Registo na Tabela EnfermeiroEspecialidades
                    InsertDataIntoEnfermeiroEspecialidades(_context, enfermeiro.EspecialidadeEnfermeiroId, enfermeiro.EnfermeiroId);

                    await _context.SaveChangesAsync();

                    TempData["notice"] = "Registo inserido com sucesso!";
                    return(RedirectToAction(nameof(Index)));
                }
            }
            ViewData["EspecialidadeEnfermeiroId"] = new SelectList(_context.Set <EspecialidadeEnfermeiro>(), "EspecialidadeEnfermeiroId", "Especialidade", enfermeiro.EspecialidadeEnfermeiroId);
            return(View(enfermeiro));
        }
Ejemplo n.º 20
0
 public void Update(Enfermeiro enfermeiro)
 {
     _context.Entry <Enfermeiro>(enfermeiro).State = EntityState.Modified;
     _context.SaveChanges();
 }
 public bool update(Enfermeiro enf)
 {
     return(daoEnfermeiro.update(enf));
 }
Ejemplo n.º 22
0
        /**
         * @param db
         * @param dataInicioTurno
         * @param duracao
         * @param dataFimTurno
         * @param turnoId
         * @param enfermeiroId
         * @insert in the HorarioEnfermeiro table a record with the above parameters
         */
        private void InsertDataIntoHorarioEnfermeiro(HospitalDbContext db, DateTime dataInicioTurno, int duracao, DateTime dataFimTurno, Turno turnoId, Enfermeiro enfermeiroId)
        {
            db.HorariosEnfermeiro.Add(
                new HorarioEnfermeiro {
                DataInicioTurno = dataInicioTurno, Duracao = duracao, DataFimTurno = dataInicioTurno.AddHours(duracao), TurnoId = turnoId.TurnoId, EnfermeiroId = enfermeiroId.EnfermeiroId
            }
                );

            db.SaveChanges();
        }
Ejemplo n.º 23
0
        public ResultViewModel Post([FromBody] EditorEnfermeiroViewModel model)
        {
            model.Validate();
            if (model.Invalid)
            {
                return(new ResultViewModel
                {
                    Success = false,
                    Message = "Erro ao cadastrar o enfermeiro !",
                    Data = model.Notifications
                });
            }


            var hospital = _hospitalRepository.Get(model.HospitalId);

            if (hospital == null)
            {
                return(new ResultViewModel
                {
                    Success = false,
                    Message = "Hospital não encontrado !",
                    Data = null
                });
            }

            var enfermeiro = new Enfermeiro()
            {
                Id             = model.Id,
                Nome           = model.Nome,
                CPF            = model.CPF,
                Coren          = model.Coren,
                DataNascimento = model.DataNascimento.GetValueOrDefault(),
                CreatedAt      = DateTime.Now,
                UpdatedAt      = DateTime.Now
            };

            _enfermeiroRepository.Save(enfermeiro);

            var hospEnfermeiro = new HospitalEnfermeiro()
            {
                HospitalId   = model.HospitalId,
                EnfermeiroId = enfermeiro.Id,
                CreatedAt    = DateTime.Now,
                UpdatedAt    = DateTime.Now
            };

            _hospEnfrepository.Save(hospEnfermeiro);

            var enfViewModel = new EditorEnfermeiroViewModel()
            {
                Id             = enfermeiro.Id,
                Nome           = enfermeiro.Nome,
                CPF            = enfermeiro.CPF,
                Coren          = enfermeiro.Coren,
                DataNascimento = enfermeiro.DataNascimento,
                Hospital       = hospital.Nome,
                HospitalId     = hospital.Id
            };

            return(new ResultViewModel
            {
                Success = true,
                Message = "Enfermeiro cadastrado com sucesso !",
                Data = enfViewModel
            });
        }
Ejemplo n.º 24
0
 public void Delete(Enfermeiro enfermeiro)
 {
     _context.Enfermeiro.Remove(enfermeiro);
     _context.SaveChanges();
 }
Ejemplo n.º 25
0
 /// <summary>
 /// Adds a nurse to the system list after validating it
 /// </summary>
 /// <param name="enf"></param>
 /// <returns></returns>
 public int AddNurse(Enfermeiro enf)
 {
     ValidateNurse(enf);
     Enfermeiros.AddNurse(enf);
     return(enf.nurseCode);
 }
Ejemplo n.º 26
0
        /*************************Funções Auxiliares************************/

        /**
         * @param db
         * @param numT1
         * @param numT2
         * @param numT3
         * @param ano
         * @param mes
         * @param dia
         * @generate a random shcedule for the nurses
         */
        private void GenerateHorarioEnfermeiro(HospitalDbContext db, int numT1, int numT2, int numT3, int ano, int mes, int dia)
        {
            //Variáveis
            int numPessoasT1 = numT1;
            int numPessoasT2 = numT2;
            int numPessoasT3 = numT3;

            int segunda = 2;
            int sexta   = 6;

            int[] enfermeiros          = EnfermeirosIds();
            int[] enfermeirosSemFilhos = EnfermeirosSemFilhosIds();
            int[] enfermeirosComFilhos = EnfermeirosComFilhosIds();

            int enfT1 = 0;
            int enfT2 = 0;
            int enfT3 = 0;

            int[] idEnfNoite = null;

            //Lista enfermeiros
            List <int> listaEnfermeiros = new List <int>(enfermeiros);

            //Lista de enfermeiros sem filhos
            List <int> listaEnfermeirosSemFilhos;

            //Lista de enfermeiros com filhos
            List <int> listaEnfermeirosComFilhos;

            Random rnd = new Random();

            DateTime data;

            for (int i = segunda; i <= sexta; i++) //para cada dia da semana
            {
                listaEnfermeirosSemFilhos = new List <int>(enfermeirosSemFilhos);
                listaEnfermeirosComFilhos = new List <int>(enfermeirosComFilhos);

                //remover da lista enfermeiros que fizeram noite
                if (idEnfNoite != null)
                {
                    for (int n = 0; n < numPessoasT3; n++)
                    {
                        if (listaEnfermeirosSemFilhos.Contains(idEnfNoite[n]))
                        {
                            listaEnfermeirosSemFilhos.Remove(idEnfNoite[n]);
                        }
                    }
                }

                for (int j = 0; j < numPessoasT1; j++) //para cada nPessoas do Turno 1
                {
                    string turno;
                    int    duracao = 8;

                    if (j % 2 == 0 && listaEnfermeirosComFilhos.Count() != 0) //escolhe enfermeiros com filhos
                    {
                        //escolhe aleatoriamente um enfermeiro para o turno
                        enfT1 = listaEnfermeirosComFilhos[rnd.Next(0, listaEnfermeirosComFilhos.Count())];
                        data  = new DateTime(ano, mes, dia, 9, 0, 0);
                        turno = "MANHÃ-2";
                    }
                    else //escolhe enfermeiros sem filhos
                    {
                        //escolhe aleatoriamente um enfermeiro para o turno
                        enfT1 = listaEnfermeirosSemFilhos[rnd.Next(0, listaEnfermeirosSemFilhos.Count())];
                        data  = new DateTime(ano, mes, dia, 8, 0, 0);
                        turno = "MANHÃ-1";
                    }

                    Turno      turnoId        = _context.Turnos.SingleOrDefault(t => t.Nome.Equals(turno));
                    Enfermeiro enfermeiroIdT1 = _context.Enfermeiros.SingleOrDefault(e => e.EnfermeiroId == enfT1);

                    //Adicionar função para inserir na BD
                    InsertDataIntoHorarioEnfermeiro(db, data.AddDays(i - 2), duracao, data.AddDays(i - 2).AddHours(duracao), turnoId, enfermeiroIdT1);

                    //remove da lista o enfermeiro do turno
                    listaEnfermeirosComFilhos.Remove(enfT1);
                    //remove da lista o enfermeiro do turno
                    listaEnfermeirosSemFilhos.Remove(enfT1);
                }

                //adicionar enfermeiros que fizeram noite novamente à lista
                if (idEnfNoite != null)
                {
                    for (int n = 0; n < numPessoasT3; n++)
                    {
                        if (!listaEnfermeirosSemFilhos.Contains(idEnfNoite[n]))
                        {
                            listaEnfermeirosSemFilhos.Add(idEnfNoite[n]);
                        }
                    }
                }

                if (i != sexta)
                {
                    for (int k = 0; k < numPessoasT2; k++) // para cada nPesosas do Turno 2
                    {
                        string turno = "TARDE";

                        Turno turnoId = _context.Turnos.SingleOrDefault(t => t.Nome.Equals(turno));

                        int duracao = 8;

                        if (k % 2 == 0 && listaEnfermeirosComFilhos.Count() != 0)
                        {
                            enfT2 = listaEnfermeirosComFilhos[rnd.Next(0, listaEnfermeirosComFilhos.Count())];
                        }
                        else
                        {
                            enfT2 = listaEnfermeirosSemFilhos[rnd.Next(0, listaEnfermeirosSemFilhos.Count())];
                        }

                        data = new DateTime(ano, mes, dia, 16, 0, 0);

                        Enfermeiro enfermeiroIdT2 = _context.Enfermeiros.SingleOrDefault(e => e.EnfermeiroId == enfT2);

                        //Adicionar função para inserir na BD
                        InsertDataIntoHorarioEnfermeiro(db, data.AddDays(i - 2), duracao, data.AddDays(i - 2).AddHours(duracao), turnoId, enfermeiroIdT2);

                        //remove da lista o enfermeiro do turno
                        listaEnfermeirosComFilhos.Remove(enfT2);
                        //remove da lista o enfermeiro do turno
                        listaEnfermeirosSemFilhos.Remove(enfT2);
                    }
                }

                //Reinicialização do array idEnfNoite
                idEnfNoite = new int[numPessoasT3];

                if (i != sexta)
                {
                    for (int l = 0; l < numPessoasT3; l++) // para cada nPessoas do Turno 3
                    {
                        string turno = "NOITE";

                        Turno turnoId = _context.Turnos.SingleOrDefault(t => t.Nome.Equals(turno));

                        int duracao = 8;

                        enfT3         = listaEnfermeirosSemFilhos[rnd.Next(0, listaEnfermeirosSemFilhos.Count())];
                        idEnfNoite[l] = enfT3;

                        data = new DateTime(ano, mes, dia + 1, 0, 0, 0);

                        Enfermeiro enfermeiroIdT3 = _context.Enfermeiros.SingleOrDefault(e => e.EnfermeiroId == enfT3);

                        //Adicionar função para inserir na BD
                        InsertDataIntoHorarioEnfermeiro(db, data.AddDays(i - 2), duracao, data.AddDays(i - 2).AddHours(duracao), turnoId, enfermeiroIdT3);

                        //remove da lista o enfermeiro do turno
                        listaEnfermeirosSemFilhos.Remove(enfT3);
                    }
                }
            }
        }
Ejemplo n.º 27
0
        public async Task <IActionResult> Edit(int id, [Bind("EnfermeiroId,NumeroMecanografico,Nome,EspecialidadeEnfermeiroId,Contacto,Email,Data_Nascimento,CC,Filhos,Data_Nascimento_Filho")] Enfermeiro enfermeiro)
        {
            /*************************************/

            DateTime enfermeiroBDate = enfermeiro.Data_Nascimento;
            var      nCC             = enfermeiro.CC;
            var      numero          = enfermeiro.NumeroMecanografico;
            var      idEnf           = enfermeiro.EnfermeiroId;
            var      email           = enfermeiro.Email;
            var      idEsp           = enfermeiro.EspecialidadeEnfermeiroId;
            var      contacto        = enfermeiro.Contacto;

            bool sonBDateIsInvalid = false;

            if (id != enfermeiro.EnfermeiroId)
            {
                return(NotFound());
            }

            //Validar Numero Mecanografico
            if (numMecIsInvalidEdit(numero, idEnf) == true)
            {
                //Mensagem de erro se o número mecanográfico já existir
                ModelState.AddModelError("NumeroMecanografico", "Este número já existe");
            }

            //Validar Data de Nascimento do Enfermeiro
            if (enfDateIsInvalid(enfermeiroBDate) == true)
            {
                //Mensagem de erro se a data de nascimento do enfermeiro for inválida
                ModelState.AddModelError("Data_Nascimento", "Data de nascimento inválida");
            }

            //Validar Data de Nascimento do Filho + Novo
            if (enfermeiro.Data_Nascimento_Filho != null)
            {
                DateTime sonDate = (DateTime)enfermeiro.Data_Nascimento_Filho;

                if (sonDateIsInvalid(sonDate) == true)
                {
                    sonBDateIsInvalid = true;
                    //Mensagem de erro se a data de nascimento do filho for inválida
                    ModelState.AddModelError("Data_Nascimento_Filho", "Data de nascimento inválida");
                }
            }

            //Validar CC através do check digit
            if (!ValidateNumeroDocumentoCC(nCC))
            {
                //Mensagem de erro se o nº de CC é inválido
                ModelState.AddModelError("CC", "Nº de CC inválido");
            }

            //Validar Email
            if (emailIsInvalidEdit(email, idEnf))
            {
                //Mensagem de erro se o email já existir
                ModelState.AddModelError("Email", "Email já existente");
            }

            //Validar CC
            if (ccIsInvalidEdit(nCC, idEnf))
            {
                //Mensagem de erro se o CC já existir
                ModelState.AddModelError("CC", "Nº de CC já existente");
            }

            //Validar Contacto
            if (contactoIsInvalidEdit(contacto, idEnf))
            {
                //Mensagem de erro se o CC já existir
                ModelState.AddModelError("Contacto", "Contacto já existente");
            }

            /*******************************************/

            if (ModelState.IsValid)
            {
                try
                {
                    if (!contactoIsInvalidEdit(contacto, idEnf) || !ccIsInvalidEdit(nCC, idEnf) || !emailIsInvalidEdit(email, idEnf) || !numMecIsInvalidEdit(numero, idEnf) || !enfDateIsInvalid(enfermeiroBDate) || !sonBDateIsInvalid || ValidateNumeroDocumentoCC(nCC))
                    {
                        enfermeiro.NumeroMecanografico = "E" + enfermeiro.NumeroMecanografico;
                        _context.Update(enfermeiro);

                        //Verifica na tabela EnfermeiroEspecialidade se já existe o registo
                        if (insertNewDataIntoEnfEspecialidade(idEnf, idEsp))
                        {
                            InsertDataIntoEnfermeiroEspecialidades(_context, enfermeiro.EspecialidadeEnfermeiroId, enfermeiro.EnfermeiroId);
                        }

                        await _context.SaveChangesAsync();

                        TempData["successEdit"] = "Registo alterado com sucesso";
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EnfermeiroExists(enfermeiro.EnfermeiroId))
                    {
                        return(RedirectToAction(nameof(Error)));
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["EspecialidadeEnfermeiroId"] = new SelectList(_context.Set <EspecialidadeEnfermeiro>(), "EspecialidadeEnfermeiroId", "Especialidade", enfermeiro.EspecialidadeEnfermeiroId);
            return(View(enfermeiro));
        }
Ejemplo n.º 28
0
        /**
         * @param db
         * @param dataPedido
         * @param enfermeiroRequerente
         * @param horarioATrocarId
         * @param horarioParaTrocaId
         * @param estadoPedidoTrocaId
         * @insert in the PedidoTrocaTurnoEnfermeiro table a record with the above parameters
         */
        private void InsertDataIntoPedidoTrocaTurnoEnfermeiro(HospitalDbContext db, DateTime dataPedido, Enfermeiro enfermeiroRequerenteId, HorarioATrocarEnfermeiro horarioATrocarId, HorarioParaTrocaEnfermeiro horarioParaTrocaId, EstadoPedidoTroca estadoPedidoTrocaId)
        {
            db.PedidoTrocaTurnosEnfermeiros.Add(

                new PedidoTrocaTurnosEnfermeiro {
                DataPedido = dataPedido, EnfermeiroId = enfermeiroRequerenteId.EnfermeiroId, HorarioATrocarEnfermeiroId = horarioATrocarId.HorarioATrocarEnfermeiroId, HorarioParaTrocaEnfermeiroId = horarioParaTrocaId.HorarioParaTrocaEnfermeiroId, EstadoPedidoTrocaId = estadoPedidoTrocaId.EstadoPedidoTrocaId
            }

                );

            db.SaveChanges();
        }
Ejemplo n.º 29
0
 public void Save(Enfermeiro enfermeiro)
 {
     _context.Enfermeiro.Add(enfermeiro);
     _context.SaveChanges();
 }