/// <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"); } } }