コード例 #1
0
        /// <summary>
        /// Create new user in database
        /// </summary>
        /// <param name="nickName"></param>
        /// <param name="password"></param>
        /// <param name="email"></param>
        /// <returns></returns>
        internal DbOperationStatus <User> CreateNew(string nickName, string password, string email)
        {
            DbOperationStatus <User> status = new DbOperationStatus <User>();

            User newUser = new User()
            {
                Nickname          = nickName,
                Email             = email,
                ID                = new Guid(),
                IsOnline          = false,
                LastLoginDate     = DateTime.MinValue,
                RegistrationDate  = DateTime.Now,
                Verified          = false,
                VerificationToken = Guid.NewGuid()
            };

            using (var userPasswordCrypto = new UserPasswordCryptography(password))
            {
                var encryptionResult = userPasswordCrypto.EncryptUserPassword();
                newUser.Salt           = encryptionResult.Salt;
                newUser.HashedPassword = encryptionResult.HashedPassword;
            }

            var num = newUser.Salt.Count();

            _comparerDatabaseContext.Users.Add(newUser);

            status.RowsAffected     = _comparerDatabaseContext.SaveChanges();
            status.OperationSuccess = true;
            status.ReturnedObject   = newUser;

            return(status);
        }
        public void AddNewApplicationClient(string clientID, string clientSecret, string clientName, DateTime validationUntil)
        {
            _comparerDatabaseContext.APIClient.Add(new APIClient
            {
                ClientID        = clientID,
                ClientName      = clientName,
                ClientSecret    = clientSecret,
                ValidationUntil = validationUntil
            });

            _comparerDatabaseContext.SaveChanges();
        }
コード例 #3
0
        public void InsertBonusStatsTableFromJsonFile()
        {
            var parsedJsonData = JsonProcessing.GetDataFromJsonFile <Models.Statistics.Statistics>(@"\Statistics.json");

            for (int index = 0; index < parsedJsonData.BonusStats.Length; index++)
            {
                _comparerDatabaseContext.BonusStats.Add(new BonusStats()
                {
                    ID           = Guid.NewGuid(),
                    BonusStatsID = parsedJsonData.BonusStats[index].BonusStatsID,
                    Name         = parsedJsonData.BonusStats[index].Name
                });
            }
            _comparerDatabaseContext.SaveChanges();
        }
        public void InsertAllAchievementsDataFromApiRequest(Achievement apiData)
        {
            using (IDbContextTransaction transaction = _comparerDatabaseContext.Database.BeginTransaction())
            {
                try
                {
                    //TODO Remove delete from
                    _comparerDatabaseContext.Database.ExecuteSqlCommand("DELETE FROM AchievementsData");
                    _comparerDatabaseContext.Database.ExecuteSqlCommand("DELETE FROM AchievementCategory");

                    for (int categoryIndex = 0; categoryIndex < apiData.AchievementCategory.Count(); categoryIndex++)
                    {
                        _comparerDatabaseContext.AchievementCategory.Add(new AchievementCategory()
                        {
                            ID           = apiData.AchievementCategory.ElementAt(categoryIndex).ID,
                            CategoryName = apiData.AchievementCategory.ElementAt(categoryIndex).CategoryName,
                        });

                        IdentityInsertManager("AchievementCategory");

                        if (apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsData != null)
                        {
                            for (int dataIndex = 0; dataIndex < apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsData.Count(); dataIndex++)
                            {
                                _comparerDatabaseContext.AchievementsData.Add(new AchievementsData()
                                {
                                    Title                 = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsData.ElementAt(dataIndex).Title,
                                    ID                    = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsData.ElementAt(dataIndex).ID,
                                    Points                = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsData.ElementAt(dataIndex).Points,
                                    Description           = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsData.ElementAt(dataIndex).Description,
                                    Icon                  = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsData.ElementAt(dataIndex).Icon,
                                    FactionId             = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsData.ElementAt(dataIndex).FactionId,
                                    AchievementCategoryID = apiData.AchievementCategory.ElementAt(categoryIndex).ID
                                });
                            }
                            IdentityInsertManager("AchievementsData");
                        }

                        if (apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData != null)
                        {
                            for (int dataIndex = 0; dataIndex < apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.Count(); dataIndex++)
                            {
                                _comparerDatabaseContext.AchievementCategory.Add(new AchievementCategory()
                                {
                                    CategoryName = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.ElementAt(dataIndex).CategoryName,
                                    ID           = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.ElementAt(dataIndex).ID,
                                });

                                IdentityInsertManager("AchievementCategory");

                                for (int index = 0; index < apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.ElementAt(dataIndex).AchievementsData.Count(); index++)
                                {
                                    _comparerDatabaseContext.AchievementsData.Add(new AchievementsData()
                                    {
                                        Title                 = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.ElementAt(dataIndex).AchievementsData.ElementAt(index).Title,
                                        ID                    = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.ElementAt(dataIndex).AchievementsData.ElementAt(index).ID,
                                        Points                = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.ElementAt(dataIndex).AchievementsData.ElementAt(index).Points,
                                        Description           = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.ElementAt(dataIndex).AchievementsData.ElementAt(index).Description,
                                        Icon                  = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.ElementAt(dataIndex).AchievementsData.ElementAt(index).Icon,
                                        FactionId             = apiData.AchievementCategory.ElementAt(categoryIndex).AchievementsSubCategoryData.ElementAt(dataIndex).AchievementsData.ElementAt(index).FactionId,
                                        AchievementCategoryID = apiData.AchievementCategory.ElementAt(categoryIndex).ID
                                    });

                                    IdentityInsertManager("AchievementsData");
                                }
                            }
                        }
                    }
                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                }
            }

            void IdentityInsertManager(string tableName)
            {
                _comparerDatabaseContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT " + tableName + " ON");
                _comparerDatabaseContext.SaveChanges();
                _comparerDatabaseContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT " + tableName + " OFF");
            }

            #endregion
        }