//撤销 public void Undo() { if (undoSQL.Count == 0) { return; } DataBase.Command(dataform.GetOpenFile(), undoSQL[undoSQL.Count - 1]); undoSQL.RemoveAt(undoSQL.Count - 1); if (undoModified[undoModified.Count - 1].modifiled) { FileModified lastmodify = undoModified[undoModified.Count - 1]; YGOUtil.CardRename(lastmodify.oldid, lastmodify.newid, dataform.GetPath(), lastmodify.delold); } undoModified.RemoveAt(undoModified.Count - 1); if (undoDeleted[undoDeleted.Count - 1].deleted) { FileDeleted lastdelete = undoDeleted[undoDeleted.Count - 1]; foreach (long id in lastdelete.ids) { YGOUtil.CardDelete(id, dataform.GetPath(), YGOUtil.DeleteOption.RESTORE); } } undoDeleted.RemoveAt(undoDeleted.Count - 1); if (undoCopied[undoCopied.Count - 1].copied) { DBcopied lastcopied = undoCopied[undoCopied.Count - 1]; DataBase.DeleteDB(dataform.GetOpenFile(), lastcopied.NewCards); DataBase.CopyDB(dataform.GetOpenFile(), !lastcopied.replace, lastcopied.OldCards); } undoCopied.RemoveAt(undoCopied.Count - 1); dataform.Search(true); }
//删除 public bool DelCards(bool deletefiles) { if (!dataform.CheckOpen()) { return(false); } Card[] cards = dataform.GetCardList(true); if (cards == null || cards.Length == 0) { return(false); } string undo = ""; if (!MyMsg.Question(LMSG.IfDeleteCard)) { return(false); } List <string> sql = new List <string>(); FileDeleted delete = new FileDeleted(); foreach (Card c in cards) { sql.Add(DataBase.GetDeleteSQL(c));//删除 undo += DataBase.GetInsertSQL(c, true); //删除资源 if (deletefiles) { YGOUtil.CardDelete(c.id, dataform.GetPath(), YGOUtil.DeleteOption.BACKUP); delete.deleted = true; delete.ids.Add(c.id); } } if (DataBase.Command(dataform.GetOpenFile(), sql.ToArray()) >= (sql.Count * 2)) { MyMsg.Show(LMSG.DeleteSucceed); dataform.Search(true); undoSQL.Add(undo); undoDeleted.Add(delete); undoModified.Add(new FileModified()); undoCopied.Add(new DBcopied()); return(true); } else { MyMsg.Error(LMSG.DeleteFail); dataform.Search(true); } return(false); }
public void Undo() { DataBase.Command(dataform.GetOpenFile(), _undoSQL); if (this.modifiled) { if (this.delold) { YGOUtil.CardRename(this.oldid, this.newid, dataform.GetPath()); } else { YGOUtil.CardDelete(this.newid, dataform.GetPath()); } } }
public void Undo() { _ = DataBase.Command(dataform.GetOpenFile(), undoSQL); if (modifiled) { if (delold) { YGOUtil.CardRename(oldid, newid, dataform.GetPath()); } else { YGOUtil.CardDelete(newid, dataform.GetPath()); } } }
public bool Excute(params object[] args) { if (!this.dataform.CheckOpen()) { return(false); } bool deletefiles = (bool)args[0]; Card[] cards = this.dataform.GetCardList(true); if (cards == null || cards.Length == 0) { return(false); } string undo = ""; if (!MyMsg.Question(LMSG.IfDeleteCard)) { return(false); } List <string> sql = new List <string>(); foreach (Card c in cards) { sql.Add(DataBase.GetDeleteSQL(c)); //删除 undo += DataBase.GetInsertSQL(c, true); //删除资源 if (deletefiles) { YGOUtil.CardDelete(c.id, this.dataform.GetPath()); } } if (DataBase.Command(this.dataform.GetOpenFile(), sql.ToArray()) >= (sql.Count * 2)) { MyMsg.Show(LMSG.DeleteSucceed); this.dataform.Search(true); this.undoSQL = undo; return(true); } else { MyMsg.Error(LMSG.DeleteFail); this.dataform.Search(true); } return(false); }
public bool Execute(params object[] args) { if (!dataform.CheckOpen()) { return(false); } bool deletefiles = (bool)args[0]; Card[] cards = dataform.GetCardList(true); if (cards == null || cards.Length == 0) { return(false); } string undo = ""; if (!MyMsg.Question(LMSG.IfDeleteCard)) { return(false); } List <string> sql = new(); foreach (Card c in cards) { sql.Add(DataBase.GetDeleteSQL(c));//删除 undo += (dataform.GetOpenFile().EndsWith(".db", StringComparison.OrdinalIgnoreCase) || dataform.GetOpenFile().EndsWith(".bytes", StringComparison.OrdinalIgnoreCase)) ? DataBase.OmegaGetInsertSQL(c, true) : DataBase.GetInsertSQL(c, true); //删除资源 if (deletefiles) { YGOUtil.CardDelete(c.id, dataform.GetPath()); } } if (DataBase.Command(dataform.GetOpenFile(), sql.ToArray()) >= (sql.Count * 2)) { MyMsg.Show(LMSG.DeleteSucceed); dataform.Search(true); undoSQL = undo; return(true); } else { MyMsg.Error(LMSG.DeleteFail); dataform.Search(true); } return(false); }
/// <summary> /// 字符串化 /// </summary> public override string ToString() { string str = ""; if (IsType(CardType.TYPE_MONSTER)) { str = name + "[" + idString + "]\n[" + YGOUtil.GetTypeString(type) + "] " + YGOUtil.GetRace(race) + "/" + YGOUtil.GetAttributeString(attribute) + "\n" + levelString() + " " + atk + "/" + def + "\n" + redesc(); } else { str = name + "[" + idString + "]\n[" + YGOUtil.GetTypeString(type) + "]\n" + redesc(); } return(str); }
/// <summary> /// 字符串化 /// </summary> public override string ToString() { string str; if (this.IsType(CardType.TYPE_MONSTER)) { str = this.name + "[" + this.IdString + "]\n[" + YGOUtil.GetTypeString(this.type) + "] " + YGOUtil.GetRace(this.race) + "/" + YGOUtil.GetAttributeString(this.attribute) + "\n" + this.levelString() + " " + this.atk + "/" + this.def + "\n" + this.redesc(); } else { str = this.name + "[" + this.IdString + "]\n[" + YGOUtil.GetTypeString(this.type) + "]\n" + this.redesc(); } return(str); }
public bool Excute(params object[] args) { if (!dataform.CheckOpen()) { return(false); } bool modfiles = (bool)args[0]; Card c = dataform.GetCard(); Card oldCard = dataform.GetOldCard(); if (c.Equals(oldCard)) //没有修改 { MyMsg.Show(LMSG.ItIsNotChanged); return(false); } if (c.id <= 0) { MyMsg.Error(LMSG.CodeCanNotIsZero); return(false); } string sql; if (c.id != oldCard.id) //修改了id { sql = DataBase.GetInsertSQL(c, false); //插入 bool delold = MyMsg.Question(LMSG.IfDeleteCard); if (delold) //是否删除旧卡片 { if (DataBase.Command(dataform.GetOpenFile(), DataBase.GetDeleteSQL(oldCard)) < 2) { //删除失败 MyMsg.Error(LMSG.DeleteFail); delold = false; } else { //删除成功,添加还原sql _undoSQL = DataBase.GetDeleteSQL(c) + DataBase.GetInsertSQL(oldCard, false); } } else { _undoSQL = DataBase.GetDeleteSQL(c); //还原就是删除 } //如果删除旧卡片,则把资源修改名字,否则复制资源 if (modfiles) { if (delold) { YGOUtil.CardRename(c.id, oldCard.id, dataform.GetPath()); } else { YGOUtil.CardCopy(c.id, oldCard.id, dataform.GetPath()); } this.modifiled = true; this.oldid = oldCard.id; this.newid = c.id; this.delold = delold; } } else { //更新数据 sql = DataBase.GetUpdateSQL(c); _undoSQL = DataBase.GetUpdateSQL(oldCard); } if (DataBase.Command(dataform.GetOpenFile(), sql) > 0) { MyMsg.Show(LMSG.ModifySucceed); dataform.Search(true); dataform.SetCard(c); return(true); } else { MyMsg.Error(LMSG.ModifyFail); } return(false); }
//修改 public bool ModCard(bool modfiles) { if (!dataform.CheckOpen()) { return(false); } Card c = dataform.GetCard(); Card oldCard = dataform.GetOldCard(); if (c.Equals(oldCard))//没有修改 { MyMsg.Show(LMSG.ItIsNotChanged); return(false); } if (c.id <= 0) { MyMsg.Error(LMSG.CodeCanNotIsZero); return(false); } string sql; if (c.id != oldCard.id) //修改了id { sql = DataBase.GetInsertSQL(c, false); //插入 bool delold = MyMsg.Question(LMSG.IfDeleteCard); if (delold) //是否删除旧卡片 { if (DataBase.Command(dataform.GetOpenFile(), DataBase.GetDeleteSQL(oldCard)) < 2) { //删除失败 MyMsg.Error(LMSG.DeleteFail); } else {//删除成功,添加还原sql undoSQL.Add(DataBase.GetDeleteSQL(c) + DataBase.GetInsertSQL(oldCard, false)); } } else { undoSQL.Add(DataBase.GetDeleteSQL(c)); //还原就是删除 } //如果删除旧卡片,则把资源修改名字,否则复制资源 if (modfiles) { YGOUtil.CardRename(c.id, oldCard.id, dataform.GetPath(), delold); FileModified modify = new FileModified(); modify.modifiled = true; modify.oldid = oldCard.id; modify.newid = c.id; modify.delold = delold; undoModified.Add(modify); undoDeleted.Add(new FileDeleted()); undoCopied.Add(new DBcopied()); } else { undoModified.Add(new FileModified()); undoDeleted.Add(new FileDeleted()); undoCopied.Add(new DBcopied()); } } else {//更新数据 sql = DataBase.GetUpdateSQL(c); undoSQL.Add(DataBase.GetUpdateSQL(oldCard)); undoModified.Add(new FileModified()); undoDeleted.Add(new FileDeleted()); undoCopied.Add(new DBcopied()); } if (DataBase.Command(dataform.GetOpenFile(), sql) > 0) { MyMsg.Show(LMSG.ModifySucceed); dataform.Search(true); dataform.SetCard(c); return(true); } else { MyMsg.Error(LMSG.ModifyFail); } return(false); }