private Return SaveHistory(IMediaDetail history) { selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem); history.HistoryForMediaDetailID = selectedItem.ID; if (selectedItem.History.Count == 0) { history.HistoryVersionNumber = 1; } else { history.HistoryVersionNumber = selectedItem.History.OrderByDescending(i => i.HistoryVersionNumber).Take(1).FirstOrDefault().HistoryVersionNumber + 1; } if (selectedItem.History.Count >= MediaDetailsMapper.MaxHistory) { int count = selectedItem.History.Count - MediaDetailsMapper.MaxHistory; IEnumerable <MediaDetail> items = selectedItem.History.OrderBy(i => i.HistoryVersionNumber).Take(count); foreach (MediaDetail item in items) { if (!item.IsDraft) { MediaDetailsMapper.ClearObjectRelations(item); MediaDetailsMapper.DeleteObjectFromContext(item); } } } /*if (history.MainContent.Trim() == "") * history.MainContent = "TBD";*/ return(MediaDetailsMapper.Insert(history)); }
protected void Delete_Click(object sender, EventArgs e) { var field = GetDataItemFromSender((Control)sender); if (field != null && field.ID != 0) { //TODO: Only un-comment for testing var mediaDetailFields = field.MediaDetailFields.ToList(); foreach (var mediaDetailField in mediaDetailFields) { var fieldAssociations = mediaDetailField.FieldAssociations.ToList(); foreach (var item in fieldAssociations) { if (!item.MediaDetail.MediaType.ShowInSiteTree) { var media = item.MediaDetail.Media; MediaDetailsMapper.ClearObjectRelations(item.MediaDetail); BaseMapper.DeleteObjectFromContext(item.MediaDetail); } } BaseMapper.DeleteObjectFromContext(mediaDetailField); } // End of TODO BaseMapper.DeleteObjectFromContext(field); var returnObj = MediaTypesMapper.Update(mediaType); if (!returnObj.IsError) { UpdatedFieldsFromObject(new MediaTypeField()); Bind(); } else { BasePage.DisplayErrorMessage("Error", returnObj.Error); } } }