/// <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; if (_has_parent) { return(true); } Instructor temp = _entity; temp.ApplyEdit(); // do the save try { temp.Save(); _entity = temp; _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, moleQule.Library.Application.AppController.APP_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } catch (Exception ex) { MessageBox.Show(iQExceptionHandler.GetAllMessages(ex), moleQule.Library.Application.AppController.APP_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } finally { this.Datos.RaiseListChangedEvents = true; } } }
/// <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; //if (SubmoduloRepetido()) //{ // MessageBox.Show("Sólo se puede incluir un profesor titular por submódulo y periodo"); // return false; //} Instructor temp = _entity.Clone(); temp.ApplyEdit(); // do the save try { if (CapacidadRepetida()) { MessageBox.Show("Se está añadiendo varias veces el mismo submódulo"); return(false); } if (PromocionRepetida()) { MessageBox.Show("Se está añadiendo varias veces la misma promoción"); return(false); } _entity = temp.Save(); _entity.ApplyEdit(); // Se modifica el nombre de la foto if (_entity.Foto != string.Empty) { Bitmap imagen = new Bitmap(AppController.FOTOS_INSTRUCTORES_PATH + _entity.Foto); string ext = string.Empty; if (imagen.RawFormat.Guid.Equals(System.Drawing.Imaging.ImageFormat.Jpeg.Guid)) { ext = ".jpg"; } else { if (imagen.RawFormat.Guid.Equals(System.Drawing.Imaging.ImageFormat.Bmp.Guid)) { ext = ".bmp"; } else { if (imagen.RawFormat.Guid.Equals(System.Drawing.Imaging.ImageFormat.Png.Guid)) { ext = ".png"; } } } imagen.Dispose(); if (_entity.Foto != _entity.Oid.ToString("000") + ext) { File.Copy(AppController.FOTOS_INSTRUCTORES_PATH + _entity.Foto, AppController.FOTOS_INSTRUCTORES_PATH + _entity.Oid.ToString("000") + ext, true); File.Delete(AppController.FOTOS_INSTRUCTORES_PATH + _entity.Foto); _entity.Foto = _entity.Oid.ToString("000") + ext; _entity.Save(); } } //Decomentar si se va a mantener en memoria //_entity.BeginEdit(); return(true); } catch (iQValidationException ex) { MessageBox.Show(iQExceptionHandler.GetAllMessages(ex) + Environment.NewLine + ex.SysMessage, moleQule.Library.Application.AppController.APP_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } catch (Exception ex) { MessageBox.Show(iQExceptionHandler.GetAllMessages(ex), moleQule.Library.Application.AppController.APP_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } finally { this.Datos.RaiseListChangedEvents = true; } } }