Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        // 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;
                }
            }
        }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 4
0
 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);
 }