public async Task<ActionResult> Salvar(UsuarioVM model)
        {
            var userId = User.Identity.GetUserId();
            var user = await UserManager.FindByIdAsync(userId);
            int prefeituraID = (int)(user.TBUsuario.PrefeituraID);

            var novo = model.Id == 0;

            model.prefeituraID = prefeituraID;

            if (ModelState.IsValid)
            {

                var result = await _usuarioApp.SalvarAsync(UserManager, user, model);
                if (!result.Any())
                {
                    TempData["Avis.Salvar"] = "Usuário salvo com sucesso!";
                    if (novo)
                    {
                        TempData["Avis.EmailEnviado"] = "Mensagem enviada para e-mail cadastrado";
                    }
                    return RedirectToAction("Index", new { id = "" });
                }
                foreach (var item in result)
                {
                    if (ModelState.ContainsKey(item.Key))
                    {
                        ModelState[item.Key] = item.Value;
                    }
                    else
                    {
                        ModelState.Add(item);
                    }
                }

            }

            return View("Index", model);

        }
        public async Task<ActionResult> Excluir(UsuarioVM model)
        {
            var userId = User.Identity.GetUserId();
            var user = await UserManager.FindByIdAsync(userId);
            int prefeituraID = (int)(user.TBUsuario.PrefeituraID);

            var result = await _usuarioApp.Excluir(UserManager, user, model.Id);


            if (!result.Any())
            {
                TempData["Avis.Excluido"] = "Usuário excluido com sucesso!";
                return RedirectToAction("Index", new { id = "" });
            }
            foreach (var item in result)
            {
                if (ModelState.ContainsKey(item.Key))
                {
                    ModelState[item.Key] = item.Value;
                }
                else
                {
                    ModelState.Add(item);
                }
            }
            return View("Index", model);
        }
        public static void ToModel(ref TBUsuario usuario, UsuarioVM model)
        {
            if (usuario == null)
            {
                usuario = new TBUsuario();
            }
            ;
            usuario.usuarioID = model.Id;
            usuario.nmUsuario = model.NomeUsuario;
            usuario.Email = model.Email;
            usuario.Cargo = model.Cargo;
            usuario.CPF = model.CPF;
            usuario.matricula = model.matricula;
            usuario.Telefone = model.Telefone;
            usuario.Celular = model.Celular;
            usuario.bAtivo = true;
            usuario.PrefeituraID = model.prefeituraID;
            usuario.TBEndereco = EnderecoVM.ToModel(model.Endereco);

            usuario.EnderecoID = usuario.TBEndereco.EnderecoID;
        }