예제 #1
0
 private bool CreateDocumentoInterno(ref EntidadeInterna ei, long tnr)
 {
     bool cancel = false;
     FormAddNivel form = new FormAddNivel();
     form.IDTipoNivelRelacionado = tnr;
     if (ei != null)
     {
         form.txtDesignacao.Text = ei != null ? ((DocumentoGisa)ei).Titulo : "";
         if (tnr == TipoNivelRelacionado.SD)
             form.txtCodigo.Text = ei != null ? ((DocumentoGisa)ei).Codigo : "";
     }
     switch (form.ShowDialog())
     {
         case DialogResult.OK:
             var documento = new DocumentoGisa();
             documento.Tipo = tnr == (long)TipoNivelRelacionado.SD ? TipoEntidadeInterna.DocumentoSimples : TipoEntidadeInterna.DocumentoComposto;
             if (tnr == (long)TipoNivelRelacionado.SD)
                 documento.CopyProperties(this.correspDocumento);
             documento.Titulo = form.txtDesignacao.Text;
             documento.Codigo = form.txtCodigo.Text;
             ei = this.InternalEntitiesLst.AddInternalEntity(documento);
             break;
         case DialogResult.Cancel:
             cancel = true;
             break;
     }
     return cancel;
 }
예제 #2
0
        void BrowseEntidadeInterna(FormSelectNivel form, ref EntidadeInterna ei, out bool cancel, List<long> tnrLst)
        {
            cancel = false;

            switch (form.ShowDialog())
            {
                case DialogResult.OK:
                    var documento = new DocumentoGisa();
                    if (tnrLst.Contains((long)TipoNivelRelacionado.SD))
                        documento.CopyProperties(this.correspDocumento);
                    documento.Titulo = form.SelectedDocument.GetNivelDesignadoRows()[0].Designacao;
                    documento.Codigo = form.SelectedDocument.Codigo;
                    documento.Tipo = TipoEntidade.GetTipoEntidadeInterna(form.SelectedDocument.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].IDTipoNivelRelacionado);
                    ei = documento;
                    ei.Estado = TipoEstado.SemAlteracoes;
                    ei.Id = form.SelectedDocument.ID;
                    break;
                case DialogResult.Cancel:
                    cancel = true;
                    break;
            }
        }
예제 #3
0
 internal CorrespondenciaDocs(DocumentoComposto de, DocumentoGisa di, TipoSugestao tipoSugestao)
     : base(de, di, tipoSugestao) { }
