/// <summary> /// Guarda la información de un Paciente /// </summary> private void GuardarPaciente() { string ErrorDeValidacion = ErrorDeValidacionPaciente(); if (ErrorDeValidacion == null) { //llenamos oPaciente con la información ingresada/modificada oPaciente.Nombre = txtNombre.Text.Trim(); oPaciente.Apellido = txtApellido.Text.Trim(); oPaciente.TipoDoc = (Business.Entities.Paciente.TiposDoc)cbxTipoDoc.SelectedItem; oPaciente.NumeroDoc = Convert.ToInt32(txtNumeroDoc.Text); //oPaciente.FechaNac = dtpFechaNac.Value; oPaciente.GrupoSanguineo = (Business.Entities.Paciente.GruposSanguineos)cbxGrupoSanguineo.SelectedItem; oPaciente.Factor = (Business.Entities.Paciente.FactoresSanguineos)cbxFactorSanguineo.SelectedItem; oPaciente.Domicilio = txtDomicilio.Text.Trim(); oPaciente.Telefono = txtTelefono.Text.Trim(); oPaciente.Celular = txtCelular.Text.Trim(); oPaciente.Email = txtEmail.Text.Trim(); oPaciente.Problemas = txtProblemas.Text.Trim(); oPaciente.Notas = txtNotas.Text.Trim(); //las obras sociales ya se encuentran en opaciente.afiliados, se agregan a la colección al cargarse/agregarse. Business.Logic.Paciente oPacienteNegocio = new Business.Logic.Paciente(); //Actualizamos la base de datos. Si es un paciente nuevo, devuelve el Id del Paciente. oPaciente.Id = oPacienteNegocio.Actualizar(oPaciente); //si el paciente es afiliado de 1 o mas obras sociales: if (oPaciente.Afiliados != null && oPaciente.Afiliados.Count > 0) { //ahora utlizaremos ei Id del Paciente para actualizar los Afiliados del mismo. Business.Logic.Afiliado oAfiliadoNegocio = new Business.Logic.Afiliado(); oAfiliadoNegocio.Actualizar((int)oPaciente.Id, oPaciente.Afiliados); } // Recargar listado de Pacientes CargarPacientes(); SeHanRealizadoCambios = false; } else { //muestra el error: MessageBox.Show(null, "Atención: El campo '" + ErrorDeValidacion + "' no puede ser nulo", "Error al Guardar el Paciente", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }