private bool HaEntidadeAqui(float x, float y, TipoEntidade tipo)
        {
            /* Indica se há alguma entidade naquela posição */

            // Dependendo do tipo de entidade, pode retornar que não há entidades ali
            // Entidades do mesmo tipo não podem ser sobrepostas, mas de tipos diferentes podem
            if (tipo == TipoEntidade.Intangivel)
            {
                foreach (Entidade entidade in EntidadesIntangiveis)
                {
                    if (entidade.ESprite.Position.X == x && entidade.ESprite.Position.Y == y)
                    {
                        return(true);
                    }
                }
            }
            else
            {
                foreach (Entidade entidade in EntidadesTangiveis)
                {
                    if (entidade.ESprite.Position.X == x && entidade.ESprite.Position.Y == y)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Exemple #2
0
        void correspondenciaSuggestionPicker1_SelectedOptionChanged()
        {
            if (this.lvCorrepondencias.SelectedItems.Count != 1)
            {
                return;
            }

            this.lvCorrepondencias.BeginUpdate();
            var item    = this.lvCorrepondencias.SelectedItems[0];
            var corresp = item.Tag as Correspondencia;

            if (corresp.EntidadeInterna != null)
            {
                var newIcon = IconsHelper.Instance.GetIcon(TipoEntidade.GetTipoEntidadeInterna(corresp.EntidadeExterna.Tipo), corresp.EntidadeInterna.Estado, corresp.TipoOpcao, corresp.EstadoRelacaoPorOpcao[corresp.TipoOpcao]);
                item.SubItems[chDesignacao.Index].Text = corresp.EntidadeInterna.Titulo;
                this.lvCorrepondencias.SmallImageList.Images[item.ImageIndex] = newIcon;
            }
            else
            {
                item.SubItems[chDesignacao.Index].Text = "<<Ignorar>>";
                this.lvCorrepondencias.SmallImageList.Images[item.ImageIndex] = new Bitmap(16, 16);
            }

            this.lvCorrepondencias.EndUpdate();
        }
        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.D))
                {
                    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;
            }
        }
        public Armadilha(Sprite sprite, TipoEntidade tipo, TipoArmadilha tipoArmadilha, int posicaoSpriteX, int posicaoSpriteY) :
            base(sprite, tipo, posicaoSpriteX, posicaoSpriteY)
        {
            /* Inicializa suas propriedades e cria o retângulo 'rect' */

            // Inicializa suas propriedades
            TempoInicial        = 0;
            TempoEntreAtivacoes = 0;

            // Caso a armadilha seja um atirador, seu TempoAtivo recebe -1 para indicar que essa propriedade não está disponível
            if (tipoArmadilha == TipoArmadilha.Espinhos)
            {
                TempoAtivo = 0;
            }
            else
            {
                TempoAtivo = -1;
            }

            TipoA       = tipoArmadilha;
            Selecionado = false;

            // Cria o retângulo que envolve a armadilha
            rect                  = new RectangleShape(new Vector2f(16, 16));
            rect.Position         = ESprite.Position;
            rect.OutlineThickness = 1;
            rect.OutlineColor     = Color.Cyan;
            rect.FillColor        = Color.Transparent;
            rect.Origin           = new Vector2f(8, 8);
        }
Exemple #5
0
        public Entidade(Sprite sprite, TipoEntidade tipo, int posicaoSpriteX, int posicaoSpriteY)
        {
            /* Inicializa seus atributos */

            ESprite       = sprite;
            Excluir       = false;
            Tipo          = tipo;
            posicaoSprite = new Vector2i(posicaoSpriteX, posicaoSpriteY);
        }
Exemple #6
0
        public Escada(Sprite sprite, TipoEntidade tipo, int posicaoSpriteX, int posicaoSpriteY) :
            base(sprite, tipo, posicaoSpriteX, posicaoSpriteY)
        {
            /* Inicializa EscadaCon com null, indicando que não há uma conexão e cria o retângulo 'rect' */

            EscadaCon             = null;
            rect                  = new RectangleShape(new Vector2f(16, 16));
            rect.Position         = ESprite.Position;
            rect.OutlineThickness = 1;
            rect.OutlineColor     = Color.Green;
            rect.FillColor        = Color.Transparent;
            rect.Origin           = new Vector2f(8, 8);
        }
        public Mecanismo(Sprite sprite, TipoEntidade tipo, int posicaoSpriteX, int posicaoSpriteY) :
            base(sprite, tipo, posicaoSpriteX, posicaoSpriteY)
        {
            /* Inicializa variáveis e cria o retângulo que irá ser desenhado quando o mecanismo for selecionado */

            armadilhas  = new List <Armadilha>();
            Selecionado = false;

            rect                  = new RectangleShape(new Vector2f(16, 16));
            rect.Position         = ESprite.Position;
            rect.OutlineThickness = 1;
            rect.OutlineColor     = Color.Red;
            rect.FillColor        = Color.Transparent;
            rect.Origin           = new Vector2f(8, 8);
        }
        private int Fn_find_NovoCodigoByNome(string nome, int topologiaId, ref string codigo)
        {
            int    tipoEntidadeId;
            string prefixo, novoCodigo = string.Empty;

            TipoEntidade tipoentidade = _unitOfw.TipoEntidadeRepository.Get(y => y.Nome == nome).FirstOrDefault();

            tipoEntidadeId = tipoentidade.Id;
            prefixo        = tipoentidade.Prefixo;

            if (!string.IsNullOrEmpty(prefixo))
            {
                novoCodigo = _unitOfw.Fn_get_CodigoByTipoEntidadeId(tipoEntidadeId, topologiaId, prefixo);
            }

            codigo = novoCodigo;
            return(tipoEntidadeId);
        }