예제 #4
0
        public void SetUp()
        {
            des = new List<DocumentoSimples>();
            correspDocsExistentes = new Dictionary<string, DocumentoGisa>();
            correspTipologiasExistentes = new Dictionary<string, Model.EntidadesInternas.Tipologia>();
            correspProdutoresExistentes = new Dictionary<string, Model.EntidadesInternas.Produtor>();
            correspIdeograficosExistentes = new Dictionary<string, Model.EntidadesInternas.Ideografico>();
            correspOnomasticosExistentes = new Dictionary<string, Model.EntidadesInternas.Onomastico>();
            correspGeograficosExistentes = new Dictionary<string, Model.EntidadesInternas.Geografico>();

            deUm = new DocumentoSimples(Sistema.DocInPorto, new DateTime(1985, 12, 6), 1);
            deDois = new DocumentoSimples(Sistema.DocInPorto, new DateTime(1965, 6, 26), 2);
            deTres = new DocumentoSimples(Sistema.DocInPorto, new DateTime(1965, 6, 26), 3);
            docGisa = new DocumentoGisa();

            deUm.NUD = "123987d";
            deUm.Processo = new DocumentoComposto(Sistema.DocInPorto, deUm.Timestamp, 1) { NUP = "123987p" };
            deUm.NumeroEspecifico = "42";
            deUm.DataCriacao = new DateTime(1979, 9, 13).ToShortDateString();
            deUm.Ideografico = new Model.EntidadesExternas.Ideografico(Sistema.DocInPorto, deUm.Timestamp);
            deUm.Ideografico.Titulo = "Igreja";
            deUm.Onomastico = new Model.EntidadesExternas.Onomastico(Sistema.DocInPorto, deUm.Timestamp);
            deUm.Onomastico.Titulo = "Manuel Silva";
            deUm.Toponimia = new Model.EntidadesExternas.Geografico(Sistema.DocInPorto, deUm.Timestamp);
            deUm.Toponimia.Titulo = "Parque das Rosas";
            deUm.Tipologia = new Model.EntidadesExternas.Tipologia(Sistema.DocInPorto, deUm.Timestamp);
            deUm.Tipologia.ID = "27";
            deUm.Tipologia.Titulo = "Alvará";

            deDois.NUD = "8734d";
            deDois.Processo = new DocumentoComposto(Sistema.DocInPorto, deDois.Timestamp, 2) { NUP = "8734p" };
            deDois.NumeroEspecifico = "15";
            deDois.DataCriacao = new DateTime(1934, 9, 11).ToShortDateString();
            deDois.Ideografico = new Model.EntidadesExternas.Ideografico(Sistema.DocInPorto, deDois.Timestamp);
            deDois.Ideografico.Titulo = "Catedral";
            deDois.Onomastico = new Model.EntidadesExternas.Onomastico(Sistema.DocInPorto, deDois.Timestamp);
            deDois.Onomastico.Titulo = "Maria Silva";
            deDois.Toponimia = new Model.EntidadesExternas.Geografico(Sistema.DocInPorto, deDois.Timestamp);
            deDois.Toponimia.Titulo = "Rua do Carmo";
            deDois.Tipologia = new Model.EntidadesExternas.Tipologia(Sistema.DocInPorto, deDois.Timestamp);
            deDois.Tipologia.Titulo = "Fotografia do Local";
            deDois.Tipologia.ID = "23";

            deTres.NUD = "12345d";
            deTres.Processo = new DocumentoComposto(Sistema.DocInPorto, deTres.Timestamp, 3) { NUP = "12345p" };
            deTres.NumeroEspecifico = "";
            deTres.DataCriacao = new DateTime(1934, 9, 11).ToShortDateString();
            deTres.Ideografico = new Model.EntidadesExternas.Ideografico(Sistema.DocInPorto, deTres.Timestamp);
            deTres.Ideografico.Titulo = "Catedral";
            deTres.Onomastico = new Model.EntidadesExternas.Onomastico(Sistema.DocInPorto, deTres.Timestamp);
            deTres.Onomastico.Titulo = "Maria Silva";
            deTres.Toponimia = new Model.EntidadesExternas.Geografico(Sistema.DocInPorto, deTres.Timestamp);
            deTres.Toponimia.Titulo = "Parque das Rosas";
            deTres.Tipologia = new Model.EntidadesExternas.Tipologia(Sistema.DocInPorto, deTres.Timestamp);
            deTres.Tipologia.ID = "27";
            deTres.Tipologia.Titulo = "Alvará";


            docGisa.Estado = TipoEstado.SemAlteracoes;
            docGisa.Codigo = "123987d";
            docGisa.DataCriacao.Valor = new DataIncompleta(new DateTime(1979, 10, 3).ToShortDateString());
            DocumentoGisa docC = new DocumentoGisa();
            docC.Id = 6;
            docC.Estado = TipoEstado.SemAlteracoes;
            docC.Titulo = "35423";
            docC.Codigo = "35423";

            var produtor = new Model.EntidadesInternas.Produtor();
            produtor.Id = 1;
            produtor.Codigo = "CMP-UCD";
            produtor.Titulo = "Unidade Central de Digitalização";
            produtor.Estado = TipoEstado.SemAlteracoes;

            var ideografico = new Model.EntidadesInternas.Ideografico();
            ideografico.Id = 2;
            ideografico.Titulo = "Igreja";
            ideografico.Estado = TipoEstado.SemAlteracoes;

            var onomastico1 = new Model.EntidadesInternas.Onomastico();
            onomastico1.Id = 3;
            onomastico1.Titulo = "Manuel Silva";
            onomastico1.Codigo = "123456789";
            onomastico1.Estado = TipoEstado.SemAlteracoes;

            var onomastico2 = new Model.EntidadesInternas.Onomastico();
            onomastico2.Id = 6;
            onomastico2.Titulo = "João Silva";
            onomastico2.Codigo = "";
            onomastico2.Estado = TipoEstado.SemAlteracoes;

            var geografico = new Model.EntidadesInternas.Geografico();
            geografico.Id = 4;
            geografico.Titulo = "Rua das Rosas";
            geografico.Estado = TipoEstado.SemAlteracoes;

            var tipologia = new Model.EntidadesInternas.Tipologia();
            tipologia.Id = 5;
            tipologia.Titulo = "Alvará";
            tipologia.Estado = TipoEstado.SemAlteracoes;

            docGisa.Produtores.Add(produtor.Titulo);
            docGisa.Ideograficos.Add(ideografico.Titulo);
            docGisa.Onomasticos.Add(onomastico1.Titulo);
            docGisa.Toponimias.Add(geografico.Titulo);
            docGisa.Tipologia = tipologia.Titulo;

            des.Add(deUm);
            des.Add(deDois);
            des.Add(deTres);

            correspDocsExistentes.Add(deUm.IDExterno, docGisa);
            correspProdutoresExistentes.Add("CMP-UCD", produtor);
            correspTipologiasExistentes.Add("27", tipologia);
            correspIdeograficosExistentes.Add("Igreja", ideografico);
            correspOnomasticosExistentes.Add("123456789", onomastico1);
            correspOnomasticosExistentes.Add("João Silva", onomastico2);
            correspGeograficosExistentes.Add("RROSAS", geografico);
        }
