// Cuando le doy click a "Asentar baja" private void btn_baja_Click(object sender, EventArgs e) { DialogResult dialogResult = MessageBox.Show("¿Esta seguro de que desea suspender al profesional?", "Susoensión del profesional", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { TimeSpan dif = oProfesional.Historiales.ToList().Last().fecha - DateTime.Now; if (dif.Days > -365) { MessageBox.Show("No puede cambiar el estado del profesional si no ha pasado al menos 1 año"); } else { Modelo_Entidades.Historial oHistorial = new Modelo_Entidades.Historial(); oHistorial.estado = cEstado.ObtenerEstadoBaja().descripcion; oProfesional.Estado = cEstado.ObtenerEstadoBaja(); oHistorial.fecha = DateTime.Now; oHistorial.tipo_matricula = oProfesional.Tipo_Matricula.descripcion; //Habilito las observaciones del historial oHistorial.observaciones = "Baja voluntaria"; oProfesional.Historiales.Add(oHistorial); MessageBox.Show("La suspensión se ha efectuado correctamente"); } } else if (dialogResult == DialogResult.No) { return; } }
// Valido los datos del Profesional private bool ValidarObligatorios() { #region Datos personales if (cmb_tiposdoc.SelectedItem == null) { MessageBox.Show("Debe ingresar un tipo de documento para el Profesional"); return false; } if (string.IsNullOrEmpty(txt_numero.Text)) { MessageBox.Show("Debe ingresar el número de DNI del Profesional"); return false; } // Valido que no exista un profesional con un DNI igual if (cProfesional.ValidarProfesional(Convert.ToInt32(txt_numero.Text)) == false) { if (oProfesional.dni != Convert.ToInt32(txt_numero.Text)) { MessageBox.Show("Ya existe un Profesional con el DNI introducido"); return false; } } if (string.IsNullOrEmpty(txt_nombreapellido.Text)) { MessageBox.Show("Debe ingresar el nombre y apellido del Profesional"); return false; } if (Regex.IsMatch(txt_nombreapellido.Text, @"^[a-zA-Z]+$")) { MessageBox.Show("El nombre y el apellido solo pueden contener letras"); return false; } if (string.IsNullOrEmpty(txt_fechanacimiento.Text)) { MessageBox.Show("Debe ingresar la fecha de nacimiento del Profesional"); return false; } if (rbtn_femenino.Checked == false && rbtn_masculino.Checked == false) { MessageBox.Show("Debe ingresar un tipo de género para del Profesional"); return false; } if (cmb_provincias.SelectedItem == null) { MessageBox.Show("Debe ingresar la provincia donde reside el Profesional"); return false; } if (cmb_localidades.SelectedItem == null) { MessageBox.Show("Debe ingresar la provincia donde reside el Profesional"); return false; } if (string.IsNullOrEmpty(txt_direccion.Text)) { MessageBox.Show("Debe ingresar la dirección del Profesional"); return false; } if (cmb_provinciasE.SelectedItem == null) { MessageBox.Show("Debe ingresar la provincia de envío de la boleta del Profesional"); return false; } if (cmb_localidades.SelectedItem == null) { MessageBox.Show("Debe ingresar la localidad de envío de la boleta del Profesional"); return false; } if (string.IsNullOrEmpty(txt_direccionE.Text)) { MessageBox.Show("Debe ingresar la dirección de envío de la matrícula del Profesional"); return false; } if (string.IsNullOrEmpty(txt_telfijo.Text) || string.IsNullOrEmpty(txt_celular.Text)) { MessageBox.Show("Debe ingresar al menos un número de contacto telefónico para comunicarse con el Profesional"); return false; } if (string.IsNullOrEmpty(txt_emailpricipal.Text)) { MessageBox.Show("Debe ingresar un correo electrónico de contacto para comunicarse con el Profesional"); return false; } string expresionregular = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; if (!(Regex.IsMatch(this.txt_emailpricipal.Text, expresionregular))) //si el mail no concuerda con la expresion regular { this.txt_emailpricipal.Focus(); MessageBox.Show("El E-Mail ingresado tiene un formato incorrecto.", "Faltan Datos.", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } #endregion #region Datos referidos a la matrícula del profesional if (cmb_tipomatricula.SelectedItem == null) { MessageBox.Show("Debe ingresar un tipo de matrícula para el Profesional"); return false; } if (cmb_tipomatricula.SelectedText == "Relación de dependencia" && string.IsNullOrEmpty(txt_lugartrabajo.Text)) { MessageBox.Show("Debe proporcionar el lugar de trabajo del profesional en relación de dependencia"); return false; } if (cmb_tipomatricula.SelectedText == "Convenio" && string.IsNullOrEmpty(txt_año.Text)) { MessageBox.Show("Debe proporcionar el año de habilitación del profesional en el Colegio con el cual se estableció el convenio"); return false; } #endregion #region datos del título if (dgv_matriculas.DataSource == null) { MessageBox.Show("Debe agregar al menos un título Profesional"); return false; } #endregion #region Datos referidos a la matrícula del profesional if (txt_observaciones_historial.Enabled == true) { if (string.IsNullOrEmpty(txt_observaciones_historial.Text)) { MessageBox.Show("No ha ingresado ninguna observación por el cambio de estado o por el cambio de tipo de matrícula del profesional.", "¡ATENCIÓN!"); return false; } if (oProfesional.Historiales.Count != 0) { TimeSpan dif = oProfesional.Historiales.ToList().Last().fecha - DateTime.Now; if (dif.Days > -365) { MessageBox.Show("No puede cambiar el tipo de matrícula del profesional si no ha pasado al menos 1 año"); return false; } else { Modelo_Entidades.Historial oHistorial = new Modelo_Entidades.Historial(); oHistorial.estado = oProfesional.Estado.descripcion; oHistorial.tipo_matricula = cmb_tipomatricula.SelectedValue.ToString(); oHistorial.fecha = DateTime.Now; //Habilito las observaciones del historial oHistorial.observaciones = txt_observaciones_historial.Text; oProfesional.Historiales.Add(oHistorial); } } } #endregion return true; }
// Al hacer click en guardar private void btn_guardar_Click(object sender, EventArgs e) { if (ValidarObligatorios() == true) { try { #region Datos personales del profesional oProfesional.Tipo_Documento = (Modelo_Entidades.Tipo_Documento)cmb_tiposdoc.SelectedItem; oProfesional.dni = Convert.ToInt32(txt_numero.Text); oProfesional.nombre_apellido = txt_nombreapellido.Text; oProfesional.fecha_nacimiento = Convert.ToDateTime(txt_fechanacimiento.Text); if (rbtn_masculino.Checked == true) { oProfesional.sexo = "Masculino"; } else { oProfesional.sexo = "Femenino"; } if (modo == "Alta") { oDireccion = new Modelo_Entidades.Direccion(); oDireccion.direccion = txt_direccion.Text; oDireccion.Localidad = (Modelo_Entidades.Localidad)cmb_localidades.SelectedItem; oProfesional.Direcciones.Add(oDireccion); oDireccionE = new Modelo_Entidades.Direccion(); oDireccionE.direccion = txt_direccion.Text; oDireccionE.Localidad = (Modelo_Entidades.Localidad)cmb_localidades.SelectedItem; oProfesional.Direcciones.Add(oDireccionE); } else { oDireccion = oProfesional.Direcciones.ElementAt(0); oDireccion.Localidad = (Modelo_Entidades.Localidad)cmb_localidades.SelectedItem; oDireccion.direccion = txt_direccion.Text; oProfesional.Direcciones.ElementAt(0).Equals(oDireccion); oDireccionE = oProfesional.Direcciones.ElementAt(1); oDireccionE.Localidad = (Modelo_Entidades.Localidad)cmb_localidadesE.SelectedItem; oDireccionE.direccion = txt_direccionE.Text; oProfesional.Direcciones.ElementAt(1).Equals(oDireccionE); } oProfesional.telefono = Convert.ToInt32(txt_telfijo.Text); oProfesional.celular = Convert.ToInt32(txt_celular.Text); oProfesional.email1 = txt_emailpricipal.Text; oProfesional.email2 = txt_emailalternativo.Text; #endregion #region Matrícula del profesional oProfesional.Tipo_Matricula = (Modelo_Entidades.Tipo_Matricula)cmb_tipomatricula.SelectedItem; if (oProfesional.Tipo_Matricula.descripcion == "Relación de Dependencia") { oProfesional.lugar_trabajo = txt_lugartrabajo.Text; } if (oProfesional.Tipo_Matricula.descripcion == "Reciprocidad de Matrícula") { oProfesional.Colegio = (Modelo_Entidades.Colegio)cmb_colegios.SelectedItem; oProfesional.convenio_año = Convert.ToInt32(txt_año.Text); } if (modo == "Alta") { // Cuando se matricula, le pongo el estado no habilitado. Se va a habilitar cuando pague. oProfesional.Estado = cEstado.ObtenerEstadoNoHabilitado(); // Doy de alta el 1º historial Modelo_Entidades.Historial oHistorial = new Modelo_Entidades.Historial(); oHistorial.estado = (cEstado.ObtenerEstadoHabilitado()).descripcion; oHistorial.tipo_matricula = ((Modelo_Entidades.Tipo_Matricula)cmb_tipomatricula.SelectedItem).descripcion; oHistorial.fecha = DateTime.Now; oHistorial.observaciones = "Alta en el CIE del profesional"; oProfesional.Historiales.Add(oHistorial); } #endregion #region Contabilidad del profesional if (modo == "Alta") { // Doy de alta a la cta cte Modelo_Entidades.CtaCte oCtaCte = new Modelo_Entidades.CtaCte(); oCtaCte.saldo = 0; oCtaCte.Profesional = oProfesional; oProfesional.CtaCte = oCtaCte; } #endregion #region Observaciones del profesional oProfesional.observaciones = txt_observaciones.Text; oProfesional.titulo_a_mostrar = cmb_tituloamostrar.SelectedValue.ToString(); #endregion #region Títulos del profesional #endregion if (modo == "Alta") { cProfesional.Alta(oProfesional); int mes = DateTime.Now.Month; if (mes == 1 || mes == 2) { GeneraCuotaAnual(oProfesional); GeneraCuotaBimensual(oProfesional, mes); } else { GeneraCuotaBimensual(oProfesional, mes); } cCtaCte.Modificacion(oCtaCte); MessageBox.Show("El profesional se ha agregado correctamente"); } else { cProfesional.Modificacion(oProfesional); MessageBox.Show("El profesional se ha modificado correctamente"); } this.DialogResult = DialogResult.OK; } catch (Exception Exc) { MessageBox.Show(Exc.Message.ToString()); } } }
// Valido los datos del Profesional private bool ValidarObligatorios() { #region Datos personales if (cmb_tiposdoc.SelectedItem == null) { MessageBox.Show("Debe ingresar un tipo de documento para el Profesional"); return(false); } if (string.IsNullOrEmpty(txt_numero.Text)) { MessageBox.Show("Debe ingresar el número de DNI del Profesional"); return(false); } // Valido que no exista un profesional con un DNI igual if (cProfesional.ValidarProfesional(Convert.ToInt32(txt_numero.Text)) == false) { if (oProfesional.dni != Convert.ToInt32(txt_numero.Text)) { MessageBox.Show("Ya existe un Profesional con el DNI introducido"); return(false); } } if (string.IsNullOrEmpty(txt_nombreapellido.Text)) { MessageBox.Show("Debe ingresar el nombre y apellido del Profesional"); return(false); } if (Regex.IsMatch(txt_nombreapellido.Text, @"^[a-zA-Z]+$")) { MessageBox.Show("El nombre y el apellido solo pueden contener letras"); return(false); } if (string.IsNullOrEmpty(txt_fechanacimiento.Text)) { MessageBox.Show("Debe ingresar la fecha de nacimiento del Profesional"); return(false); } if (rbtn_femenino.Checked == false && rbtn_masculino.Checked == false) { MessageBox.Show("Debe ingresar un tipo de género para del Profesional"); return(false); } if (cmb_provincias.SelectedItem == null) { MessageBox.Show("Debe ingresar la provincia donde reside el Profesional"); return(false); } if (cmb_localidades.SelectedItem == null) { MessageBox.Show("Debe ingresar la provincia donde reside el Profesional"); return(false); } if (string.IsNullOrEmpty(txt_direccion.Text)) { MessageBox.Show("Debe ingresar la dirección del Profesional"); return(false); } if (cmb_provinciasE.SelectedItem == null) { MessageBox.Show("Debe ingresar la provincia de envío de la boleta del Profesional"); return(false); } if (cmb_localidades.SelectedItem == null) { MessageBox.Show("Debe ingresar la localidad de envío de la boleta del Profesional"); return(false); } if (string.IsNullOrEmpty(txt_direccionE.Text)) { MessageBox.Show("Debe ingresar la dirección de envío de la matrícula del Profesional"); return(false); } if (string.IsNullOrEmpty(txt_telfijo.Text) || string.IsNullOrEmpty(txt_celular.Text)) { MessageBox.Show("Debe ingresar al menos un número de contacto telefónico para comunicarse con el Profesional"); return(false); } if (string.IsNullOrEmpty(txt_emailpricipal.Text)) { MessageBox.Show("Debe ingresar un correo electrónico de contacto para comunicarse con el Profesional"); return(false); } string expresionregular = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; if (!(Regex.IsMatch(this.txt_emailpricipal.Text, expresionregular))) //si el mail no concuerda con la expresion regular { this.txt_emailpricipal.Focus(); MessageBox.Show("El E-Mail ingresado tiene un formato incorrecto.", "Faltan Datos.", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } #endregion #region Datos referidos a la matrícula del profesional if (cmb_tipomatricula.SelectedItem == null) { MessageBox.Show("Debe ingresar un tipo de matrícula para el Profesional"); return(false); } if (cmb_tipomatricula.SelectedText == "Relación de dependencia" && string.IsNullOrEmpty(txt_lugartrabajo.Text)) { MessageBox.Show("Debe proporcionar el lugar de trabajo del profesional en relación de dependencia"); return(false); } if (cmb_tipomatricula.SelectedText == "Convenio" && string.IsNullOrEmpty(txt_año.Text)) { MessageBox.Show("Debe proporcionar el año de habilitación del profesional en el Colegio con el cual se estableció el convenio"); return(false); } #endregion #region datos del título if (dgv_matriculas.DataSource == null) { MessageBox.Show("Debe agregar al menos un título Profesional"); return(false); } #endregion #region Datos referidos a la matrícula del profesional if (txt_observaciones_historial.Enabled == true) { if (string.IsNullOrEmpty(txt_observaciones_historial.Text)) { MessageBox.Show("No ha ingresado ninguna observación por el cambio de estado o por el cambio de tipo de matrícula del profesional.", "¡ATENCIÓN!"); return(false); } if (oProfesional.Historiales.Count != 0) { TimeSpan dif = oProfesional.Historiales.ToList().Last().fecha - DateTime.Now; if (dif.Days > -365) { MessageBox.Show("No puede cambiar el tipo de matrícula del profesional si no ha pasado al menos 1 año"); return(false); } else { Modelo_Entidades.Historial oHistorial = new Modelo_Entidades.Historial(); oHistorial.estado = oProfesional.Estado.descripcion; oHistorial.tipo_matricula = cmb_tipomatricula.SelectedValue.ToString(); oHistorial.fecha = DateTime.Now; //Habilito las observaciones del historial oHistorial.observaciones = txt_observaciones_historial.Text; oProfesional.Historiales.Add(oHistorial); } } } #endregion return(true); }