当前位置: 首页>>代码示例>>C#>>正文


C# PwDatabase.SaveAs方法代码示例

本文整理汇总了C#中KeePassLib.PwDatabase.SaveAs方法的典型用法代码示例。如果您正苦于以下问题:C# PwDatabase.SaveAs方法的具体用法?C# PwDatabase.SaveAs怎么用?C# PwDatabase.SaveAs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在KeePassLib.PwDatabase的用法示例。


在下文中一共展示了PwDatabase.SaveAs方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: PerformImport


//.........这里部分代码省略.........

                try { fmtImp.Import(pwImp, s, slf); }
                catch(Exception excpFmt)
                {
                    string strMsgEx = excpFmt.Message;
                    if(bSynchronize)
                    {
                        strMsgEx += MessageService.NewParagraph +
                            KPRes.SynchronizingHint;
                    }

                    MessageService.ShowWarning(strMsgEx);

                    s.Close();
                    bAllSuccess = false;
                    continue;
                }

                s.Close();

                if(bUseTempDb)
                {
                    PwMergeMethod mm;
                    if(!fmtImp.SupportsUuids) mm = PwMergeMethod.CreateNewUuids;
                    else if(bSynchronize) mm = PwMergeMethod.Synchronize;
                    else
                    {
                        ImportMethodForm imf = new ImportMethodForm();
                        if(imf.ShowDialog() != DialogResult.OK)
                            continue;
                        mm = imf.MergeMethod;
                    }

                    slf.SetText(KPRes.MergingData, LogStatusType.Info);

                    try { pwDatabase.MergeIn(pwImp, mm); }
                    catch(Exception exMerge)
                    {
                        MessageService.ShowWarning(iocIn.GetDisplayName(),
                            KPRes.ImportFailed, exMerge);

                        bAllSuccess = false;
                        continue;
                    }
                }
            }

            slf.EndLogging(); slf.Close();

            if(bSynchronize && bAllSuccess)
            {
                Debug.Assert(uiOps != null);
                if(uiOps == null) throw new ArgumentNullException("uiOps");

                if(uiOps.UIFileSave(bForceSave))
                {
                    foreach(IOConnectionInfo ioc in vConnections)
                    {
                        try
                        {
                            if(pwDatabase.IOConnectionInfo.IsLocalFile())
                            {
                                if((pwDatabase.IOConnectionInfo.Path != ioc.Path) &&
                                    ioc.IsLocalFile())
                                {
                                    File.Copy(pwDatabase.IOConnectionInfo.Path,
                                        ioc.Path, true);
                                }
                            }
                            else pwDatabase.SaveAs(ioc, false, null);
                        }
                        catch(Exception exSync)
                        {
                            MessageService.ShowWarning(KPRes.SyncFailed,
                                pwDatabase.IOConnectionInfo.GetDisplayName() +
                                MessageService.NewLine + ioc.GetDisplayName(), exSync);

                            bAllSuccess = false;
                            continue;
                        }
                    }
                }
                else
                {
                    MessageService.ShowWarning(KPRes.SyncFailed,
                        pwDatabase.IOConnectionInfo.GetDisplayName());

                    bAllSuccess = false;
                }
            }
            else if(bSynchronize) // Synchronized but not successfully imported
            {
                MessageService.ShowWarning(KPRes.SyncFailed,
                    pwDatabase.IOConnectionInfo.GetDisplayName());

                bAllSuccess = false;
            }

            return bAllSuccess;
        }
开发者ID:jonbws,项目名称:strengthreport,代码行数:101,代码来源:ImportUtil.cs

示例2: Import


