/// <summary> /// write to DB one by one /// </summary> /// <param name="comms"></param> /// <param name="OnFinishNotify"></param> public void WriteToDBSingleThread(List <string> comms, Action OnFinishNotify = null) { string CommStr = string.Empty; if (comms.Count > 0) { CommStr = comms[0]; comms.RemoveAt(0); } else { if (OnFinishNotify != null) { OnFinishNotify(); } return; } MyDBManager.DBMailStruct mail = MyDBManager.DBMailManager.instance.getNewMail(); mail.command = CommStr; mail.commandType = MyDBManager.CommandType.insert; mail.sendTo = (MyDBManager.DBMailStruct smail) => { WriteToDBSingleThread(comms, OnFinishNotify); }; try { MyDBManager.DBManager.instance.addNewCommand(mail); } catch (Exception e) { //Utility.Logging.Log.Debug(e.Message); throw e; } }
private void WriteToDBLarge(List <string> comms, Action OnFinishNotify) { for (int i = 0; i < comms.Count; i++) { MyDBManager.DBMailStruct mail = MyDBManager.DBMailManager.instance.getNewMail(); mail.command = comms[i]; mail.commandType = MyDBManager.CommandType.insert; mail.sendTo = (MyDBManager.DBMailStruct smail) => { getFinish(OnFinishNotify); }; MyDBManager.DBManager.instance.addNewCommand(mail); } }