예제 #5
0
        private static DocumentoGisa GetNewDocumentoCompostoGisa(GISADataset.NivelRow nivelRow, List<long> IDNivelProdutores)
        {
            var di = new DocumentoGisa();
            di.Tipo = TipoEntidadeInterna.DocumentoComposto;
            di.Estado = TipoEstado.SemAlteracoes;
            di.Id = nivelRow.ID;
            di.Codigo = nivelRow.Codigo;
            di.Titulo = nivelRow.GetNivelDesignadoRows()[0].Designacao;

            var cadRowProdutores = IDNivelProdutores.SelectMany(i => GisaDataSetHelper.GetInstance().NivelControloAut.Cast<GISADataset.NivelControloAutRow>().Where(r => r.ID == i)).SelectMany(nca => nca.ControloAutRow.GetControloAutDicionarioRows());
            di.Produtores.AddRange(cadRowProdutores.Where(cad => cad.IDTipoControloAutForma == (long)TipoControloAutForma.FormaAutorizada).Select(cad => cad.DicionarioRow.Termo));

            var frdRow = nivelRow.GetFRDBaseRows().Single();
            var dpRow = frdRow.GetSFRDDatasProducaoRows().SingleOrDefault();
            if (dpRow != null && !(dpRow.InicioAno.Length == 0 || dpRow.InicioMes.Length == 0 || dpRow.InicioDia.Length == 0 || dpRow.FimAno.Length == 0 || dpRow.FimMes.Length == 0 || dpRow.FimDia.Length == 0))
                di.DataCriacao.AdicionaValorOriginal(new DataIncompleta(dpRow.InicioAno, dpRow.InicioMes, dpRow.InicioDia, dpRow.FimAno, dpRow.FimMes, dpRow.FimDia));

            return di;
        }
예제 #6
0
 internal CorrespondenciaDocs(DocumentoSimples de, DocumentoGisa di, TipoSugestao tipoSugestao)
     :base(de, di, tipoSugestao) { }
예제 #7
0
        private static DocumentoGisa GetNewDocumentoAnexoGisa(GISADataset.NivelRow nivelRow, List<long> docProds)
        {
            var di = new DocumentoGisa();
            di.Tipo = TipoEntidadeInterna.DocumentoSimples;
            di.Estado = TipoEstado.SemAlteracoes;
            di.Id = nivelRow.ID;
            di.Codigo = nivelRow.Codigo;
            di.Titulo = nivelRow.GetNivelDesignadoRows()[0].Designacao;       

            return di;
        }
