partial void DeleteGalleryPublicationPeriodRecord(GalleryPublicationPeriodRecord instance);
partial void InsertGalleryPublicationPeriodRecord(GalleryPublicationPeriodRecord instance);
private void detach_GalleryPublicationPeriodRecords(GalleryPublicationPeriodRecord entity) { this.SendPropertyChanging(); entity.AdminUserMembershipRecord = null; }
private void detach_GalleryPublicationPeriodRecords(GalleryPublicationPeriodRecord entity) { this.SendPropertyChanging(); entity.CuratedGalleryRecord = null; }
/// <summary> /// Publishes/republishes gallery /// </summary> /// <param name="userID">Gallery publisher</param> /// <param name="id">Unique gallery identifier</param> /// <param name="dtStartUTC">Publication start date</param> /// <param name="dtEnd">Publication end date</param> /// <returns></returns> public OperationResult<OperationResults, GalleryPublicationPeriod> Publish(int? userID, int id, DateTime dtStartUTC, DateTime? dtEndUTC) { using (var context = this.CreateMainContext()) { var galleryRec = context.CuratedGalleryRecords.Where(x => x.ID == id).SingleOrDefault(); if (galleryRec == null) return new OperationResult<OperationResults, GalleryPublicationPeriod>() { Result = OperationResults.NotFound }; if (galleryRec.StatusID == (int)CuratedGalleryStatuses.Published) return new OperationResult<OperationResults, GalleryPublicationPeriod>() { Result = OperationResults.Failure }; foreach (var item in context.GalleryPublicationPeriodRecords.Where(x => x.GalleryID == id).ToArray()) context.GalleryPublicationPeriodRecords.DeleteOnSubmit(item); var period = new GalleryPublicationPeriodRecord() { GalleryID = id, Start = dtStartUTC, End = dtEndUTC, PublisherID = userID }; context.GalleryPublicationPeriodRecords.InsertOnSubmit(period); galleryRec.Editor = null; galleryRec.StatusID = (int)CuratedGalleryStatuses.Published; context.SubmitChanges(); return new OperationResult<OperationResults, GalleryPublicationPeriod>() { Result = OperationResults.Success, Output = this.ObjectMapper.DoMapping<GalleryPublicationPeriod>(period) }; } }