public void Update(Guid Idmedico, MedicoUpdateDTO medicoNew) { var _medicoNew = mapper.Map <medico>(medicoNew); repository.Update(Idmedico, _medicoNew); var IdClinicas = medicoNew.MedicoClinica.Where(a => a.idmedcli != null) .Select(a => (Guid)a.idmedcli) .ToArray(); var IdClinicasDell = medicoClinicaRepository.List() .Where(a => a.idmedico == Idmedico && !IdClinicas.Contains(a.idmedcli)) .Select(a => a.idmedcli) .ToArray(); foreach (var IdDell in IdClinicasDell) { medicoClinicaRepository.Delete(IdDell); } foreach (var medicoClinica in medicoNew.MedicoClinica) { var _medicoClinica = mapper.Map <medicoclinica>(medicoClinica); if (medicoClinica.idmedcli == null) { _medicoClinica.idmedcli = Guid.NewGuid(); _medicoClinica.idmedico = _medicoNew.idmedico; medicoClinicaRepository.Insert(_medicoClinica); } else { medicoClinicaRepository.Update(_medicoClinica.idmedcli, _medicoClinica); } } }
public IQueryable <MedicoClinicaDTO> List(Guid idmedico) { var medicoclinicas = repository.List().Where(a => a.idmedico == idmedico); return(medicoclinicas.ProjectTo <MedicoClinicaDTO>(mapper.ConfigurationProvider)); }