/// <summary> /// Guarda en la bd el objeto actual /// </summary> protected override bool SaveObject() { using (StatusBusy busy = new StatusBusy(moleQule.Face.Resources.Messages.SAVING)) { this.Datos.RaiseListChangedEvents = false; Almacen temp = _entity.Clone(); temp.ApplyEdit(); // do the save try { _entity = temp.Save(); _entity.ApplyEdit(); //Decomentar si se va a mantener en memoria //_entity.BeginEdit(); return(true); } catch (iQValidationException ex) { MessageBox.Show(iQExceptionHandler.GetAllMessages(ex) + Environment.NewLine + ex.SysMessage, ControlerBase.GetApplicationTitle(), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } catch (Exception ex) { MessageBox.Show(iQExceptionHandler.GetAllMessages(ex), ControlerBase.GetApplicationTitle(), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } finally { this.Datos.RaiseListChangedEvents = true; } } }
/// <summary> /// Implementación de la función virtual LoginBase.LoginAction(). /// </summary> /// <remarks> /// Realiza las tareas de login de usuario mediante el objeto Principal que gestiona el usuario activo. /// Dicho objeto obtiene una lista de schemas accesibles para el usuario indicado /// en el formulario. /// </remarks> protected override void LoginAction() { _action_result = DialogResult.None; try { string server = (Server_CkB.Checked) ? Server_TB.Text : string.Empty; if (Principal.Login(UserName_TB.Text, Password_TB.Text, server)) { PgMng.Grow(); SettingsMng.Instance.SetLastUser(AppContext.User.Name); string version = SettingsMng.Instance.GetApplicationVersion(); if (String.CompareOrdinal(System.Windows.Forms.Application.ProductVersion, version) < 0) { PgMng.ShowInfoException(String.Format(Resources.Messages.NEW_VERSION_AVAILABLE, version)); _action_result = DialogResult.Ignore; return; } MainForm.Instance.LoadSchema(); //Si el usuario inicia sesión correctamente se guarda como el último usuario //La próxima vez que se arranque la aplicación cargará el nombre de este usuario Principal.SetLastUser(AppContext.User.Name); Principal.SetLastServer(Server_TB.Text); #if DEMO MessageBox.Show("¡¡AVISO IMPORTANTE!!" + Environment.NewLine + Environment.NewLine + "Esta versión de evaluación de " + ControlerBase.GetApplicationTitle() + " almacena los datos en un servidor remoto por lo que puede sufrir tiempos de espera" + " superiores a los de la versión de pago." + Environment.NewLine + Environment.NewLine + " Los datos se resetean diariamente, por esta razón la información que introduzca tiene carácter temporal.", ControlerBase.GetApplicationTitle(), MessageBoxButtons.OK, MessageBoxIcon.Warning); #endif _action_result = DialogResult.OK; PgMng.Grow(); } else { PgMng.ShowInfoException(Library.Resources.Messages.USER_NOT_AUTHENTIFICATED); } } catch (Exception ex) { iQException iQex = iQExceptionHandler <iQException> .GetiQException(ex); if (null != iQex) { PgMng.ShowInfoException(iQex.Message); } else { PgMng.ShowInfoException(ex); } } }