本文整理汇总了C#中IFactory.CreateSynchronizationStatus方法的典型用法代码示例。如果您正苦于以下问题:C# IFactory.CreateSynchronizationStatus方法的具体用法?C# IFactory.CreateSynchronizationStatus怎么用?C# IFactory.CreateSynchronizationStatus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IFactory
的用法示例。
在下文中一共展示了IFactory.CreateSynchronizationStatus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Synchronize_RetrieveStatus
/// <summary>
/// Retrieve the most recent synchronization information from the data store.
/// </summary>
/// <param name="galleryId">The gallery ID.</param>
/// <param name="factory">An instance of <see cref="IFactory"/>. It is used to instantiate a <see cref="ISynchronizationStatus"/> object.</param>
/// <returns>
/// Returns an <see cref="ISynchronizationStatus"/> object with the most recent synchronization information from the data store.
/// </returns>
/// <exception cref="ArgumentNullException">Thrown when <paramref name="factory" /> is null.</exception>
public override ISynchronizationStatus Synchronize_RetrieveStatus(int galleryId, IFactory factory)
{
if (factory == null)
throw new ArgumentNullException("factory");
ISynchronizationStatus updatedSynchStatus = null;
using (GspContext ctx = new GspContext())
{
SynchronizeDto sDto = ctx.Synchronizes.Find(galleryId);
if (sDto != null)
{
SynchronizationState synchState = (SynchronizationState)Enum.Parse(typeof(SynchronizationState), sDto.SynchState.ToString(CultureInfo.InvariantCulture));
updatedSynchStatus = factory.CreateSynchronizationStatus(galleryId, sDto.SynchId, synchState, sDto.TotalFiles, String.Empty, sDto.CurrentFileIndex, String.Empty);
}
}
if (updatedSynchStatus == null)
{
// The gs_Synchronize table didn't have a record for this gallery. Configure the gallery, which will
// insert the missing record, then call this method again.
IGallery gallery = Gallery_GetGalleries(factory.CreateGalleryCollection()).FindById(galleryId);
if (gallery != null)
{
gallery.Configure();
}
else
{
throw new ErrorHandler.CustomExceptions.InvalidGalleryException(galleryId);
}
return Synchronize_RetrieveStatus(galleryId, factory);
}
return updatedSynchStatus;
}