/// <summary> /// Agrega Obras Sociales a un Paciente /// </summary> private void AgregarObrasSociales() { // Instanciamos el cuadro de dialogo frmObrasSociales frmObrasSociales ofrmObrasSociales = new frmObrasSociales(); //Business.Entities.ObrasSociales frmObrasSociales.nuevasObrasSociales = new Business.Entities.ObrasSociales(); // Mostramos el formulario modal ofrmObrasSociales.ShowDialog(); //Si se han agregado obras sociales: if (frmObrasSociales.nuevasObrasSociales != null && frmObrasSociales.nuevasObrasSociales.Count > 0) { if (oPaciente.Afiliados != null) { //recorre la colección de obras sociales del paciente en edición (incluso aquellas que aun no se han almacenado en la base de datos). foreach (Business.Entities.Afiliado AfiliadoExistente in oPaciente.Afiliados) { frmObrasSociales.nuevasObrasSociales.Remove(frmObrasSociales.nuevasObrasSociales.Find( delegate(Business.Entities.ObraSocial oObraSocialTemp) { return oObraSocialTemp.Id == AfiliadoExistente.ObraSocial.Id; } )); //elimina de la colección de nuevas obras sociales, aquellas previamente agregadas. //if (frmObrasSociales.nuevasObrasSociales.Contains(AfiliadoExistente.ObraSocial.Id)) // frmObrasSociales.nuevasObrasSociales.Remove(AfiliadoExistente.ObraSocial); } } foreach (Business.Entities.ObraSocial NuevaObraSocial in frmObrasSociales.nuevasObrasSociales) { //Instanciamos oAfiliado y agregamos cada Obra Social Business.Entities.Afiliado oAfiliado = new Business.Entities.Afiliado(); oAfiliado.Id = null; oAfiliado.ObraSocial = NuevaObraSocial; //Agregamos el afiliado a la colección de afiliados del Paciente. oPaciente.Afiliados.Add(oAfiliado); oAfiliado = null; } //Actualizo el listado de Obras Sociales CargarObrasSociales(); SeHanRealizadoCambios = true; } // Cierro formulario ofrmObrasSociales.Close(); }
/// <summary> /// Agrega Obras Sociales a un Paciente /// </summary> private void AgregarObrasSociales() { // Instanciamos el cuadro de dialogo frmObrasSociales frmObrasSociales ofrmObrasSociales = new frmObrasSociales(); //Business.Entities.ObrasSociales frmObrasSociales.nuevasObrasSociales = new Business.Entities.ObrasSociales(); // Mostramos el formulario modal ofrmObrasSociales.ShowDialog(); //Si se han agregado obras sociales: if (frmObrasSociales.nuevasObrasSociales != null && frmObrasSociales.nuevasObrasSociales.Count > 0) { if (oPaciente.Afiliados != null) { //recorre la colección de obras sociales del paciente en edición (incluso aquellas que aun no se han almacenado en la base de datos). foreach (Business.Entities.Afiliado AfiliadoExistente in oPaciente.Afiliados) { frmObrasSociales.nuevasObrasSociales.Remove(frmObrasSociales.nuevasObrasSociales.Find( delegate(Business.Entities.ObraSocial oObraSocialTemp) { return(oObraSocialTemp.Id == AfiliadoExistente.ObraSocial.Id); } )); //elimina de la colección de nuevas obras sociales, aquellas previamente agregadas. //if (frmObrasSociales.nuevasObrasSociales.Contains(AfiliadoExistente.ObraSocial.Id)) // frmObrasSociales.nuevasObrasSociales.Remove(AfiliadoExistente.ObraSocial); } } foreach (Business.Entities.ObraSocial NuevaObraSocial in frmObrasSociales.nuevasObrasSociales) { //Instanciamos oAfiliado y agregamos cada Obra Social Business.Entities.Afiliado oAfiliado = new Business.Entities.Afiliado(); oAfiliado.Id = null; oAfiliado.ObraSocial = NuevaObraSocial; //Agregamos el afiliado a la colección de afiliados del Paciente. oPaciente.Afiliados.Add(oAfiliado); oAfiliado = null; } //Actualizo el listado de Obras Sociales CargarObrasSociales(); SeHanRealizadoCambios = true; } // Cierro formulario ofrmObrasSociales.Close(); }