public ActionResult Create([Bind(Include = "CodPessoa,Login,Senha,")] Usuario usr)
        {
            UsuarioBLL BLL = new UsuarioBLL();
            List<Usuario> ListUser = BLL.ListofUser(null, null, usr.Login);
            if (ListUser.Count > 0)
            {
                TempData["Usuario"] = "Failure";
                TempData["Message"] = "Já existe um usuário com esse login!";
                ViewBag.codPessoa = new SelectList(db.TBT_PESSOA.Where(x => tipoPessoa.Contains(x.CodTipoPessoa)).OrderBy(x => x.Nome), "CodPessoa", "Nome", usr.CodPessoa);
                return View("Create", usr);
            }

            decimal? newID = BLL.UserCreate(usr);
            if (newID == null)
            {
                TempData["Usuario"] = "Failure";
                TempData["Message"] = "Ocorreu um erro ao tentar criar o novo usuário!";
                ViewBag.codPessoa = new SelectList(db.TBT_PESSOA.Where(x => tipoPessoa.Contains(x.CodTipoPessoa)).OrderBy(x => x.Nome), "CodPessoa", "Nome", usr.CodPessoa);
                return View("Create", usr);
            }
            else
            {
                TempData["Usuario"] = "Success";
                TempData["Message"] = "Usuário criado com sucesso!";
                return RedirectToAction("Index");
            }
        }
 // GET: TBT_USER/Edit/5
 public ActionResult Edit(decimal id)
 {
     UsuarioBLL BLL = new UsuarioBLL();
     Usuario tBT_USER = BLL.GetUser(id);
     if (tBT_USER == null)
     {
         return HttpNotFound();
     }
     ComboStatus(tBT_USER.Ativo);
     ViewBag.codPessoa = new SelectList(db.TBT_PESSOA.Where(x => tipoPessoa.Contains(x.CodTipoPessoa)).OrderBy(x => x.Nome), "CodPessoa", "Nome", tBT_USER.CodPessoa);
     return View(tBT_USER);
 }
        public ActionResult Index()
        {
            ComboStatus();
            UsuarioBLL BLL = new UsuarioBLL();

            var ListofUser = BLL.ListofUser();

            return View(ListofUser);
        }
        public ActionResult Pesquisa([Bind(Include = "TxtNomePessoa, Status, TxtLogin")] string TxtNomePessoa, decimal? Status, string TxtLogin)
        {
            ComboStatus();
            UsuarioBLL BLL = new UsuarioBLL();

            var ListofUser = BLL.ListofUser(TxtNomePessoa, Status, TxtLogin);

            return PartialView("_PartialUserSearch", ListofUser);
        }
        public ActionResult Edit([Bind(Include = "Status, CodUsuario,CodPessoa,Login,Senha")]int Status, Usuario usr)
        {
            UsuarioBLL BLL = new UsuarioBLL();
            if (Status == 1)
            {
                usr.Ativo = true;
            }
            else
            {
                usr.Ativo = false;
            }

            bool LoginOk = true;
            var ListofUser = BLL.ListofUser(null, null, usr.Login);

            foreach (Usuario u in ListofUser)
            {
                if (u.CodUsuario != usr.CodUsuario)
                    LoginOk = false;
            }

            if (!LoginOk)
            {
                ViewBag.codPessoa = new SelectList(db.TBT_PESSOA.Where(x => tipoPessoa.Contains(x.CodTipoPessoa)).OrderBy(x => x.Nome), "CodPessoa", "Nome", usr.CodPessoa);
                TempData["Usuario"] = "Failure";
                TempData["Message"] = "Login novo é inválido, já existe um usuário utilizando-o!";
                return View(usr);
            }

            if (ModelState.IsValid)
            {
                bool EditOk = BLL.UserEdit(usr);
                if (EditOk)
                {
                    TempData["Usuario"] = "Success";
                    TempData["Message"] = "Usuário editado com sucesso!";
                    return RedirectToAction("Index");
                }
                else
                {
                    TempData["Usuario"] = "Failure";
                    TempData["Message"] = "Ocorreu um erro ao tentar salvar o usuário!";
                    ViewBag.codPessoa = new SelectList(db.TBT_PESSOA.Where(x => tipoPessoa.Contains(x.CodTipoPessoa)).OrderBy(x => x.Nome), "CodPessoa", "Nome", usr.CodPessoa);
                    return View(usr);
                }
            }
            else
            {
                TempData["Usuario"] = "Failure";
                TempData["Message"] = "Ocorreu um erro ao tentar salvar o usuário!";
                ViewBag.codPessoa = new SelectList(db.TBT_PESSOA.Where(x => tipoPessoa.Contains(x.CodTipoPessoa)).OrderBy(x => x.Nome), "CodPessoa", "Nome", usr.CodPessoa);
                return View(usr);
            }
        }