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


C# ITime.SubtractTime方法代码示例

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


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

示例1: OnClick


//.........这里部分代码省略.........
            MessageBox.Show("There was a problem searching for repeat plans.", "Merge plans by name");
              }
              SummaryNames = null;
              RepeatPlans = null;
              Cleanup(pMouseCursor, null, pTable, pPlansTable, pWS, pProgressorDialog);
              return;
            }

            dlgMergeSameNamePlans TheSummaryDialog = new dlgMergeSameNamePlans();

            FillTheSummaryList(TheSummaryDialog, SummaryNames);

            DialogResult dResult = TheSummaryDialog.ShowDialog();

            if (dResult == DialogResult.Cancel)
            {
              pProgressorDialog.HideDialog();
              SummaryNames = null;
              RepeatPlans = null;
              Cleanup(pMouseCursor, null,pTable, pPlansTable, pWS, pProgressorDialog);
              pPlansTable = null;
              return;
            }

            //get the time now
            m_pStartTime = new TimeClass();
            m_pStartTime.SetFromCurrentLocalTime();

            Dictionary<int, int> Lookup = new Dictionary<int, int>();
            string[] InClause = new string[0]; //define as dynamic array

            m_pStepProgressor.Message = "Creating the merge query...";
            FabricUTILS.BuildSearchMapAndQuery(RepeatPlans, out Lookup, out InClause, out pPlansToDelete);

            ICadastralFabricSchemaEdit2 pSchemaEd = (ICadastralFabricSchemaEdit2)m_pCadaFab;
            ITable ParcelTable = m_pCadaFab.get_CadastralTable(esriCadastralFabricTable.esriCFTParcels);
            pSchemaEd.ReleaseReadOnlyFields(ParcelTable, esriCadastralFabricTable.esriCFTParcels); //release safety-catch

            if (!FabricUTILS.StartEditing(pWS, bIsUnVersioned))
            {
              Cleanup(pMouseCursor, pPlansToDelete,pTable, pPlansTable, pWS, pProgressorDialog);
              InClause = null;
              Lookup.Clear();
              Lookup = null;
              return;
            }

            //setup progressor dialog for merge
            m_pStepProgressor.Message = "Moving parcels from source to target plans...";

            if (!FabricUTILS.MergePlans(ParcelTable, Lookup, InClause, bIsUnVersioned,m_pStepProgressor,m_pTrackCancel))
            {
              FabricUTILS.AbortEditing(pWS);
              pSchemaEd.ResetReadOnlyFields(esriCadastralFabricTable.esriCFTParcels);
              Cleanup(pMouseCursor, pPlansToDelete,pTable,pPlansTable, pWS,pProgressorDialog);
              InClause = null;
              Lookup.Clear();
              Lookup = null;
              return;
            }

            if (TheSummaryDialog.checkBox1.Checked)
            {
              //setup progressor dialog for Delete
              m_pStepProgressor.MaxRange = pPlansToDelete.Count();
              m_pStepProgressor.Message = "Deleting source plans...";

              if (bIsUnVersioned)
              {
            if (!FabricUTILS.DeleteRowsUnversioned(pWS, pPlansTable, pPlansToDelete, m_pStepProgressor, m_pTrackCancel))
              Cleanup(pMouseCursor, pPlansToDelete,pTable,pPlansTable,pWS,pProgressorDialog);
              }
              else
              {
            if (!FabricUTILS.DeleteRowsByFIDSet(pPlansTable, pPlansToDelete, m_pStepProgressor, m_pTrackCancel))
              Cleanup(pMouseCursor, pPlansToDelete,pTable,pPlansTable, pWS,pProgressorDialog);
              }
            }

            pSchemaEd.ResetReadOnlyFields(esriCadastralFabricTable.esriCFTParcels);

            m_pEndTime = new TimeClass();
            m_pEndTime.SetFromCurrentLocalTime();
            ITimeDuration HowLong = m_pEndTime.SubtractTime(m_pStartTime);

            m_pStepProgressor.Message = "["
              + HowLong.Hours.ToString("00") + "h "
              + HowLong.Minutes.ToString("00") + "m "
              + HowLong.Seconds.ToString("00") + "s]" + "  Saving changes...please wait.";

            FabricUTILS.StopEditing(pWS);
            Cleanup(pMouseCursor, pPlansToDelete,pTable,pPlansTable, pWS,pProgressorDialog);

              }
              catch (COMException ex)
              {
            MessageBox.Show(Convert.ToString(ex.ErrorCode));
            Cleanup(pMouseCursor, pPlansToDelete,pTable,null,pWS,null);
              }
        }
开发者ID:Esri,项目名称:parcel-fabric-desktop-addins,代码行数:101,代码来源:MergeSameNameFabricPlans.cs


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