public static async Task <ERROR_ID> CreateAsync(string userID, string pw) { var hasUser = await CheckHasUserAsync(userID); if (hasUser) { return(ERROR_ID.CREATE_ACCOUNT_DUPLICATE); } var uid = UniqueSeqNumberGenerator.채번_받아오기(); string hashPW = MD5Core.GetHashString(pw); var authUser = new DBUserAccountInfo() { _id = userID, PW = hashPW, UID = uid, }; var collection = Mongo.GetAccountDBCollection <DBUserAccountInfo>(COLLECTION_NAME); var result = await Task.Run(() => collection.Insert <DBUserAccountInfo>(authUser)); if (result.Ok == false) { return(ERROR_ID.CREATE_ACCOUNT_DB_FAIL); } return(ERROR_ID.NONE); }
public static async Task <bool> InsertItem(string userID, List <int> ItemIDList) { try { var newItemList = new List <DBUserItem>(); foreach (var itemID in ItemIDList) { var newData = new DBUserItem() { _id = UniqueSeqNumberGenerator.채번_받아오기(), UserID = userID, ItemID = itemID, AcquireDateTime = DateTime.Now, }; newItemList.Add(newData); } var collection = Common.GetDBCollection <DBUserItem>("Item"); await collection.InsertManyAsync(newItemList); return(true); } catch (Exception ex) { DevLog.Write(ex.Message, LOG_LEVEL.ERROR); return(false); } }
public static async Task <long> AddUser(string userID, string pw) { try { //유니크 번호 받아오기 var uid = UniqueSeqNumberGenerator.GetUniqueNumber(); //초기화 var user = new DB.DBUser() { UID = uid, _id = userID, PW = pw, }; //추가 추가가 안되면 예외 var collection = DB.MongoDBLib.GetAccountDBUserCollection <DB.DBUser>(); var option = new InsertOneOptions(); option.BypassDocumentValidation = true; await collection.InsertOneAsync(user, option); return(uid); } catch (Exception) { //즉 0이면 이미 존재하는 유저 return(0); } }