public void ResendCode(string deviceId, string emailAddress)
        {
            IRepository repo = new RepositoryInitiator().FactoryMethod();
            var         user = repo.All <TrackUsers>().Where(i => i.DeviceId == deviceId).First();

            user.Email = emailAddress;
            repo.Update(user);
            EmailManager.GetInstance().SendEmail(user.Name, user.Email, user.ActivationCode);
        }
        public void DeactivateUserAccount(string deviceId)
        {
            IRepository repo = new RepositoryInitiator().FactoryMethod();
            var         user = repo.All <TrackUsers>().Where(i => i.DeviceId == deviceId).First();

            if (user != null)
            {
                repo.Delete <TrackUsers>(user);
            }
        }
        public TrackViewerUser GetUserInfo(string deviceId)
        {
            IRepository repo = new RepositoryInitiator().FactoryMethod();
            var         user = repo.All <TrackUsers>().Where(i => i.DeviceId == deviceId).First();

            if (user != null)
            {
                return(new TrackViewerUser {
                    Name = user.Name, ActivationCode = user.ActivationCode, DeviceId = user.DeviceId, Email = user.Email
                });
            }
            else
            {
                return(new TrackViewerUser());
            }
        }
 public bool IsUserRegistered(string deviceId)
 {
     try
     {
         IRepository repo    = new RepositoryInitiator().FactoryMethod();
         var         results = repo.All <TrackUsers>().Where(i => i.DeviceId == deviceId).ToList();
         if (results != null && results.Count() > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception) { return(false); }
 }
 public bool UpdateIsActivated(string deviceId, string activationCode)
 {
     try
     {
         IRepository repo   = new RepositoryInitiator().FactoryMethod();
         var         result = repo.All <TrackUsers>().Where(i => i.DeviceId == deviceId && i.ActivationCode == activationCode).First();
         if (result != null)
         {
             result.IsActivated = true;
             repo.Update <TrackUsers>(result);
             EmailManager.GetInstance().SendCompletionEmail(result.Name, result.Email);
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception) { return(false); }
 }
 public long RegisterUser(string deviceId, string activationCode, string name, string emailAddress)
 {
     try
     {
         IRepository repo   = new RepositoryInitiator().FactoryMethod();
         Random      random = new Random();
         activationCode = random.Next(1000, 9999).ToString();
         var result = repo.Create <TrackUsers>(new TrackUsers {
             DeviceId = deviceId, ActivationCode = activationCode, Email = emailAddress, Name = name
         });
         if (result != null)
         {
             EmailManager.GetInstance().SendEmail(name, emailAddress, activationCode);
             return(result.Id);
         }
         else
         {
             return(-1);
         }
     }
     catch (Exception) { return(-2); }
 }