private void UpdateODCompostoStatePublicado() { if (mViewMode != ObjetoDigitalFedoraHelper.Contexto.objetosDigitais) { return; } chkPublicar.Checked = chkKeepODComposto.Checked ? DocumentoSimplesOrderManager1.Items().Where(item => item.Tag.GetType() == typeof(ObjDigSimples) && ((ObjDigSimples)item.Tag).state != State.deleted).Select(lvItem => lvItem.Tag as ObjDigSimples).FirstOrDefault(od => od.publicado) != null : false; }
// o método tem que indicar se houveram alterações na ordem de objetos digitais, se foram acrescentados objetos digitais ou eliminados e se mudou a ordem de algum subdocumento private void UpdateObjectsList(ref List <ObjDigSimples> odsSimples, out bool hasChanges) { hasChanges = false; // identificar os ods simples apagados para depois serem adicionados no final da lista para permitir a re-ingestão do composto e atualizar as datarows respetivas var odsDeleted = new List <ObjDigSimples>(); odsDeleted.AddRange(odsSimples.Where(od => od.state == State.deleted)); // verificar se houve alteração na ordem somente entre os objetos digitais var objsDig = DocumentoSimplesOrderManager1.Items().Where(i => i.Tag.GetType() == typeof(ObjDigSimples)).Select(i => i.Tag as ObjDigSimples).ToList(); if (objsDig.Count != odsSimples.Count || odsDeleted.Count > 0) { odsSimples.Clear(); odsSimples.AddRange(objsDig); odsSimples.AddRange(odsDeleted); hasChanges = true; } else { for (int i = 0; i < objsDig.Count; i++) { var objSimples = objsDig[i]; if (objSimples.pid != odsSimples[i].pid) { odsSimples[i] = objSimples as ObjDigSimples; hasChanges = true; } } } // actualizar a ordem tendo em conta objetos digitais e subdocumentos sem objeto digital var odSimples = default(ObjDigSimples); var subDoc = default(SubDocumento); foreach (var item in DocumentoSimplesOrderManager1.Items()) { var newOrder = item.Index + 1; if (item.Tag.GetType() == typeof(ObjDigSimples)) { odSimples = (ObjDigSimples)item.Tag; odSimples.guiorder = newOrder; } else if (item.Tag.GetType() == typeof(SubDocumento)) { subDoc = (SubDocumento)item.Tag; subDoc.guiorder = newOrder; } } }
private void UpdateGrpODComposto() { if (mViewMode != ObjetoDigitalFedoraHelper.Contexto.objetosDigitais) { return; } chkKeepODComposto.Checked = CurrentODComp != null; chkKeepODComposto.Enabled = (CurrentODComp != null && DocumentoSimplesOrderManager1.Items().Count >= 2) || (CurrentODComp == null && DocumentoSimplesOrderManager1.Items().Count >= 2); txtTitulo.Enabled = chkKeepODComposto.Checked; if (CurrentODComp != null && DocumentoSimplesOrderManager1.Items().Count < 2) { chkKeepODComposto.Checked = false; } }
private void DocumentoSimplesOrderManager1_FullScreenInvoked(object sender, EventArgs e) { // Verificar o contexto, mostrar ou não full screen mode ShowFullScreenMode(DocumentoSimplesOrderManager1.Items(), DocumentoSimplesOrderManager1.getSelectedItems().Count > 0 ? DocumentoSimplesOrderManager1.getSelectedItems().First().Index : -1); }