//.........这里部分代码省略.........
                else if(bSynchronize) pwImp.MasterKey = pwDatabase.MasterKey;

                dlgStatus.SetText((bSynchronize ? KPRes.Synchronizing :
                    KPRes.ImportingStatusMsg) + " (" + iocIn.GetDisplayName() +
                    ")", LogStatusType.Info);

                try { fmtImp.Import(pwImp, s, dlgStatus); }
                catch(Exception excpFmt)
                {
                    string strMsgEx = excpFmt.Message;
                    if(bSynchronize && (excpFmt is InvalidCompositeKeyException))
                        strMsgEx = KLRes.InvalidCompositeKey + MessageService.NewParagraph +
                            KPRes.SynchronizingHint;

                    MessageService.ShowWarning(strMsgEx);

                    s.Close();
                    bAllSuccess = false;
                    continue;
                }

                s.Close();

                if(bUseTempDb)
                {
                    PwMergeMethod mm;
                    if(!fmtImp.SupportsUuids) mm = PwMergeMethod.CreateNewUuids;
                    else if(bSynchronize) mm = PwMergeMethod.Synchronize;
                    else
                    {
                        ImportMethodForm imf = new ImportMethodForm();
                        if(UIUtil.ShowDialogNotValue(imf, DialogResult.OK)) continue;
                        mm = imf.MergeMethod;
                        UIUtil.DestroyForm(imf);
                    }

                    // slf.SetText(KPRes.MergingData, LogStatusType.Info);

                    try { pwDatabase.MergeIn(pwImp, mm, dlgStatus); }
                    catch(Exception exMerge)
                    {
                        MessageService.ShowWarning(iocIn.GetDisplayName(),
                            KPRes.ImportFailed, exMerge);

                        bAllSuccess = false;
                        continue;
                    }
                }
            }

            dlgStatus.EndLogging();

            if(bSynchronize && bAllSuccess)
            {
                Debug.Assert(uiOps != null);
                if(uiOps == null) throw new ArgumentNullException("uiOps");

                if(uiOps.UIFileSave(bForceSave))
                {
                    foreach(IOConnectionInfo ioc in vConnections)
                    {
                        try
                        {
                            if(ioc.Path != pwDatabase.IOConnectionInfo.Path)
                            {
                                if(pwDatabase.IOConnectionInfo.IsLocalFile() &&
                                    ioc.IsLocalFile())
                                {
                                    File.Copy(pwDatabase.IOConnectionInfo.Path,
                                        ioc.Path, true);
                                }
                                else pwDatabase.SaveAs(ioc, false, null);
                            }
                            else { } // No assert (sync on save)

                            Program.MainForm.FileMruList.AddItem(ioc.GetDisplayName(),
                                ioc.CloneDeep(), true);
                        }
                        catch(Exception exSync)
                        {
                            MessageService.ShowWarning(KPRes.SyncFailed,
                                pwDatabase.IOConnectionInfo.GetDisplayName() +
                                MessageService.NewLine + ioc.GetDisplayName(), exSync);

                            bAllSuccess = false;
                            continue;
                        }
                    }
                }
                else
                {
                    MessageService.ShowWarning(KPRes.SyncFailed,
                        pwDatabase.IOConnectionInfo.GetDisplayName());

                    bAllSuccess = false;
                }
            }

            return bAllSuccess;
        }
开发者ID:elitak,项目名称:keepass,代码行数:101,代码来源:ImportUtil.cs

示例3: Import


//.........这里部分代码省略.........
                            KPRes.SynchronizingHint;

                    MessageService.ShowWarning(strMsgEx);

                    s.Close();
                    bAllSuccess = false;
                    continue;
                }

                s.Close();

                if(bUseTempDb)
                {
                    PwMergeMethod mm;
                    if(!fmtImp.SupportsUuids) mm = PwMergeMethod.CreateNewUuids;
                    else if(bSynchronize) mm = PwMergeMethod.Synchronize;
                    else
                    {
                        ImportMethodForm imf = new ImportMethodForm();
                        if(UIUtil.ShowDialogNotValue(imf, DialogResult.OK)) continue;
                        mm = imf.MergeMethod;
                        UIUtil.DestroyForm(imf);
                    }

                    try { pwDatabase.MergeIn(pwImp, mm, dlgStatus); }
                    catch(Exception exMerge)
                    {
                        MessageService.ShowWarning(iocIn.GetDisplayName(),
                            KPRes.ImportFailed, exMerge);

                        bAllSuccess = false;
                        continue;
                    }
                }
            }

            if(bSynchronize && bAllSuccess)
            {
                Debug.Assert(uiOps != null);
                if(uiOps == null) throw new ArgumentNullException("uiOps");

                dlgStatus.SetText(KPRes.Synchronizing + " (" +
                    KPRes.SavingDatabase + ")", LogStatusType.Info);

                MainForm mf = Program.MainForm; // Null for KPScript
                if(mf != null)
                {
                    try { mf.DocumentManager.ActiveDatabase = pwDatabase; }
                    catch(Exception) { Debug.Assert(false); }
                }

                if(uiOps.UIFileSave(bForceSave))
                {
                    foreach(IOConnectionInfo ioc in vConnections)
                    {
                        try
                        {
                            // dlgStatus.SetText(KPRes.Synchronizing + " (" +
                            //	KPRes.SavingDatabase + " " + ioc.GetDisplayName() +
                            //	")", LogStatusType.Info);

                            if(ioc.Path != pwDatabase.IOConnectionInfo.Path)
                            {
                                if(pwDatabase.IOConnectionInfo.IsLocalFile() &&
                                    ioc.IsLocalFile())
                                {
                                    File.Copy(pwDatabase.IOConnectionInfo.Path,
                                        ioc.Path, true);
                                }
                                else pwDatabase.SaveAs(ioc, false, null);
                            }
                            // else { } // No assert (sync on save)

                            if(mf != null)
                                mf.FileMruList.AddItem(ioc.GetDisplayName(),
                                    ioc.CloneDeep());
                        }
                        catch(Exception exSync)
                        {
                            MessageService.ShowWarning(KPRes.SyncFailed,
                                pwDatabase.IOConnectionInfo.GetDisplayName() +
                                MessageService.NewLine + ioc.GetDisplayName(), exSync);

                            bAllSuccess = false;
                            continue;
                        }
                    }
                }
                else
                {
                    MessageService.ShowWarning(KPRes.SyncFailed,
                        pwDatabase.IOConnectionInfo.GetDisplayName());

                    bAllSuccess = false;
                }
            }

            dlgStatus.EndLogging();
            return bAllSuccess;
        }
开发者ID:rdealexb,项目名称:keepass,代码行数:101,代码来源:ImportUtil.cs


注:本文中的KeePassLib.PwDatabase.SaveAs方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。