public JsonResult AjaxExcluir(string cpf_cnpj)
 {
     var Retorno = new Retorno();
     try
     {
         var cli = new Cliente()
         {
             TipoAcao = 3, //TipoAcao 3 é Exclusão
             CPF_CNPJ = Decimal.Parse(cpf_cnpj),
             idUsuarioAtual = UsuarioAtual.ID
         };
         var cliRet = new ClienteRepository();
         Retorno = cliRet.Incluir(cli);
         if (Retorno.CodigoRetorno < 0)
         {
             throw new Exception(Retorno.Mensagem);
         }
         //ViewBag.Msg = Retorno.Mensagem;
         TempData["Msg"] = Retorno.Mensagem;
         return Json(Retorno, JsonRequestBehavior.AllowGet);
     }
     catch (Exception ex)
     {
         //ViewBag.Error = ex.Message;
         //throw new Exception(ex.Message);
         return Json(Retorno, JsonRequestBehavior.AllowGet);
     }
 }
 public ActionResult Alterar(FormCollection frm)
 {
     try
     {
         var cli = new Cliente()
         {
             TipoAcao = 2,
             CPF_CNPJ = Decimal.Parse(frm["cpfcnpj"].ToString()),
             Descricao = frm["nome"].ToString(),
             Status = frm["status"]==null ? 0 : int.Parse(frm["status"].ToString()),
             QtdeUsuario = int.Parse(frm["qtdusu"].ToString()),
             EmailPrincipal = frm["email"].ToString(),
             idUsuarioAtual = UsuarioAtual.ID,
             IdServico = IdServico_Atual
         };
         var cliRet = new ClienteRepository();
         var Retorno = cliRet.Incluir(cli);
         if (Retorno.CodigoRetorno < 0)
         {
             throw new Exception(Retorno.Mensagem);
         }
         ViewBag.Msg = Retorno.Mensagem;
         TempData["Msg"] = Retorno.Mensagem;
         return RedirectToAction("Listar", new { msg = Retorno.Mensagem });
     }
     catch (Exception ex)
     {
         ViewBag.Error = ex.Message;
         TempData["Error"] = ex.Message;
         return View("Create");
         //throw new Exception(ex.Message);
     }
 }
        void ListaClienteServico(string idCliente, int idServico = 0)
        {
            var listaCliente = new ClienteRepository().ListaClientePorUsuario(Session["NomeUsuario"].ToString());
            //ViewBag.Teste = listaCliente;
            var listacli = new SelectList(
                            listaCliente.ToList(),
                            "ID",
                            "Descricao"
                        );
            ViewBag.ListaCliente = listacli;
            ViewBag.CodCliente = idCliente;
            ViewBag.idCliente = idCliente;
            ViewBag.idServico = idServico;
            var listaServico = new ClienteRepository().ListaServicoPorCliente(Session["NomeUsuario"].ToString(), idCliente);

            var lista = new SelectList(
                            listaServico.ToList(),
                            "ID",
                            "Descricao"
                        );

            var lista_tipo = new OcorrenciaRepository().ListaTipo();
            var listaTipo = new SelectList(lista_tipo, "Key", "Value");
            ViewBag.ListaTipo = listaTipo;

            ViewBag.ListaServico = lista;
        }
        void CarregarComboCliente()
        {
            var listaCliente = new ClienteRepository().ListaClientePorUsuario(Session["NomeUsuario"].ToString());

            var lista = new SelectList(
                            listaCliente.ToList(),
                            "ID",
                            "Descricao"
                        );
            ViewBag.ListaCliente = lista;
        }
        //Metodo somente para Listar Cliente,Servicos e Perfil [Não é um Controller]
        void ListaClienteServico(string idCliente, int idServico=0)
        {
            var listaCliente = new ClienteRepository().ListaClientePorUsuario(Session["NomeUsuario"].ToString());
            //ViewBag.Teste = listaCliente;
            var listacli = new SelectList(
                            listaCliente.ToList(),
                            "ID",
                            "Descricao"
                        );
            ViewBag.ListaCliente = listacli;
            ViewBag.CodCliente = idCliente;
            ViewBag.idCliente = idCliente;
            ViewBag.idServico = idServico;
            var listaServico = new ClienteRepository().ListaServicoPorCliente(Session["NomeUsuario"].ToString(), idCliente);

            var lista = new SelectList(
                            listaServico.ToList(),
                            "ID",
                            "Descricao"
                        );
            ViewBag.ListaServico = lista;

            //Lista Perfil
            var listaPerfil = new PerfilRepository().ListaPerfil(int.Parse(idCliente), idServico);
            var lista_perfil = new SelectList(
                            listaPerfil.ToList(),
                            "ID",
                            "Descricao"
                        );
            ViewBag.ListaPerfil = lista_perfil;
        }
        public ActionResult Incluir(FormCollection frm)
        {
            var Retorno = new Retorno();

            try
            {

                var cli = new Cliente()
                {
                    TipoAcao=1,
                    CPF_CNPJ = Decimal.Parse(frm["cpfcnpj"].ToString()),
                    Descricao = frm["nome"].ToString(),
                    Status = frm["status"]==null ? 0 : int.Parse(frm["status"].ToString()),
                    QtdeUsuario = int.Parse(frm["qtdusu"].ToString()),
                    EmailPrincipal = frm["email"].ToString(),
                    idUsuarioAtual = UsuarioAtual.ID
                };
                ViewBag.Cliente = cli;
                var RetCPF = new UsuarioRepository().VerificaCPFDisponivel(UsuarioAtual.ID, decimal.Parse(frm["cpfcnpj"].ToString()));
                if (RetCPF.CodigoRetorno == 1)
                    throw new Exception(RetCPF.Mensagem);

                var cliRet = new ClienteRepository();
                Retorno = cliRet.Incluir(cli);
                if (Retorno.CodigoRetorno < 0)
                {
                    throw new Exception(Retorno.Mensagem);
                }
                TempData["Msg"] = Retorno.Mensagem;
                return RedirectToAction("Index", new { msg = Retorno.Mensagem });
            }
            catch(Exception ex)
            {
                ViewBag.Error = ex.Message;
                TempData["Error"] = ex.Message;
                return View("Create",frm);
                //throw new Exception(ex.Message);
            }
        }
 public ActionResult Listar(string msg="")
 {
     var f = (Filtro)Session["Filtro"];
     var Clientes = new ClienteRepository().PesquisaCliente(f.Tipo, f.Condicao, UsuarioAtual.ID, f.Pesquisa, UsuarioAtual.ID);
     ViewBag.ListaClientes = Clientes.ToList();
     if (msg != "")
     {
         TempData["Msg"] = msg;
         ViewBag.Msg = msg;
     }
     return View("Index");
 }
        public ActionResult Pesquisa(FormCollection frm)
        {
            int _tipo = int.Parse(frm["selTipo"].ToString());
            int _condicao = int.Parse(frm["selCondicao"].ToString());
            string _txtpesquisa = frm["txtpesquisa"].ToString();
            Session["Filtro"] = new Filtro() { Tipo = _tipo, Condicao = _condicao, Pesquisa = _txtpesquisa, IdUsuarioAtual = UsuarioAtual.ID };

            var Clientes = new ClienteRepository().PesquisaCliente(_tipo, _condicao, UsuarioAtual.ID, _txtpesquisa, UsuarioAtual.ID);
            ViewBag.ListaClientes = Clientes.ToList();
            return View("Index");
        }
        public ActionResult Autenticar(LoginViewModel model, string returnUrl)
        {
            var log = new LogRepository();

            AbandonarSessao();

            if (ModelState.IsValid)
            {
                try
                {
                    var _cripto = new Criptografia();
                    var _utils = new Util();
                    string _senha = _cripto.Executar(model.Senha.Trim().ToString(), _utils.ChaveCripto, Criptografia.TipoNivel.Baixo, Criptografia.TipoAcao.Encriptar, Criptografia.TipoCripto.Números);

                    bool valido = this._usuarioService.ValidarUsuario(model.NomeUsuario, _senha);

                    if (valido)
                    {
                        // TODO:14/04/2016
                        var ret = new UsuarioRepository().VerificaServicoPerfil(model.NomeUsuario, _senha);
                        if (ret.CodigoRetorno != 0)
                        {
                            //return RedirectToRoute("Logout", new { msg = ret.Mensagem });
                            return RedirectToAction("Index", new { msg = ret.Mensagem });
                        }

                        //TODO: Andre 27/04/2016 int _idUsuario = new UsuarioRepository().GetUsuario(model.NomeUsuario).ID;
                        Session["ClsUsuario"] = (Usuario)new UsuarioRepository().GetUsuarioSessao(model.NomeUsuario);

                        bool _autenticado = this._authenticatioService.AuthenticateUser(this.HttpContext, model.NomeUsuario, model.Senha, model.ManterConectado);
                        if (_autenticado)
                        {
                            Session["NomeUsuario"] = model.NomeUsuario;

                            //TODO: 07/03/2016 Verifica se foi selecionado o Relembre-me e cria um cokie para armazenar o nome do usuário.
                            if (Request.Cookies["Login"] == null)
                            {
                                if (model.ManterConectado)
                                {
                                    HttpCookie cokLogin = new HttpCookie("Login");
                                    cokLogin["username"] = model.NomeUsuario;
                                    cokLogin["lembrarnome"] = "sim";
                                    cokLogin.Expires = DateTime.Now.AddDays(1d);
                                    Response.Cookies.Add(cokLogin);
                                }
                            }
                            else
                            {
                                if (model.ManterConectado)
                                {
                                    HttpCookie cokLogin = new HttpCookie("Login");
                                    cokLogin["username"] = model.NomeUsuario;
                                    cokLogin["lembrarnome"] = "sim";
                                    Response.Cookies.Set(cokLogin);
                                }
                                if (model.ManterConectado == false)
                                {
                                    HttpCookie cokLogin = new HttpCookie("Login");
                                    cokLogin["username"] = "";
                                    cokLogin["lembrarnome"] = "nao";
                                    Response.Cookies.Set(cokLogin);
                                }
                            }

                            var cli = new ClienteRepository();
                            cli.PrimeiroClienteServicoPadrao(model.NomeUsuario, model.Senha);

                            if (cli.Servico == null)
                            {
                                return RedirectToAction("Index", new { msg = "Nenhum Cliente e Serviço Padrão selecionado. Por favor,  entre em contato com o administrador do sistema." });
                                //TempData["Error"] = "Nenhum Cliente e Serviço Padrão selecionado...";
                            }

                            Session["IdCliente"] = cli.TCliente.ID;
                            Session["NomeCliente"] = cli.TCliente.Descricao;
                            Session["NomeServico"] = cli.Servico;
                            Session["IdServico"] = cli.idServico;//aqui

                            //TODO: Andre 10/05/2016
                            var usu = new Usuario(){ ID=UsuarioAtual.ID, ServicoID=cli.idServico, ClienteID=cli.TCliente.ID};
                            var retorno = new LicensaRepository().CarregaLicensa(usu, 1);
                            if (retorno.CodigoRetorno < 0)
                            {
                                ViewBag.Atencao = retorno.Mensagem;
                                TempData["Msg"] = retorno.Mensagem;
                            }
                            else
                            {
                                // LOG: Login Autenticado -- Cesar
                                log.RegistrarLOG(cli.TCliente.ID, cli.idServico, 0, 0, 1, 1, 0, 0, model.NomeUsuario);
                                log.RegistrarLOGDetalhe(1, model.NomeUsuario);

                                return RedirectToRoute(new { action = "../Home", controller = "", area = "" });// Redirect (returnUrl ?? FormsAuthentication.DefaultUrl);

                            }

                        }

                        FormsAuthentication.SetAuthCookie(model.NomeUsuario, false);
                    }
                }
                catch (Exception ex) {
                    //ModelState.AddModelError("Error", ex.Message);
                    //LOG: Login Não Autenticado
                    log.RegistrarLOG(0, 0, 0, 0, 1, 2, 0, 0, model.NomeUsuario);
                    log.RegistrarLOGDetalhe(2, model.NomeUsuario);
                    ViewBag.Atencao = ex.Message;
                    TempData["Msg"] = ex.Message;
                }
            }
            return View("Index");
        }
        public ActionResult Index()
        {
            //AjaxCallTrocarServicoAtual(0);
            //TODO: 10/03/2016
            //if (new UsuarioRepository().GetUsuario(Session["NomeUsuario"].ToString()).TrocarSenha == 1)

            //TODO: Andre 27/04/2016
            if (new UsuarioRepository().GetUsuarioSessao(Session["NomeUsuario"].ToString()).TrocarSenha == 1)
            {
                return RedirectToAction("TrocarSenha");
            }

            if (ServicoAtual == null)
            {
                //Servico _serv = UsuarioAtual.Clientes.Where(c => c.Servicos.Where(s => s.Default = true).FirstOrDefault().Default = true).FirstOrDefault().Servicos.Where(s => s.Default = true).FirstOrDefault();
                //AjaxCallTrocarServicoAtual(_serv.ID);
                int _idservico = int.Parse(Session["IdServico"].ToString());
                AjaxCallTrocarServicoAtual(_idservico);
                Session["UsuarioAtual_ID"] = UsuarioAtual.ID;
                var listaCliente = new ClienteRepository().ListaClientePorUsuario(Session["NomeUsuario"].ToString());

                ViewBag.Teste = listaCliente;
                ViewBag.ListaCliente = new SelectList(
                        listaCliente.ToList(),
                        "ID",
                        "Descricao"
                    );
            }

            return View();
        }
        void CarregarCombos()
        {
            var listaPerfil = new PerfilRepository().ListaPerfilDescricao(ServicoAtual.ID).ToList();

            var lista_perfil = new SelectList(
                            listaPerfil,
                            "ID",
                            "Descricao"
                        );
            ViewBag.ListaPerfil = lista_perfil;

            //Lista Situação
            ViewBag.ListaSituacao = new ServicoRepository().ListaSituacao();

            var cliente = new ClienteRepository().ListarClientesUsuario(UsuarioAtual.ID).ToList();
            ViewBag.Cliente = new SelectList
             (
                  cliente,
                  "ID",
                  "Descricao"
              );
            var listaCliente = new ClienteRepository().ListaClientePorUsuario(Session["NomeUsuario"].ToString());
            //ViewBag.Teste = listaCliente;
            var listacli = new SelectList(
                            listaCliente.ToList(),
                            "ID",
                            "Descricao"
                        );
            ViewBag.ListaCliente = listacli;

            ViewBag.CodCliente = ClienteAtual.ID;
            var listaServico = new ClienteRepository().ListaServicoPorCliente(Session["NomeUsuario"].ToString(), ClienteAtual.ID.ToString());

            var lista = new SelectList(
                            listaServico.ToList(),
                            "ID",
                            "Descricao"
                        );
            ViewBag.ListaServico = lista;
        }
        public ActionResult ListaUsuarios(FormCollection frm)
        {
            int _tipo = int.Parse(frm["selTipo"].ToString());
            int _condicao = int.Parse(frm["selCondicao"].ToString());
            string _txtpesquisa = frm["txtpesquisa"].ToString();

            int idclienteAtual = new ClienteRepository().GetClienteServicoPorNome(Session["NomeServico"].ToString(), Session["NomeCliente"].ToString()).IdCliente;

            Session["Filtro"] = new Filtro() { Tipo = _tipo, Condicao = _condicao, IdClienteAtual = idclienteAtual, Pesquisa = _txtpesquisa, IdUsuarioAtual = UsuarioAtual.ID };
            var usu = new UsuarioRepository().GetUsuarioCadastro(_tipo, _condicao, idclienteAtual, _txtpesquisa, UsuarioAtual.ID);
            ViewBag.ListaUsuarios = usu;
            return View("ManutencaoUsuario");
        }
        public JsonResult AjaxCallBuscarServicos(int idCliente)
        {
            var cli = new ClienteRepository().ListaServicoPorCliente(Session["NomeUsuario"].ToString(), idCliente.ToString());

            return Json(cli.ToList(),JsonRequestBehavior.AllowGet);
        }