private void GerarTicketEArmazenarComoCookie(Core.DTO.LoginViewModel model, int expiracaoEmMinutos = 180)
        {
            var ticketEncriptado = setTicketEncrypted(model, expiracaoEmMinutos);

            var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, ticketEncriptado);

            authCookie.Expires = DateTime.Now.AddMinutes(expiracaoEmMinutos);

            HttpContext.Current.Response.Cookies.Add(authCookie);
        }
        public string setTicketEncrypted(Core.DTO.LoginViewModel AuthenticationModel, int expiracaoEmMinuto = 180)
        {
            var autenticacaoModelSerializado = Serializador.SerializarAutenticacaoModel(AuthenticationModel);
            var ticket = new FormsAuthenticationTicket(1, AuthenticationModel.Email,
                                                       DateTime.Now, DateTime.Now.AddMinutes(expiracaoEmMinuto), false, autenticacaoModelSerializado,
                                                       FormsAuthentication.FormsCookiePath);
            var ticketEncriptado = FormsAuthentication.Encrypt(ticket);

            return(ticketEncriptado);
        }
        public bool Login(Core.DTO.LoginViewModel AuthenticationModel, out string msgErr)
        {
            msgErr = string.Empty;

            var usuario = UserBusiness.Query.FirstOrDefault(c => c.Email == AuthenticationModel.Email);

            if (usuario == null || usuario.Password != AuthenticationModel.Password)
            {
                msgErr = "Login ou senha incorretos";
                return(false);
            }

            AuthenticationModel.Name = usuario.Name;
            AuthenticationModel.Id   = usuario.Id;

            GerarTicketEArmazenarComoCookie(AuthenticationModel);

            return(true);
        }