Example #1
0
        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));
        }
Example #2
0
        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);
                }
            }
        }