public void Add(Unidade unidade)
        {
            var zap = this.FetchZapUnidade();

            if (unidade.Cidade != null) {
                unidade.CidadeId = unidade.Cidade.Id;
            }

            unidade.Hierarquia = zap.GetLevelHierarquia();

            this.Db.Insert(unidade);

            this.SetHierarquia(unidade.GetFullLevelHierarquia(), unidade.Unidades);

            var usuarioRepositorio = new UsuarioRepositorio();
            usuarioRepositorio.UpdateUnidade(unidade.Usuarios, unidade.Id);
        }
        public void Update(Unidade unidade)
        {
            if (unidade.Cidade != null)
            {
                unidade.CidadeId = unidade.Cidade.Id;
            }

            unidade.Hierarquia = this.Fetch(unidade.Id).Hierarquia;

            this.Db.Update(unidade);

            this.SetHierarquia(unidade.GetFullLevelHierarquia(), unidade.Unidades);

            var usuarioRepositorio = new UsuarioRepositorio();
            usuarioRepositorio.UpdateUnidade(unidade.Usuarios, unidade.Id);
        }