/// <summary>
        /// Implementa Save_button_Click
        /// </summary>
        protected override void SaveAction()
        {
            if (_entity.Texto == string.Empty)
            {
                MessageBox.Show("El texto de la pregunta no puede estar en blanco.");
                return;
            }
            if (_entity.Tipo == string.Empty)
            {
                MessageBox.Show("Debe seleccionar el tipo de pregunta.");
                return;
            }
            if (((ComboBoxSource)Tema_CB.SelectedItem).Oid == 0 || Datos_Temas.Current == null)
            {
                MessageBox.Show("Debe seleccionar un tema válido");
            }
            else
            {
                _entity.FechaAlta           = DateTime.Now;
                _entity.FechaDisponibilidad = DateTime.Now;
                _entity.FechaPublicacion    = DateTime.Today;
                _entity.FechaUltimoExamen   = DateTime.Today.AddMonths(-6);

                Historia historia = Historia.NewChild(_entity);
                historia.Fecha = DateTime.Now.Date;
                historia.Hora  = DateTime.Now;
                historia.Texto = "Pregunta creada por " + AppContext.User.Name;

                _entity.Historias.AddItem(historia);

                if (SaveObject())
                {
                    //Si la pregunta tiene imagen, se renombra después de guardar el objeto
                    //con el Oid asignado por la base de datos y se vuelve a guardar
                    if (_entity.Imagen != string.Empty || _entity.ModeloRespuesta != string.Empty)
                    {
                        if (_entity.Imagen != string.Empty)
                        {
                            SaveImage(true);
                        }
                        if (_entity.ModeloRespuesta != string.Empty)
                        {
                            _entity.ModeloRespuesta = _entity.Oid.ToString("00000") + "_" + ModeloRespuestaBrowser.SafeFileName;
                            File.Copy(ModeloRespuestaBrowser.FileName, moleQule.Library.Application.AppController.MODELOS_PREGUNTAS_PATH + _entity.ModeloRespuesta, true);
                        }
                        SaveObject();
                    }

                    _entity.CloseSession();

                    _entity.SessionCode = _lista.SessionCode;
                    _entity.MarkItemChild();
                    _lista.AddItem(_entity);

                    _action_result = DialogResult.OK;
                    Close();
                }
                else
                {
                    MessageBox.Show("No se ha podido crear la pregunta.", "Aviso");
                }
            }
        }