Esempio n. 1
0
        void SuggestionPickerRA_BrowseEntidadeInterna(object sender, ref EntidadeInterna ei, TipoEntidadeExterna tee, out bool cancel, out TipoEstado estado)
        {
            estado = TipoEstado.Novo;
            cancel = false;
            var rai = (RegistoAutoridadeInterno)ei;
            var tna = TipoEntidade.GetTipoNoticiaAut(tee);
            FormPickControloAut frmPick = new FormPickControloAut();
            frmPick.Text = "Notícia de autoridade - Pesquisar registo de autoridade";
            frmPick.caList.AllowedNoticiaAut(tna);
            frmPick.caList.ReloadList();

            if (frmPick.caList.Items.Count > 0)
                frmPick.caList.SelectItem(frmPick.caList.Items[0]);

            switch (frmPick.ShowDialog())
            {
                case DialogResult.OK:
                    var cadRow = (GISADataset.ControloAutDicionarioRow)frmPick.caList.SelectedItems[0].Tag;
                    switch (tna)
                    {
                        case TipoNoticiaAut.EntidadeProdutora:
                            var produtor = new Model.EntidadesInternas.Produtor();
                            var nRowCA = cadRow.ControloAutRow.GetNivelControloAutRows()[0].NivelRow;
                            produtor.Codigo = nRowCA.Codigo;
                            rai = produtor;
                            estado = Database.Database.IsProdutor(this.correspDocumento.EntidadeInterna.Id, nRowCA.ID) ? TipoEstado.SemAlteracoes : TipoEstado.Novo;
                            break;
                        case TipoNoticiaAut.Onomastico:
                            rai = new Model.EntidadesInternas.Onomastico();
                            estado = TipoEstado.Novo;
                            break;
                        case TipoNoticiaAut.Ideografico:
                            rai = new Model.EntidadesInternas.Ideografico();
                            estado = TipoEstado.Novo;
                            break;
                        case TipoNoticiaAut.ToponimicoGeografico:
                            rai = new Model.EntidadesInternas.Geografico();
                            estado = TipoEstado.Novo;
                            break;
                        case TipoNoticiaAut.TipologiaInformacional:
                            rai = new Model.EntidadesInternas.Tipologia();
                            if (this.Documento.Id > 0)
                            {
                                var nRow = GisaDataSetHelper.GetInstance().Nivel.Cast<GISADataset.NivelRow>().Single(r => r.ID == this.Documento.Id);
                                if (GisaDataSetHelper.GetInstance().IndexFRDCA.Cast<GISADataset.IndexFRDCARow>().SingleOrDefault(r => r.IDControloAut == cadRow.IDControloAut && r.IDFRDBase == nRow.GetFRDBaseRows()[0].ID) != null)
                                    estado = TipoEstado.SemAlteracoes;
                                else if (nRow.GetFRDBaseRows()[0].GetIndexFRDCARows().Select(r => r.ControloAutRow).Count(caRow => caRow.IDTipoNoticiaAut == (long)TipoNoticiaAut.TipologiaInformacional) > 0)
                                    estado = TipoEstado.Editar;
                                else
                                    estado = TipoEstado.Novo;
                            }
                            break;
                    }
                    rai.Titulo = cadRow.DicionarioRow.Termo;
                    rai.Estado = TipoEstado.SemAlteracoes;
                    rai.Id = cadRow.IDControloAut;
                    ei = rai;
                    break;
                case DialogResult.Cancel:
                    cancel = true;
                    break;
            }
        }
        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);
        }
