예제 #1
0
        /// <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();
        }
예제 #2
0
        /// <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();
        }