public ActionResult Login(User user, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            Operador operadorExistente = _businessOperador.FindByLogin(user.Login);

            if (user.Login.ToUpper() == operadorExistente?.Login.ToUpper() && user.Senha.ToUpper() == operadorExistente?.Senha.ToUpper())
            {
                var identity = new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.Name, operadorExistente.Login + "|" + operadorExistente.Perfil.Tipo),
                }, "ApplicationCookie"
                                                  );

                var ctx         = Request.GetOwinContext();
                var authManager = ctx.Authentication;

                authManager.SignIn(identity);

                return(Redirect(GetRedirectUrl(returnUrl)));
            }

            ModelState.AddModelError("", "Usuário ou senha estão inválidos");
            return(View());
        }
        public ActionResult Create(RegistroDeFluxoWihtCarro registroDeFluxoWihtCarro)
        {
            if (ModelState.IsValid)
            {
                Carro           carro           = new Carro();
                RegistroDeFluxo registroDeFluxo = new RegistroDeFluxo();

                Carro  carroExistente = _businessCarro.FindByPlaca(registroDeFluxoWihtCarro.Placa);
                string loginOperador  = Request.GetOwinContext().Authentication.User.Identity.Name.Split('|')?[0];


                Operador operador = _businessOperador.FindByLogin(loginOperador);

                registroDeFluxo.DataEntrada = registroDeFluxoWihtCarro.DataEntrada;
                registroDeFluxo.HoraEntrada = registroDeFluxoWihtCarro.HoraEntrada;
                registroDeFluxo.OperadorId  = operador.Id;
                if (carroExistente == null)
                {
                    carro.Placa           = registroDeFluxoWihtCarro.Placa;
                    carro.Modelo          = registroDeFluxoWihtCarro.Modelo;
                    carro.Marca           = registroDeFluxoWihtCarro.Marca;
                    registroDeFluxo.Carro = carro;
                }
                else
                {
                    registroDeFluxo.CarroId = carroExistente.Id;
                }

                _businessRegistroDeFluxo.Create(registroDeFluxo);

                TempData["RegistroDeFluxoId"] = registroDeFluxo.Id;

                return(RedirectToAction("MenuRegistroDeFluxo"));
            }

            return(View());
        }