Esempio n. 3
0
        void SuggestionPickerRA_CreateEntidadeInterna(object sender, ref EntidadeInterna ei, TipoEntidadeExterna tee, out bool cancel, out TipoEstado estado)
        {
            estado = TipoEstado.Novo;
            cancel = false;
            FormCreateControloAut form = null;
            var rai = (RegistoAutoridadeInterno)ei;
            var tna = TipoEntidade.GetTipoNoticiaAut(tee);
            if (tna == TipoNoticiaAut.EntidadeProdutora)
                form = new FormCreateEntidadeProdutora();
            else
                form = new FormCreateControloAut();

            if (tna == TipoNoticiaAut.Onomastico)
            {
                form.SetOptionalControlsVisible(true);
                form.NIF = ei != null ? ((Model.EntidadesInternas.Onomastico)ei).Codigo : "";
            }

            GISADataset.TipoNoticiaAutRow allNoticiaAut = null;
            allNoticiaAut = GisaDataSetHelper.GetInstance().TipoNoticiaAut.NewTipoNoticiaAutRow();
            allNoticiaAut.ID = -1;
            allNoticiaAut.Designacao = "<Todos>";

            List<GISADataset.TipoNoticiaAutRow> rows = new List<GISADataset.TipoNoticiaAutRow>();
            rows.Add(allNoticiaAut);
            rows.AddRange(GisaDataSetHelper.GetInstance().TipoNoticiaAut.Cast<GISADataset.TipoNoticiaAutRow>().Where(r => r.ID == (long)tna));

            form.cbNoticiaAut.BeginUpdate();
            form.cbNoticiaAut.DataSource = rows;
            form.cbNoticiaAut.DisplayMember = "Designacao";
            form.cbNoticiaAut.EndUpdate();
            if (form.cbNoticiaAut.Items.Count == 2)
            {
                form.cbNoticiaAut.SelectedIndex = 1;
                form.cbNoticiaAut.Enabled = false;
            }
            form.LoadData(true);

            switch (form.ShowDialog())
            {
                case DialogResult.OK:
                    var termo = form.ListTermos.ValidAuthorizedForm.Replace("'", "''");
                    switch (tna)
                    {
                        case TipoNoticiaAut.EntidadeProdutora:
                            var produtor = new Model.EntidadesInternas.Produtor();
                            produtor.Codigo = ((FormCreateEntidadeProdutora)form).txtCodigo.Text;
                            estado = TipoEstado.Novo;
                            rai = produtor;
                            break;
                        case TipoNoticiaAut.Onomastico:
                            rai = new Model.EntidadesInternas.Onomastico();
                            ((Model.EntidadesInternas.Onomastico)rai).Codigo = form.NIF;
                            estado = TipoEstado.Novo;
                            break;
                        case TipoNoticiaAut.Ideografico:
                            rai = new Model.EntidadesInternas.Ideografico();
                            estado = TipoEstado.Novo;
                            break;
                        case TipoNoticiaAut.ToponimicoGeografico:
                            rai = new Model.EntidadesInternas.Geografico();
                            estado = TipoEstado.Novo;
                            break;
                        case TipoNoticiaAut.TipologiaInformacional:
                            rai = new Model.EntidadesInternas.Tipologia();
                            var tipOriginal = this.correspDocumento.CorrespondenciasRAs.Where(cRa => cRa.GetEntidadeInterna(TipoOpcao.Original) != null && cRa.EntidadeInterna.GetType() == typeof(Model.EntidadesInternas.Tipologia)).SingleOrDefault();
                            estado = tipOriginal != null ? TipoEstado.Editar : TipoEstado.Novo;
                            break;
                    }
                    rai.Titulo = termo;
                    rai.Estado = TipoEstado.Novo;
                    ei = this.InternalEntitiesLst.AddInternalEntity(rai);
                    break;
                case DialogResult.Cancel:
                    cancel = true;
                    break;
            }
        }
        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);
        }
        void suggestionPickerRA_BrowseEntidadeInterna(object sender, ref EntidadeInterna ei, TipoEntidadeExterna tee, out bool cancel, out TipoEstado estado)
        {
            estado = TipoEstado.Novo;
            cancel = false;
            var rai = (RegistoAutoridadeInterno)ei;
            var tna = TipoEntidade.GetTipoNoticiaAut(tee);
            FormPickControloAut frmPick = new FormPickControloAut();

            frmPick.Text = "Notícia de autoridade - Pesquisar registo de autoridade";
            frmPick.caList.AllowedNoticiaAut(tna);
            frmPick.caList.ReloadList();

            if (frmPick.caList.Items.Count > 0)
            {
                frmPick.caList.SelectItem(frmPick.caList.Items[0]);
            }

            switch (frmPick.ShowDialog())
            {
            case DialogResult.OK:
                var cadRow = (GISADataset.ControloAutDicionarioRow)frmPick.caList.SelectedItems[0].Tag;
                switch (tna)
                {
                case TipoNoticiaAut.EntidadeProdutora:
                    var produtor = new Model.EntidadesInternas.Produtor();
                    var nRowCA   = cadRow.ControloAutRow.GetNivelControloAutRows()[0].NivelRow;
                    produtor.Codigo = nRowCA.Codigo;
                    rai             = produtor;
                    estado          = Database.Database.IsProdutor(this.correspDocumento.EntidadeInterna.Id, nRowCA.ID) ? TipoEstado.SemAlteracoes : TipoEstado.Novo;
                    break;

                case TipoNoticiaAut.Onomastico:
                    rai = new Model.EntidadesInternas.Onomastico();
                    break;

                case TipoNoticiaAut.Ideografico:
                    rai = new Model.EntidadesInternas.Ideografico();
                    break;

                case TipoNoticiaAut.ToponimicoGeografico:
                    rai = new Model.EntidadesInternas.Geografico();
                    break;

                case TipoNoticiaAut.TipologiaInformacional:
                    rai = new Model.EntidadesInternas.Tipologia();
                    if (this.Documento.Id > 0)
                    {
                        var nRow = GisaDataSetHelper.GetInstance().Nivel.Cast <GISADataset.NivelRow>().Single(r => r.ID == this.Documento.Id);
                        if (GisaDataSetHelper.GetInstance().IndexFRDCA.Cast <GISADataset.IndexFRDCARow>().SingleOrDefault(r => r.IDControloAut == cadRow.IDControloAut && r.IDFRDBase == nRow.GetFRDBaseRows()[0].ID) != null)
                        {
                            estado = TipoEstado.SemAlteracoes;
                        }
                        else if (nRow.GetFRDBaseRows()[0].GetIndexFRDCARows().Select(r => r.ControloAutRow).Count(caRow => caRow.IDTipoNoticiaAut == (long)TipoNoticiaAut.TipologiaInformacional) > 0)
                        {
                            estado = TipoEstado.Editar;
                        }
                        else
                        {
                            estado = TipoEstado.Novo;
                        }
                    }
                    break;
                }
                rai.Titulo = cadRow.DicionarioRow.Termo;
                rai.Estado = TipoEstado.SemAlteracoes;
                rai.Id     = cadRow.IDControloAut;
                ei         = rai;
                break;

            case DialogResult.Cancel:
                cancel = true;
                break;
            }
        }
        void suggestionPickerRA_CreateEntidadeInterna(object sender, ref EntidadeInterna ei, TipoEntidadeExterna tee, out bool cancel, out TipoEstado estado)
        {
            cancel = false;
            estado = TipoEstado.Novo;
            FormCreateControloAut form = null;
            var rai = (RegistoAutoridadeInterno)ei;
            var tna = TipoEntidade.GetTipoNoticiaAut(tee);

            if (tna == TipoNoticiaAut.EntidadeProdutora)
            {
                form = new FormCreateEntidadeProdutora();
            }
            else
            {
                form = new FormCreateControloAut();
            }

            if (tna == TipoNoticiaAut.Onomastico)
            {
                form.SetOptionalControlsVisible(true);
                form.NIF = ei != null ? ((Model.EntidadesInternas.Onomastico)ei).Codigo : "";
            }

            GISADataset.TipoNoticiaAutRow allNoticiaAut = null;
            allNoticiaAut            = GisaDataSetHelper.GetInstance().TipoNoticiaAut.NewTipoNoticiaAutRow();
            allNoticiaAut.ID         = -1;
            allNoticiaAut.Designacao = "<Todos>";

            List <GISADataset.TipoNoticiaAutRow> rows = new List <GISADataset.TipoNoticiaAutRow>();

            rows.Add(allNoticiaAut);
            rows.AddRange(GisaDataSetHelper.GetInstance().TipoNoticiaAut.Cast <GISADataset.TipoNoticiaAutRow>().Where(r => r.ID == (long)tna));

            form.cbNoticiaAut.BeginUpdate();
            form.cbNoticiaAut.DataSource    = rows;
            form.cbNoticiaAut.DisplayMember = "Designacao";
            form.cbNoticiaAut.EndUpdate();
            if (form.cbNoticiaAut.Items.Count == 2)
            {
                form.cbNoticiaAut.SelectedIndex = 1;
                form.cbNoticiaAut.Enabled       = false;
            }
            form.LoadData(true);

            switch (form.ShowDialog())
            {
            case DialogResult.OK:
                var termo = form.ListTermos.ValidAuthorizedForm.Replace("'", "''");
                switch (tna)
                {
                case TipoNoticiaAut.EntidadeProdutora:
                    var produtor = new Model.EntidadesInternas.Produtor();
                    produtor.Codigo = ((FormCreateEntidadeProdutora)form).txtCodigo.Text;
                    rai             = produtor;
                    break;

                case TipoNoticiaAut.Onomastico:
                    rai = new Model.EntidadesInternas.Onomastico();
                    ((Model.EntidadesInternas.Onomastico)rai).Codigo = form.NIF;
                    break;

                case TipoNoticiaAut.Ideografico:
                    rai = new Model.EntidadesInternas.Ideografico();
                    break;

                case TipoNoticiaAut.ToponimicoGeografico:
                    rai = new Model.EntidadesInternas.Geografico();
                    break;

                case TipoNoticiaAut.TipologiaInformacional:
                    rai = new Model.EntidadesInternas.Tipologia();
                    break;
                }
                rai.Titulo = termo;
                rai.Estado = TipoEstado.Novo;
                ei         = this.InternalEntitiesLst.AddInternalEntity(rai);
                break;

            case DialogResult.Cancel:
                cancel = true;
                break;
            }
        }
