Ejemplo n.º 1
0
        /// <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;
                }
            }
        }
Ejemplo n.º 2
0
        /// <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);
                }
            }
        }