CardRename() public static method

public static CardRename ( long newid, long oldid, YgoPath ygopath ) : void
newid long
oldid long
ygopath DataEditorX.Config.YgoPath
return void
Example #1
0
 //撤销
 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);
 }
Example #2
0
 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());
         }
     }
 }
Example #3
0
 public void Undo()
 {
     _ = DataBase.Command(dataform.GetOpenFile(), undoSQL);
     if (modifiled)
     {
         if (delold)
         {
             YGOUtil.CardRename(oldid, newid, dataform.GetPath());
         }
         else
         {
             YGOUtil.CardDelete(newid, dataform.GetPath());
         }
     }
 }
Example #4
0
            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);
            }
Example #5
0
        //修改
        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);
        }