Esempio n. 7
0
 internal static RegistoAutoridadeInterno CreateRegistoAutoridadeInterno(GISADataset.ControloAutRow caRow)
 {
     RegistoAutoridadeInterno rai = null;
     switch (caRow.IDTipoNoticiaAut)
     {
         case (long)TipoNoticiaAut.EntidadeProdutora:
             var produtor = new Model.EntidadesInternas.Produtor();
             produtor.Codigo = caRow.GetNivelControloAutRows()[0].NivelRow.Codigo;
             rai = produtor;
             break;
         case (long)TipoNoticiaAut.TipologiaInformacional:
             var tipologia = new Model.EntidadesInternas.Tipologia();
             rai = tipologia;
             break;
         case (long)TipoNoticiaAut.Onomastico:
             var onomastico = new Model.EntidadesInternas.Onomastico();
             if (!caRow.IsChaveColectividadeNull())
                 onomastico.Codigo = caRow.ChaveColectividade;
             rai = onomastico;
             break;
         case (long)TipoNoticiaAut.Ideografico:
             var ideografico = new Model.EntidadesInternas.Ideografico();
             rai = ideografico;
             break;
         case (long)TipoNoticiaAut.ToponimicoGeografico:
             var geografico = new Model.EntidadesInternas.Geografico();
             rai = geografico;
             break;
     }
     rai.Id = caRow.ID;
     rai.Titulo = caRow.GetControloAutDicionarioRows().Where(cad => cad.IDTipoControloAutForma == (long)TipoControloAutForma.FormaAutorizada).Single().DicionarioRow.Termo;
     return rai;
 }