Exemplo n.º 1
0
        public void Logout(string token)
        {
            AccountSessionEntity session = GetAccount(token);

            AccountDAL.Logout(token);
            Instance.Accounts.Remove(session);
        }
Exemplo n.º 2
0
        public HttpResponseMessage Login(string userName, string password)
        {
            HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

            UserModel user = UserModel.MapUserModel(AuthenticateBLL.Login(userName, password), true);

            if (user == null)
            {
                response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
            }

            if (string.IsNullOrEmpty(user.Token))
            {
                AccountSessionEntity session = new AccountSessionEntity()
                {
                    AccountId      = user.Id,
                    ClubId         = user.ClubId,
                    Token          = Guid.NewGuid().ToString(),
                    ExpirationDate = DateTime.Now.AddDays(1)
                };
                AccountSessionCache.Instance.Add(session);
                user.Token = session.Token;
            }

            response.Content = new ObjectContent <UserModel>(user, new JsonMediaTypeFormatter());

            return(response);
        }
Exemplo n.º 3
0
        public HttpResponseMessage Login(string userName, string password)
        {
            HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

            UserModel user = UserModel.MapUserModel(AuthenticateBLL.Login(userName, password), true);

            if (user == null)
                response = new HttpResponseMessage(HttpStatusCode.Unauthorized);

            if(string.IsNullOrEmpty(user.Token))
            {
                AccountSessionEntity session = new AccountSessionEntity()
                {
                    AccountId = user.Id,
                    ClubId = user.ClubId,
                    Token = Guid.NewGuid().ToString(),
                    ExpirationDate = DateTime.Now.AddDays(1)
                };
                AccountSessionCache.Instance.Add(session);
                user.Token = session.Token;
            }

            response.Content = new ObjectContent<UserModel>(user, new JsonMediaTypeFormatter());

            return response;
        }
Exemplo n.º 4
0
        internal static void AddSession(AccountSessionEntity session)
        {
            using (CoreModel coreDAL = new CoreModel())
            {
                Account_Session sess = new Account_Session()
                {
                    AccountId      = session.AccountId,
                    Token          = session.Token,
                    ExpirationDate = session.ExpirationDate,
                    LoginDate      = DateTime.Now
                };

                coreDAL.Account_Session.Add(sess);
                coreDAL.SaveChanges();
            }
        }
Exemplo n.º 5
0
 internal static AccountSessionEntity GetUserSession(string token)
 {
     using (CoreModel coreDAL = new CoreModel())
     {
         AccountSessionEntity account = null;
         Account_Session      session = coreDAL.Account_Session.Include("Account").FirstOrDefault(s => s.Token == token);
         if (session != null)
         {
             account = new AccountSessionEntity()
             {
                 AccountId      = session.AccountId,
                 Token          = session.Token,
                 LoginDate      = session.LoginDate,
                 ExpirationDate = session.ExpirationDate,
                 ClubId         = session.Account.ClubId
             };
         }
         return(account);
     }
 }
Exemplo n.º 6
0
        internal static int CreateNewsletterSend(Newsletters newsletter, AccountSessionEntity accountSession)
        {
            using (Vicdude_NewsletterEntities db = new Vicdude_NewsletterEntities())
            {
                Newsletter_Send newsletterSend = new Newsletter_Send()
                {
                    ClubId             = accountSession.ClubId,
                    UserSendId         = accountSession.AccountId,
                    NewsletterContent  = newsletter.Content,
                    NewsletterId       = newsletter.Id,
                    NewsletterName     = newsletter.Name,
                    NewsletterSendGUID = Guid.NewGuid().ToString(),
                    SendDate           = DateTime.Now
                };

                db.Newsletter_Send.Add(newsletterSend);
                db.SaveChanges();
                return(newsletterSend.Id);
            }
        }
Exemplo n.º 7
0
        public AccountSessionEntity GetAccount(string token)
        {
            if (Accounts == null)
            {
                Accounts = new List <AccountSessionEntity>();
            }

            AccountSessionEntity account = Accounts.FirstOrDefault(a => a.Token == token);

            if (account == null)
            {
                account = AccountDAL.GetUserSession(token);

                if (account != null)
                {
                    Accounts.Add(account);
                }
            }

            return(account);
        }
Exemplo n.º 8
0
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            if (actionContext.Request.Method == HttpMethod.Options)
            {
                actionContext.Response = new HttpResponseMessage(HttpStatusCode.OK);
                return;
            }

            string token = actionContext.Request.Headers.GetValues("AuthenticateToken").FirstOrDefault();

            if (string.IsNullOrEmpty(token))
            {
                actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
                return;
            }

            //Get UserId
            AccountSessionEntity session = AccountSessionCache.Instance.GetAccount(token);

            if (session == null)
            {
                actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
                return;
            }

            UserPrincipal principal = new UserPrincipal(new GenericIdentity(session.Token), new[] { string.Empty })
            {
                AccountSession = session
            };

            HttpContext.Current.User = principal;

            if (!CheckAccessRights(session.AccountId))
            {
                actionContext.Response = new HttpResponseMessage(HttpStatusCode.Forbidden);
                return;
            }

            base.OnActionExecuting(actionContext);
        }
Exemplo n.º 9
0
 public void Add(AccountSessionEntity session)
 {
     AccountDAL.AddSession(session);
     Accounts.Add(session);
 }
Exemplo n.º 10
0
        public static void SendNewsletter(int newsletterId, List <int> accessrightIds, AccountSessionEntity accountSession,
                                          List <int> contactIds = null, int formFieldId = -1)
        {
            List <int>  userIds          = Core.BLL.AccountBLL.GetAccountIdsToAccessrights(accessrightIds);
            Newsletters newsletter       = NewsletterAdminDAL.GetNewsletter(newsletterId, accountSession.ClubId);
            int         newsletterSendId = NewsletterAdminDAL.CreateNewsletterSend(newsletter, accountSession);

            NewsletterAdminDAL.CreateNewsletterSendItems(newsletterSendId, userIds, contactIds, formFieldId);
        }