Exemplo n.º 1
0
        private static async Task <ResultsPair <LocalAccount.PTUserInfo> > CreateNewPTUserInfo(LocalAccount.PegaUser user)
        {
            try
            {
                using (PegasunDBContext db = new PegasunDBContext())
                {
                    PTUserInfo ptUserInfo = new PTUserInfo
                    {
                        UserId                 = user.UserId,
                        SubscriptionLevel      = (byte)SubscriptionLevel.Free,
                        SubscriptionExpireDate = null
                    };

                    db.PTUserInfo.Add(ptUserInfo);
                    await db.SaveChangesAsync();

                    LocalAccount.PTUserInfo localSubscription = ptUserInfo.Adapt <LocalAccount.PTUserInfo>();

                    return(ResultsPair.Create(ResultsItem.Success("Successfully created a new subscription."), localSubscription));
                }
            }
            catch (Exception ex)
            {
                return(ResultsPair.CreateError <LocalAccount.PTUserInfo>($"Unable to create a new PTUserInfo: {ex.Message}"));
            }
        }
Exemplo n.º 2
0
 private static async Task <LocalAccount.PTUserInfo> GetPTUserInfo(int userId)
 {
     try
     {
         TypeAdapterConfig.GlobalSettings.Default.NameMatchingStrategy(NameMatchingStrategy.IgnoreCase);
         using (PegasunDBContext db = new PegasunDBContext())
         {
             PTUserInfo ptUserInfo = db.PTUserInfo.FirstOrDefault(x => x.UserId == userId);
             if (ptUserInfo == null)
             {
                 return((await CreateNewPTUserInfo(new LocalAccount.PegaUser {
                     UserId = userId
                 })).Value);
             }
             return(ptUserInfo.Adapt <LocalAccount.PTUserInfo>());
         }
     }
     catch
     {
         return(null);
     }
 }