Exemple #9
0
        internal void UpdateList()
        {
            Clear();
            imageList1.Images.Clear();
            this.cbOptions.ImageIndexes.Clear();
            this.Enabled = false;

            if (this.mCorrespondencia == null)
            {
                return;
            }

            foreach (TipoOpcao op in Enum.GetValues(typeof(TipoOpcao)))
            {
                var ei = this.Correspondencia.GetEntidadeInterna(op);
                if (ei == null || this.cbOptions.Items.Contains(ei))
                {
                    continue;
                }

                this.cbOptions.Items.Add(ei);

                var tipoEntidade = TipoEntidade.GetTipoEntidadeInterna(this.Correspondencia.EntidadeExterna.Tipo);
                if (IsIconComposed)
                {
                    imageList1.Images.Add(IconsHelper.Instance.GetIcon(tipoEntidade, ei.Estado, op, this.Correspondencia.EstadoRelacaoPorOpcao[op]));
                }
                else
                {
                    imageList1.Images.Add(IconsHelper.Instance.GetIcon(tipoEntidade, ei.Estado, op));
                }

                this.cbOptions.ImageIndexes.Add(imageList1.Images.Count - 1);
            }

            if (this.cbOptions.Items.Count == 0)
            {
                return;
            }

            this.Enabled = true;
            this.cbOptions.Items.AddRange(Options.ToArray());
        }
        private bool LerDados()
        {
            var identificacao = LerString($"Informe o {TipoIdentificador}");

            if (BuscarEntidade(identificacao) != null)
            {
                AguardarTecla($"{TipoIdentificador} informado ja esta cadastrado!", ConsoleColor.DarkRed);
                return(false);
            }
            var entidade = LerDadosEntidade();

            if (TipoEntidade.Equals(EnumTipoEntidade.Animal))
            {
                var novoAnimal = new Animal(identificacao, entidade);
                Entidades.Add(novoAnimal);
            }
            else
            {
                var novoCliente = new Cliente(identificacao, entidade);
                LerDadosCliente(novoCliente);
                Entidades.Add(novoCliente);
            }
            return(true);
        }
Exemple #11
0
        internal protected virtual void UpdateList()
        {
            Clear();
            this.Enabled = false;

            if (this.mLstCorrespondencia == null || this.mLstCorrespondencia.Count == 0)
            {
                return;
            }

            this.Enabled = true;
            this.lvCorrepondencias.SmallImageList           = new ImageList();
            this.lvCorrepondencias.SmallImageList.ImageSize = new Size(IconsHelper.ComposedIconWidth, 16);
            this.lvCorrepondencias.SmallImageList.Images.AddRange(this.mLstCorrespondencia.Select(c => c.TipoOpcao == TipoOpcao.Ignorar ? new Bitmap(16, 16) : IconsHelper.Instance.GetIcon(TipoEntidade.GetTipoEntidadeInterna(c.EntidadeExterna.Tipo), c.EntidadeInterna.Estado, c.TipoOpcao, c.EstadoRelacaoPorOpcao[c.TipoOpcao])).ToArray());

            int counter = 1;

            this.lvCorrepondencias.Items.AddRange(this.mLstCorrespondencia.Select(c => new ListViewItem(new string[] { (counter++).ToString(), c.TipoOpcao == TipoOpcao.Ignorar ? "<<Ignorar>>" : c.EntidadeInterna.Titulo }, counter - 2)
            {
                Tag = c
            }).ToArray());
        }
Exemple #12
0
 public Dictionary <string, object> Selecionar(int id)
 {
     oTipoEntidade = new TipoEntidade(id, oDao);
     return(ClassFunctions.GetProperties(oTipoEntidade));
 }
Exemple #13
0
 public void PrepararInclusao()
 {
     oTipoEntidade = new TipoEntidade(oDao);
 }
        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;
            }
        }
Exemple #16
0
        protected internal override void UpdateList()
        {
            Clear();
            this.Enabled = false;

            if (this.mLstCorrespondencia == null || this.mLstCorrespondencia.Count == 0)
            {
                return;
            }

            this.Enabled = true;
            this.lvCorrepondencias.SmallImageList           = new ImageList();
            this.lvCorrepondencias.SmallImageList.ImageSize = new Size(IconsHelper.ComposedIconWidth, 16);
            this.lvCorrepondencias.SmallImageList.Images.AddRange(this.mLstCorrespondencia.Select(c => c.TipoOpcao == TipoOpcao.Ignorar ? new Bitmap(16, 16) : IconsHelper.Instance.GetIcon(TipoEntidade.GetTipoEntidadeInterna(c.EntidadeExterna.Tipo), c.EntidadeInterna.Estado, c.TipoOpcao, c.EstadoRelacaoPorOpcao[c.TipoOpcao])).ToArray());

            int counter = 1;
            var docExt  = this.CorrespondenciaDoc.EntidadeExterna as Model.EntidadesExternas.DocumentoComposto;

            this.lvCorrepondencias.Items.AddRange(
                this.mLstCorrespondencia.Select(c => new ListViewItem(new string[] {
                (counter++).ToString(),
                c.TipoOpcao == TipoOpcao.Ignorar ? "<<Ignorar>>" : c.EntidadeInterna.Titulo,
                docExt.LocalizacoesObraDesignacaoActual.SingleOrDefault(l => l.LocalizacaoObraDesignacaoActual.Equals((Model.EntidadesExternas.Geografico)c.EntidadeExterna)).NroPolicia
            }, counter - 2)
            {
                Tag = c
            }).ToArray());
        }