예제 #8
0
        private static DocumentoGisa GetNewDocumentoGisa(GISADataset.NivelRow nivelRow, List<long> IDNivelProdutores)
        {
            var di = new DocumentoGisa();
            di.Tipo = TipoEntidadeInterna.DocumentoSimples;
            di.Estado = TipoEstado.SemAlteracoes;
            di.Id = nivelRow.ID;
            di.Codigo = nivelRow.Codigo;
            di.Titulo = nivelRow.GetNivelDesignadoRows()[0].Designacao;

            var frdRow = nivelRow.GetFRDBaseRows()[0];
            var codigoRow = GisaDataSetHelper.GetInstance().Codigo.Cast<GISADataset.CodigoRow>().Where( row => ((GISADataset.CodigoRow)row).Codigo.StartsWith("ne:", StringComparison.InvariantCultureIgnoreCase)).SingleOrDefault();
            if (codigoRow != null)
                di.NumeroEspecifico.AdicionaValorOriginal(codigoRow.Codigo);

            var dpRow = frdRow.GetSFRDDatasProducaoRows().SingleOrDefault();
            if (dpRow != null && !(dpRow.InicioAno.Length == 0 || dpRow.InicioMes.Length == 0 || dpRow.InicioDia.Length == 0 || dpRow.FimAno.Length == 0 || dpRow.FimMes.Length == 0 || dpRow.FimDia.Length == 0))
                di.DataCriacao.AdicionaValorOriginal(new DataIncompleta(dpRow.InicioAno, dpRow.InicioMes, dpRow.InicioDia, dpRow.FimAno, dpRow.FimMes, dpRow.FimDia));

            // preencher com Tipologia e termos de indexação
            var cadRows = GisaDataSetHelper.GetInstance().FRDBase.Cast<GISADataset.FRDBaseRow>().Where(r => r.IDNivel == nivelRow.ID).SelectMany(frd => frd.GetIndexFRDCARows()).SelectMany(r => r.ControloAutRow.GetControloAutDicionarioRows());
            var onomasticos = cadRows.Where(cad => cad.ControloAutRow.IDTipoNoticiaAut == (long)TipoNoticiaAut.Onomastico && cad.IDTipoControloAutForma == (long)TipoControloAutForma.FormaAutorizada);
            var ideograficos = cadRows.Where(cad => cad.ControloAutRow.IDTipoNoticiaAut == (long)TipoNoticiaAut.Ideografico && cad.IDTipoControloAutForma == (long)TipoControloAutForma.FormaAutorizada);
            var geograficos = cadRows.Where(cad => cad.ControloAutRow.IDTipoNoticiaAut == (long)TipoNoticiaAut.ToponimicoGeografico && cad.IDTipoControloAutForma == (long)TipoControloAutForma.FormaAutorizada);
            var tipologia = cadRows.Where(cad => cad.ControloAutRow.IDTipoNoticiaAut == (long)TipoNoticiaAut.TipologiaInformacional && cad.IDTipoControloAutForma == (long)TipoControloAutForma.FormaAutorizada).ToList().SingleOrDefault();

            di.Onomasticos.AddRange(onomasticos.Select(cad => cad.DicionarioRow.Termo));
            di.Ideograficos.AddRange(ideograficos.Select(cad => cad.DicionarioRow.Termo));
            di.Toponimias.AddRange(geograficos.Select(cad => cad.DicionarioRow.Termo));

            if (tipologia != null)
                di.Tipologia = tipologia.DicionarioRow.Termo;

            var cadRowProdutores = IDNivelProdutores.SelectMany(i => GisaDataSetHelper.GetInstance().NivelControloAut.Cast<GISADataset.NivelControloAutRow>().Where(r => r.ID == i)).SelectMany(nca => nca.ControloAutRow.GetControloAutDicionarioRows());
            di.Produtores.AddRange(cadRowProdutores.Where(cad => cad.IDTipoControloAutForma == (long)TipoControloAutForma.FormaAutorizada).Select(cad => cad.DicionarioRow.Termo));

            return di;
        }
예제 #9
0
        public static void FillDocumentoGisa(DocumentoComposto de, DocumentoGisa di, TipoOpcao opcao)
        {
            di.DataCriacao.Escolhas[opcao] = new DataIncompleta(de.DataInicio, de.DataFim);
            di.DataCriacao.EstadoRelacaoPorOpcao[opcao] = di.DataCriacao.Escolhas.ContainsKey(TipoOpcao.Original) ? TipoEstado.Editar : TipoEstado.Novo;

            if (di.Id <= 0)
                di.TituloDoc.Escolhas[opcao] = de.Tipologia == null ? de.NUP : de.Tipologia.Titulo + " : " + de.NUP;

            di.Confidencialidade.Escolhas[opcao] = de.Confidencialidade;

            di.Requerentes.AddRange(de.RequerentesOuProprietariosIniciais.Select(r => new PropriedadeDocumentoGisaTemplate<string>() { Escolhas = new Dictionary<TipoOpcao, string>() { { opcao, r } } }).ToList());
            di.Averbamentos.AddRange(de.AverbamentosDeRequerenteOuProprietario.Select(a => new PropriedadeDocumentoGisaTemplate<string>() { Escolhas = new Dictionary<TipoOpcao, string>() { { opcao, a } } }).ToList());
        }
