public static CardRename ( long newid, long oldid, |
||
newid | long | |
oldid | long | |
ygopath | ||
return | void |
//撤销 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 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 (!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); }