private void LoadVersion(int version) { this.Cursor = Cursors.WaitCursor; var objSimples = mCurrentODSimples[0]; if (version > 0) { // Mostrar versão historica (e bloquear alterações) ObjDigSimples VersaoObjectoDigital = (ObjDigSimples)SessionHelper.AppConfiguration.GetCurrentAppconfiguration().FedoraHelperSingleton.LoadID(objSimples.pid, objSimples.historico[version].timestamp); FicheirosOrderManager1.Deactivate(); ObjectToView(VersaoObjectoDigital); grpODTitleAndPub.Enabled = false; FicheirosOrderManager1.ActivateReadOnlyMode(); } else { // Mostar versão original (desbloquear alterações) FicheirosOrderManager1.Deactivate(); ObjectToView(objSimples); grpODTitleAndPub.Enabled = true; if (FedoraHelper.HasObjDigWritePermission(objSimples.pid)) { FicheirosOrderManager1.DeactivateReadOnlyMode(); } } this.Cursor = Cursors.Default; }
private void ObjectToView(ObjDigSimples objDigital) { txtTitulo.Text = objDigital.titulo; chkPublicar.Checked = objDigital.publicado; var itemsToBeAdded = new List <ListViewItem>(); objDigital.fich_associados.ForEach(f => { var datastream = f as Anexo; var item = FicheirosOrderManager1.CreateItem(datastream.url, datastream); itemsToBeAdded.Add(item); }); if (itemsToBeAdded.Count > 0) { FicheirosOrderManager1.populateItems(itemsToBeAdded); FicheirosOrderManager1.selectFirst(); } }
public void Deactivate() { DocumentoSimplesOrderManager1.Deactivate(); DocumentoSimplesOrderManager1.Visible = false; FicheirosOrderManager1.Deactivate(); FicheirosOrderManager1.Visible = false; versionControl.Visible = false; mViewMode = ObjetoDigitalFedoraHelper.Contexto.nenhum; mCurrentODComp = null; mCurrentODSimples = null; previewControl.Clear(); newObjects.Clear(); GUIHelper.GUIHelper.clearField(txtTitulo); GUIHelper.GUIHelper.clearField(chkPublicar); disableSave = false; // Garantir que apagamos os JPGs e PDFs (e TMPs) todos que possam ter sido descarregados durante este contexto ImageHelper.DeleteFilteredFiles("*.jpg"); ImageHelper.DeleteFilteredFiles("*.tmp"); ImageHelper.DeleteFilteredFiles("*.pdf"); }
private void FicheirosOrderManager1_AttachedFileAdded(object sender, System.EventArgs e) { grpODTitleAndPub.Enabled = FicheirosOrderManager1.Items().Count > 0; }
private void FicheirosOrderManager1_AttachedFileDeleted(object sender, EventArgs e) { previewControl.Clear(); grpODTitleAndPub.Enabled = FicheirosOrderManager1.Items().Count > 0; }
private void FicheirosOrderManager1_FullScreenInvoked(object sender, EventArgs e) { // Verificar o contexto, mostrar ou não full screen mode ShowFullScreenMode(FicheirosOrderManager1.Items(), FicheirosOrderManager1.getSelectedItems().Count > 0 ? FicheirosOrderManager1.getSelectedItems().First().Index : -1); }
private void OrderManagerSelectedIndexChangedEvent(object sender, BeforeNewSelectionEventArgs e) { this.Cursor = Cursors.WaitCursor; try { if (sender == DocumentoSimplesOrderManager1) { var item = e.ItemToBeSelected; var selectedOD = default(ObjDigital); if (item != null && item.Tag != null) { selectedOD = item.Tag as ObjDigital; } else { // Limpar browser se nada estiver seleccionado var items = DocumentoSimplesOrderManager1.getTrulySelectedItems(); if (items.Count != 1) { previewControl.Clear(true); DocumentoSimplesOrderManager1.updateToolBarButtons(); return; } selectedOD = items[0].Tag as ObjDigital; } if (selectedOD == null || (selectedOD != null && selectedOD.state == State.added)) { previewControl.Clear(); DocumentoSimplesOrderManager1.updateToolBarButtons(); return; } if (!FedoraHelper.HasObjDigWritePermission(selectedOD.pid)) { DocumentoSimplesOrderManager1.ActivateReadOnlyMode(); } else { DocumentoSimplesOrderManager1.DeactivateReadOnlyMode(); } if (FedoraHelper.HasObjDigReadPermission(selectedOD.pid)) { previewControl.Clear(true); previewControl.ShowPDF(selectedOD.pid); } else { previewControl.Clear(true); } if (disableSave) { DocumentoSimplesOrderManager1.DisableToolBar(); } } else if (sender == FicheirosOrderManager1) { var item = e.ItemToBeSelected; if (item != null && item.Tag != null) { previewControl.ShowAnexo(item.Tag as Anexo); } else { var items = FicheirosOrderManager1.getTrulySelectedItems(); if (items.Count != 1) { previewControl.Clear(true); return; } previewControl.ShowAnexo(items[0].Tag as Anexo); } FicheirosOrderManager1.updateToolBarButtons(); } } finally { this.Cursor = Cursors.Default; } }
public void ViewToModel() { if (mViewMode == ObjetoDigitalFedoraHelper.Contexto.objetosDigitais) { // neste modo não deveria haver qualquer mudança neste ponto if (disableSave) { return; } if (mCurrentODComp == null) { var hasChanges = false; UpdateObjectsList(ref mCurrentODSimples, out hasChanges); if (chkKeepODComposto.Checked && mCurrentODSimples.Count > 0) { mCurrentODComp = new ObjDigComposto(); mCurrentODComp.state = State.added; mCurrentODComp.pid = "-1"; mCurrentODComp.objSimples.AddRange(mCurrentODSimples); mCurrentODComp.titulo = mTitulo; UpdateODSimplesParentTitle(mTitulo); mCurrentODComp.publicado = chkPublicar.Checked; } } else { // actualizar ODs simples sem se considerar o OD Composto var hasChanges = false; UpdateObjectsList(ref mCurrentODComp.objSimples, out hasChanges); if (hasChanges) { mCurrentODComp.state = State.modified; } mCurrentODComp.publicado = chkPublicar.Checked; if (!chkKeepODComposto.Checked) { // foi decidido não manter o OD Composto mCurrentODComp.state = State.deleted; UpdateODSimplesParentTitle(""); } else if (!mCurrentODComp.titulo.Equals(txtTitulo.Text)) { mCurrentODComp.titulo = txtTitulo.Text; mCurrentODComp.state = State.modified; } } } else if (mViewMode == ObjetoDigitalFedoraHelper.Contexto.imagens) { var items = FicheirosOrderManager1.Items(); if (mCurrentODSimples.Count == 0) { if (items.Count == 0) { return; } else { var odSimples = new ObjDigSimples(); odSimples.state = State.added; odSimples.pid = "-1"; odSimples.fich_associados.AddRange(items.Select(i => i.Tag as Anexo)); odSimples.nextDatastreamId = 1; odSimples.gisa_id = "-1"; odSimples.titulo = txtTitulo.Text.Trim().Length == 0 ? mTitulo : txtTitulo.Text.Trim(); odSimples.publicado = chkPublicar.Checked; if (mCurrentODComp != null) { mCurrentODComp.state = State.modified; // o objeto digital será adicionado ao composto no ModelToView do SlavePanelFedora //mCurrentODComp.objSimples.Add(odSimples); } mCurrentODSimples = new List <ObjDigSimples>() { odSimples }; } } else { var odSimples = mCurrentODSimples[0]; if (items.Count == 0) { // objeto simples sem ficheiros odSimples.state = State.deleted; if (mCurrentODComp != null) { mCurrentODComp.state = ((ObjDigComposto)mCurrentODComp).objSimples.Count(od => od.state != State.deleted) > 1 ? State.modified : State.deleted; } } else { // actualizar a ordem dos ficheiros dentro do objeto digital simples var anexos = items.Select(i => i.Tag as Anexo).ToList(); UpdateObjSimples(mCurrentODComp, odSimples, anexos, txtTitulo.Text, chkPublicar.Checked); // actualizar estado publicado do documento composto caso exista if (mCurrentODComp != null) { mCurrentODComp.publicado = mCurrentODComp.objSimples.FirstOrDefault(od => od.publicado) != null; } } } } }
public void ModelToView() { grpNiveisOrObjFed.Visible = true; if (mViewMode == ObjetoDigitalFedoraHelper.Contexto.objetosDigitais) { grpODTitleAndPub.Enabled = true; // configurar check que permite criar ou não um OD composto chkKeepODComposto.Visible = true; chkPublicar.Enabled = false; txtTitulo.Text = mTitulo; // configurar lista de ODs DocumentoSimplesOrderManager1.Visible = true; var itemsToBeAdded = new List <ListViewItem>(); if (mCurrentODComp != null) { chkPublicar.Checked = mCurrentODComp.publicado; mCurrentODComp.objSimples.ForEach(objSimples => itemsToBeAdded.Add(AddODSimplesToList(objSimples))); } else { mCurrentODSimples.ForEach(objSimples => itemsToBeAdded.Add(AddODSimplesToList(objSimples))); } // adicionar os subdocumentos sem objeto digital à lista docSimplesSemOD.ForEach(docSimples => { if ((int)docSimples.guiorder - 1 < itemsToBeAdded.Count) { itemsToBeAdded.Insert((int)docSimples.guiorder - 1, AddDocSimplesToList(docSimples)); } else { itemsToBeAdded.Add(AddDocSimplesToList(docSimples)); } }); if (itemsToBeAdded.Count > 0) { DocumentoSimplesOrderManager1.populateItems(itemsToBeAdded); DocumentoSimplesOrderManager1.selectFirst(); } if (itemsToBeAdded.Count(lvi => lvi.Tag.GetType() == typeof(ObjDigital) && ((ObjDigital)lvi.Tag).state == State.notFound) > 0) { disableSave = true; DocumentoSimplesOrderManager1.DisableToolBar(); grpODTitleAndPub.Enabled = false; chkKeepODComposto.Enabled = false; MessageBox.Show("A unidade informacional selecionada tem associado(s) objeto(s) " + System.Environment.NewLine + "digital(ais) o(s) qual(ais) não foi possivel obter do repositório. " + System.Environment.NewLine + "Por esse motivo não será possível efetuar qualquer alteração nesta área. " + System.Environment.NewLine + "Contacte o administrador de sistemas.", "Objeto(s) digital(ais) não encontrado(s)", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (itemsToBeAdded.Count > 0 && itemsToBeAdded[0].Tag.GetType() == typeof(SubDocumento)) { DocumentoSimplesOrderManager1.SetEditMixedMode(); } else { DocumentoSimplesOrderManager1.updateToolBarButtons(); } UpdateGrpODComposto(); } else if (mViewMode == ObjetoDigitalFedoraHelper.Contexto.imagens) { chkKeepODComposto.Visible = false; FicheirosOrderManager1.Visible = true; FicheirosOrderManager1.updateToolBarButtons(); grpNiveisOrObjFed.Visible = true; versionControl.Visible = true; chkPublicar.Enabled = true; txtTitulo.Enabled = true; txtTitulo.Text = mTitulo; FicheirosOrderManager1.Enabled = true; versionControl.Enabled = true; if (mCurrentODSimples.Count == 0) { grpODTitleAndPub.Enabled = false; versionControl.Reset(); versionControl.Enabled = false; return; } var odSimples = mCurrentODSimples[0]; txtTitulo.Text = odSimples.titulo; chkPublicar.Checked = odSimples.publicado; if (!FedoraHelper.HasObjDigReadPermission(odSimples.pid)) { FicheirosOrderManager1.Enabled = false; return; } var itemsToBeAdded = new List <ListViewItem>(); odSimples.fich_associados.ForEach(f => { var datastream = f as Anexo; var item = FicheirosOrderManager1.CreateItem(datastream.url, datastream); itemsToBeAdded.Add(item); }); versionControl.Load(odSimples); if (!FedoraHelper.HasObjDigWritePermission(odSimples.pid)) { FicheirosOrderManager1.ActivateReadOnlyMode(); } } else { grpNiveisOrObjFed.Visible = false; } }