예제 #10
0
        public static void FillDocumentoGisa(DocumentoAnexo de, DocumentoGisa di, TipoOpcao opcao)
        {
            if (di.Id <= 0)
                di.TituloDoc.Escolhas[opcao] = de.TipoDescricao + (de.Processo.Tipologia.Equals(de.Assunto) ? "" : " : " + de.Assunto);
            di.Notas.Escolhas[opcao] = de.Descricao;
            di.Agrupador.Escolhas[opcao] = de.Processo.NUP + "; " + de.DocumentoSimples + "-" + de.NUD.Split('/').First();

            di.ObjDigitais.Add(new Model.EntidadesInternas.DocumentoGisa.ObjectosDigitais() { NomeFicheiro = de.Conteudos[0].Ficheiro, NUD = de.NUD, Tipo = (int)ResourceAccessType.DICAnexo, TipoDescricao = de.Conteudos[0].TipoDescricao });
        }
예제 #11
0
        public static void FillDocumentoGisa(DocumentoSimples de, DocumentoGisa di, TipoOpcao opcao)
        {
            di.NumeroEspecifico.Escolhas[opcao] = de.NumeroEspecifico;
            di.Agrupador.Escolhas[opcao] = de.Processo.NUP + "; " + de.NUD;

            di.DataCriacao.Escolhas[opcao] = new DataIncompleta(de.DataCriacao, de.DataCriacao);
            di.DataCriacao.EstadoRelacaoPorOpcao[opcao] = di.DataCriacao.Escolhas.ContainsKey(TipoOpcao.Original) ? TipoEstado.Editar : TipoEstado.Novo;

            string rest = (de.NumeroEspecifico == null || de.NumeroEspecifico.Length == 0) ? string.Empty : " " + de.NumeroEspecifico;
            if (di.Id <= 0)
                di.TituloDoc.Escolhas[opcao] = de.Tipologia.Titulo + (de.Processo.Tipologia.Titulo.Equals(de.Assunto) ? "" : " : " + de.Assunto);

            di.Notas.Escolhas[opcao] = de.Notas;
            
            if (de.Assunto != null && de.Assunto.Length > 0)
                di.Assunto.Escolhas[opcao] = "Assunto: " + de.Assunto;

            string CodPostalLoc = null;

            if (de.CodPostal != null && de.CodPostal.Length > 0)
                CodPostalLoc += "Código postal: " + de.CodPostal + "; ";
            if (de.Localidade != null && de.Localidade.Length > 0)
                CodPostalLoc += "Localidade: " + de.Localidade + "; ";

            if (CodPostalLoc != null) di.CodPostalLoc.Escolhas[opcao] = CodPostalLoc;

            string NumLocalRefPred = null;

            if (de.NumPolicia != null && de.NumPolicia.Length > 0)
                NumLocalRefPred += "Número polícia: " + de.NumPolicia + "; ";
            if (de.Local != null && de.Local.Length > 0)
                NumLocalRefPred += "Local: " + de.Local + "; ";
            if (de.RefPredial != null && de.RefPredial.Length > 0)
                NumLocalRefPred += "Referência predial: " + de.RefPredial + "; ";

            if (NumLocalRefPred != null) di.NumLocalRefPred.Escolhas[opcao] = NumLocalRefPred;

            di.ObjDigitais.AddRange(
                de.Conteudos.Select(
                    c => new Model.EntidadesInternas.DocumentoGisa.ObjectosDigitais()
                    {
                        NomeFicheiro = c.Ficheiro,
                        NUD = de.NUD,
                        TipoDescricao = c.TipoDescricao,
                        Tipo = (c.Ficheiro == null || c.Ficheiro.Length == 0 ?
                                (int)ResourceAccessType.DICConteudo :
                                (int)ResourceAccessType.DICAnexo)
                    }));
        }