public void Publish(int publicationTaskID) { try { PublicationTask publicationTask = Proxy.PopulatePublicationTask(publicationTaskID); if (publicationTask != null) { bool isTaskPublishable = Proxy.IsTaskPublishable(publicationTask); if (isTaskPublishable) { publicationTask.Status = 1; HelperClasses.Output.ThrowIfFailed(Proxy.SaveTask(publicationTask), string.Format("Could not set task {0} queued status.", publicationTaskID)); PublishItems(publicationTask); HelperClasses.Output.ThrowIfFailed(Proxy.IsTaskPublished(publicationTask), string.Format("Unpublished items in task {0}.", publicationTaskID)); publicationTask.Status = 2; HelperClasses.Output.ThrowIfFailed(Proxy.SaveTask(publicationTask), string.Format("Could not set task {0} published status.", publicationTaskID)); } } else { HelperClasses.Output.ThrowIfFailed(false, "Could not populate publication task."); } } catch (Exception ex) { HelperClasses.Output.ThrowIfFailed(false, ex.Message); } //Life is good, so let transaction commit HelperClasses.Output.WriteMessage(string.Format("Published {0} ", publicationTaskID.ToString())); }
public bool SaveTask(PublicationTask publicationTask) { bool saved = false; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Suppress)) { saved = DAL.PublicationDAL.PublicationTask.SavePublicationTask(publicationTask); scope.Complete(); } return(saved); }
public bool IsTaskPublished(PublicationTask publicationTask) { foreach (Entities.PublicationEntities.PublicationItem publicationItem in publicationTask.PublicationItems) { if (publicationItem.Status != 2) // 2 = Published { return(false); } } return(true); }
public bool IsTaskPublishable(PublicationTask publicationTask) { if (publicationTask == null) { return(false); } if (publicationTask.Status == 0 || publicationTask.Status == 1) { return(true); } return(false); }
public PublicationTask PopulatePublicationTask(int publicationTaskID) { PublicationTask publicationTask = null; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Suppress)) { publicationTask = DAL.PublicationDAL.PublicationTask.GetPublicationTask(publicationTaskID); publicationTask.PublicationItems = DAL.PublicationDAL.PublicationItem.GetPublicationItems(publicationTask.PublicationTaskID); scope.Complete(); } return(publicationTask); }