Example #1
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
            });
        }
Example #2
0
        public ResultViewModel Put([FromServices] EnfermeiroRepository _enfermeiro,
                                   [FromServices] HospitalRepository _hospital,
                                   [FromServices] HospitalEnfermeiroRepository _hospitalEnfermeiro,
                                   [FromBody] EditorEnfermeiroViewModel model)
        {
            // model.Validate();
            // if (model.Invalid) {
            //   return new ResultViewModel
            //   {
            //     Success = false,
            //     Message = "Não foi possível cadastrar o produto",
            //     Data = model.Notifications
            //   };
            // }
            var hospital = _hospital.Get(model.HospitalId);

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

            var enfermeiro = _enfermeiro.Get(model.Id);

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

            enfermeiro.Nome           = model.Nome != null ? model.Nome : enfermeiro.Nome;
            enfermeiro.CPF            = model.CPF != null ? model.CPF : enfermeiro.CPF;
            enfermeiro.Coren          = model.Coren != null ? model.Coren : enfermeiro.Coren;
            enfermeiro.DataNascimento = model.DataNascimento.GetValueOrDefault() != null?model.DataNascimento.GetValueOrDefault() : enfermeiro.DataNascimento;

            enfermeiro.UpdatedAt = DateTime.Now;

            _enfermeiro.Update(enfermeiro);

            var hospitalEnfermeiro = _hospitalEnfermeiro.GetHospitalEnfermeiro(enfermeiro.Id);

            hospitalEnfermeiro.HospitalId = hospital.Id;
            hospitalEnfermeiro.UpdatedAt  = DateTime.Now;

            _hospitalEnfermeiro.Update(hospitalEnfermeiro);


            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 alterado com sucesso !",
                Data = enfViewModel
            });
        }