public ActionResult Create(ClienteCadastroViewModel dadosCliente)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    clienteBusinessModels iCliente = new clienteBusinessModels(bd);
                    var result = iCliente.CriarCliente(dadosCliente);

                    if (result.Item2)
                    {
                        return RedirectToAction("Entrar","Home", new { msg = "Agora é só entrar com a sua nova conta" });
                    }
                    else
                    {
                        ViewBag.Error = result.Item3;
                    }
                }

            }
            catch (Exception ex)
            {
                ViewBag.ErrorMsg = ex;
            }

            return PartialView("New", dadosCliente);
        }
        public ActionResult BuscarLocation(string nomeCidade, string nomeBairro)
        {
            var iLoja = new lojaBusinessModels(bd);
            var dadosBusca = new BuscaViewModel();
            var ibairro = new BairroRepository(bd);
            var iCliente = new clienteBusinessModels(bd);

            var _bairro = ibairro.ObterLojas(nomeCidade, nomeBairro);

            if (_bairro == null)
            {
                return PartialView("Busca", dadosBusca);
            }

            dadosBusca.Loja = iLoja.ObterPorBairro(_bairro.id).Take(20);

            dadosBusca.Cliente = iCliente.ObterClientePorBairro(_bairro.id).Take(20);

            if (dadosBusca.Cliente == null)
            {
                ViewBag.ClienteBuscaMsg = "Sem resultados";
            }
            if (dadosBusca.Loja == null)
            {
                ViewBag.LojaBuscaMsg = "Sem resultados";
            }

            return PartialView("Busca", dadosBusca);
        }
        public ActionResult Perfil(long idConta)
        {
            clienteBusinessModels iCliente = new clienteBusinessModels(bd);
            var cliente = iCliente.ObterPerfilPorConta(idConta);

            ViewBag.ImageWall = "../" + cliente.fotowall;
            ViewBag.ImagePerfil = "../" + cliente.fotoperfil;

            return View(cliente);
        }
        public ActionResult Logar(string username, string password, string msg)
        {
            UsuarioRepository iUsuario = new UsuarioRepository(bd);

            var usuario = iUsuario.ObterConta(username, password);

            var session = new UserSession();

            if (usuario.Item2)
            {
                if(usuario.Item3)
                {
                    clienteBusinessModels iCliente = new clienteBusinessModels(bd);

                    session.idConta = usuario.Item1.id;
                    var cliente = iCliente.ObterPerfilPorConta(session.idConta);
                    session.isCliente = true;
                    session.idCliente = cliente.id;
                    session.idConta = cliente.idUsername;
                    session.meuPerfil = "Cliente/Perfil/" + cliente.idUsername;
                    session.idBairro = cliente.idBairro;
                    session.nome = cliente.nome;
                    session.email = cliente.usuario.email;

                    Session["UserSession"] = session;
                    return RedirectToAction("Perfil", "Cliente", new { idConta = usuario.Item1.id });
                }
                else
                {
                    var iLoja = new lojaBusinessModels(bd);

                    session.idConta = usuario.Item1.id;
                    session.isCliente = false;
                    var loja = iLoja.ObterPerfilPorConta(session.idConta);
                    session.idConta = loja.idUsername;
                    session.idCliente = 0;
                    session.meuPerfil = "Loja/Perfil/" + loja.idUsername;
                    session.idBairro = loja.idBairro;
                    session.nome = loja.nome;
                    session.email = loja.usuario.email;

                    Session["UserSession"] = session;
                    return RedirectToAction("Perfil", "Loja", new { idConta = usuario.Item1.id });
                }
            }
            else
            {
                ViewBag.Login = usuario.Item4;
                return View("Entrar");
            }
        }
        public bool AtualizaPerfil(string cam, bool isCliente, bool isPerfil)
        {
            try
            {
                var session = Session["UserSession"] as UserSession;

                if (!isCliente)
                {
                    var iLoja = new lojaBusinessModels(bd);

                    var loja = iLoja.ObterPerfilPorConta(session.idConta);

                    if(isPerfil)
                    {
                        loja.fotoperfil = cam;
                    }
                    else
                    {
                        loja.fotowall = cam;
                    }

                    iLoja.Editar(loja, loja.id);
                    iLoja.Persistir();
                }
                else
                {
                    var iCliente = new clienteBusinessModels(bd);

                    var cliente = iCliente.ObterPerfilPorConta(session.idConta);

                    if (isPerfil)
                    {
                        cliente.fotoperfil = cam;
                    }
                    else
                    {
                        cliente.fotowall = cam;
                    }

                    iCliente.Editar(cliente, cliente.id);
                    iCliente.Persistir();
                }

                return true;
            }
            catch
            {
                return false;
            }
        }
        public ActionResult BuscarNome(string chave)
        {
            var iLoja = new lojaBusinessModels(bd);
            var dadosBusca = new BuscaViewModel();

            dadosBusca.Loja = iLoja.BuscaLoja(chave).Take(30);

            var iCliente = new clienteBusinessModels(bd);

            dadosBusca.Cliente = iCliente.BuscaCliente(chave).Take(20);

            if (dadosBusca.Cliente == null)
            {
                ViewBag.ClienteBuscaMsg = "Sem resultado";
            }
            if (dadosBusca.Loja == null)
            {
                ViewBag.LojaBuscaMsg = "Sem resultado";
            }
            return PartialView("Busca",dadosBusca);
        }