public void Update(Guid idgrupodemedico, GrupodeMedicoDTO grupoNew)
        {
            var _grupoNew = mapper.Map <grupodemedico>(grupoNew);

            repository.Update(idgrupodemedico, _grupoNew);

            var IdMedicos = grupoNew.MedicoGrupo.Where(a => a.idgrupomedico != null)
                            .Select(a => (Guid)a.idgrupomedico)
                            .ToArray();

            var IdMedicosDell = medicoGrupoRepository.List()
                                .Where(a => a.idgrupo == idgrupodemedico && !IdMedicos.Contains(a.idgrupomedico))
                                .Select(a => a.idgrupomedico)
                                .ToArray();

            foreach (var IdDell in IdMedicosDell)
            {
                medicoGrupoRepository.Delete(IdDell);
            }

            foreach (var medicoGrupo in grupoNew.MedicoGrupo)
            {
                var _medicoGrupo = mapper.Map <medicogrupo>(medicoGrupo);

                if (medicoGrupo.idgrupomedico == null)
                {
                    _medicoGrupo.idgrupomedico = Guid.NewGuid();
                    _medicoGrupo.idgrupo       = _grupoNew.idgrupodemedicos;

                    medicoGrupoRepository.Insert(_medicoGrupo);
                }
                else
                {
                    medicoGrupoRepository.Update(_medicoGrupo.idgrupomedico, _medicoGrupo);
                }
            }
        }
Exemple #2
0
 public void Delete(Guid idmedicogrupo)
 {
     repository.Delete(idmedicogrupo);
 }