Esempio n. 1
0
        // GET api/entidade/getdependentsbycodigo?codigo=AC1000200000010100
        public List <EntidadeBO> GetDependentsByCodigo(string codigo, string designacao)
        {
            using (EstruturaAPEntities entities = new EstruturaAPEntities())
            {
                List <EntidadeBO> toReturn  = null;
                Estrutura         estrutura = entities.Estrutura.Where(est => est.CodEstrutura == codigo).FirstOrDefault();
                if (estrutura != null)
                {
                    List <Estrutura> dependentes = entities.Estrutura.Where(est => est.Depende == estrutura.CodEstruturaInterno).ToList();
                    toReturn = new List <EntidadeBO>();
                    foreach (Estrutura item in dependentes)
                    {
                        Entidade   entidade    = entities.Entidade.Where(ent => ent.CodEntidade == item.CodEntidade).FirstOrDefault();
                        EntidadeBO newEntidade = new EntidadeBO()
                        {
                            CodEntidade         = item.CodEntidade,
                            CodEstrutura        = item.CodEstrutura,
                            CodEstruturaInterno = item.CodEstruturaInterno,
                            Designacao          = entidade.Designacao,
                            Sigla      = entidade.Sigla,
                            Supervisor = estrutura.Supervisor.CodEstruturaInterno
                        };

                        toReturn.Add(newEntidade);
                    }
                }
                return(toReturn);
            }
        }
Esempio n. 2
0
        private static EntidadeBO createEntidadeBO(EstruturaAPEntities entities, Estrutura estrutura)
        {
            EntidadeBO elementToReturn = new EntidadeBO();

            elementToReturn.CodEstrutura = estrutura.CodEstrutura;
            Entidade entidade = entities.Entidade.Where(ent => ent.CodEntidade == estrutura.CodEntidade && ent.Ativo).FirstOrDefault();

            if (estrutura != null)
            {
                elementToReturn.CodEstrutura        = estrutura.CodEstrutura;
                elementToReturn.CodEstruturaInterno = estrutura.CodEstruturaInterno;
            }
            else
            {
                elementToReturn.CodEstrutura = null;
            }

            if (entidade != null)
            {
                elementToReturn.Designacao = entidade.Designacao;
                elementToReturn.Sigla      = entidade.Sigla;
            }
            elementToReturn.Supervisor = (from est in entities.Estrutura
                                          where est.CodEntidade == estrutura.CodEntidade
                                          select est.CodEstruturaInterno).FirstOrDefault();

            return(elementToReturn);
        }
Esempio n. 3
0
        // GET api/entidade/getall
        public IEnumerable <EntidadeBO> GetAll()
        {
            IList <EntidadeBO> toReturn = new List <EntidadeBO>();

            using (EstruturaAPEntities entities = new EstruturaAPEntities())
            {
                foreach (Estrutura estrutura in entities.Estrutura)
                {
                    EntidadeBO elementToReturn = createEntidadeBO(entities, estrutura);
                    toReturn.Add(elementToReturn);
                }
            }
            return(toReturn);
        }
Esempio n. 4
0
        public EntidadeNode getArvore(string codigo, string designacao)
        {
            EntidadeNode toReturn = null;

            using (EstruturaAPEntities entities = new EstruturaAPEntities())
            {
                Estrutura root = null;
                if (string.IsNullOrEmpty(codigo) && string.IsNullOrEmpty(designacao))
                {
                    root = entities.Estrutura.Where(est => est.Depende == null).FirstOrDefault();
                }
                else if (string.IsNullOrEmpty(codigo))
                {
                    root = entities.Estrutura.Where(est => est.Entidade.Designacao.Contains(designacao)).FirstOrDefault();
                }
                else
                {
                    root = entities.Estrutura.Where(est => est.CodEstrutura.Contains(codigo)).FirstOrDefault();
                }

                if (root != null)
                {
                    toReturn = new EntidadeNode()
                    {
                        CodEntidade         = root.CodEntidade,
                        CodEstrutura        = root.CodEstrutura,
                        CodEstruturaInterno = root.CodEstruturaInterno,
                        Designacao          = root.Entidade?.Designacao,
                        Sigla      = root.Entidade?.Sigla,
                        Supervisor = root.Supervisor?.CodEstruturaInterno,
                        children   = null
                    };

                    if (root.Dependentes != null && root.Dependentes.Count() > 0)
                    {
                        toReturn.children = new List <EntidadeNode>();
                        foreach (Estrutura item in root.Dependentes)
                        {
                            toReturn.children.Add(getArvore(item.CodEstrutura, null));
                        }
                    }
                    else
                    {
                        toReturn.children = null;
                    }
                }
            }
            return(toReturn);
        }
Esempio n. 5
0
 // GET api/entidade/getbycodigo?codigo=AC1000200000010100
 public EntidadeBO GetByCodigo(string codigo)
 {
     using (EstruturaAPEntities entities = new EstruturaAPEntities())
     {
         EntidadeBO toReturn  = null;
         Estrutura  estrutura = entities.Estrutura.Where(est => est.CodEstrutura == codigo).FirstOrDefault();
         if (estrutura != null)
         {
             Entidade entidade = entities.Entidade.Where(ent => ent.CodEntidade == estrutura.CodEntidade).FirstOrDefault();
             toReturn = new EntidadeBO()
             {
                 CodEntidade         = entidade.CodEntidade,
                 CodEstrutura        = estrutura.CodEstrutura,
                 CodEstruturaInterno = estrutura.CodEstruturaInterno,
                 Designacao          = entidade.Designacao,
                 Sigla      = entidade.Sigla,
                 Supervisor = estrutura.Supervisor.CodEstruturaInterno
             };
         }
         return(toReturn);
     }
 }