コード例 #1
0
ファイル: DynamicMapper.cs プロジェクト: gviaud/OS-unity-5
    public void SetMapper(BaseMapper baseMapper)
    {
        _mapper = baseMapper;

        if (_mapper != null)
        {
            _mapper.SetMesh (_mesh);
            _mapper.RecalculateTextureCoordinate ();
        }
    }
コード例 #2
0
        public void SaveUseMainLayout(long mediaDetailId, string html)
        {
            if (FrameworkSettings.CurrentUser == null)
            {
                var returnObj = BaseMapper.GenerateReturn("You must be logged in");
                WriteJSON(returnObj.ToJson());
                return;
            }

            var mediaDetail = (MediaDetail)MediaDetailsMapper.GetByID(mediaDetailId);

            if (!FrameworkSettings.CurrentUser.HasPermission(PermissionsEnum.Save))
            {
                var returnObj = BaseMapper.GenerateReturn("You do not have permissions to perform this operation");
                WriteJSON(returnObj.ToJson());
                return;
            }

            if (mediaDetail != null)
            {
                mediaDetail.UseMediaTypeLayouts = false;

                html = Uri.UnescapeDataString(html);
                //html = MediaDetailsMapper.ConvertUrlsToShortCodes(html);

                html = html.Replace(URIHelper.BaseUrl, "{BaseUrl}");

                mediaDetail.MainLayout = html;

                var returnObj = MediaDetailsMapper.Update(mediaDetail);

                WriteJSON(returnObj.ToJson());
            }
            else
            {
                WriteJSON(new Return()
                {
                    Error = new Elmah.Error()
                    {
                        Message = $"MediaDetail with the ID '{mediaDetailId}' was not found"
                    }
                }.ToJson());
            }
        }
コード例 #3
0
ファイル: Detail.aspx.cs プロジェクト: moayyaed/FlexDotnetCMS
        protected void Save_OnClick(object sender, EventArgs e)
        {
            if (!canAccessSection)
            {
                return;
            }

            if (SelectedItem == null)
            {
                SelectedItem = UsersMapper.CreateObject();
            }
            else
            {
                SelectedItem = BaseMapper.GetObjectFromContext <User>(SelectedItem);
            }

            SelectedItem.AuthenticationType = AuthType.Forms.ToString();
            SelectedItem.ResetCode          = "";

            UpdateObjectFromFields();

            Return returnObj = SelectedItem.Validate();

            if (!returnObj.IsError)
            {
                if (SelectedItem.ID == 0)
                {
                    returnObj = UsersMapper.Insert(SelectedItem);
                }
                else
                {
                    returnObj = UsersMapper.Update(SelectedItem);
                }
            }

            if (returnObj.IsError)
            {
                DisplayErrorMessage("Error Saving Item", returnObj.Error);
            }
            else
            {
                DisplaySuccessMessage("Successfully Saved Item");
            }
        }
コード例 #4
0
        private void SaveToDB(string value)
        {
            var obj = StringHelper.JsonToObject <List <JsonObj> >(value);

            if (obj == null)
            {
                return;
            }

            var field = GetField();

            var newIds = StringHelper.ObjectToJson(obj.Select(i => i.id).ToList());
            var oldIds = StringHelper.ObjectToJson(field.FieldAssociations.Select(i => i.AssociatedMediaDetailID).ToList());

            if (newIds == oldIds)
            {
                return;
            }

            var fieldAssociations = field.FieldAssociations.ToList();

            foreach (var item in fieldAssociations)
            {
                BaseMapper.DeleteObjectFromContext(item);
            }

            var orderIndex = 0;

            foreach (var item in obj)
            {
                var mediaDetail = (MediaDetail)MediaDetailsMapper.GetByID(item.id);

                if (mediaDetail != null)
                {
                    field.FieldAssociations.Add(new FieldAssociation()
                    {
                        MediaDetail = mediaDetail, MediaDetailField = field, OrderIndex = orderIndex
                    });
                    orderIndex++;
                }
            }

            var returnObj = BaseMapper.GetDataModel().SaveChanges();
        }
コード例 #5
0
ファイル: Detail.aspx.cs プロジェクト: moayyaed/FlexDotnetCMS
        protected void Save_OnClick(object sender, EventArgs e)
        {
            if (selectedItem == null)
            {
                selectedItem = ScheduledTasksMapper.CreateObject();
            }
            else
            {
                selectedItem = BaseMapper.GetObjectFromContext <ScheduledTask>(selectedItem);
            }

            UpdateObjectFromFields();

            Return returnObj = BaseMapper.GenerateReturn("");

            if (selectedItem.ID == 0)
            {
                returnObj = ScheduledTasksMapper.Insert(selectedItem);
            }
            else
            {
                returnObj = ScheduledTasksMapper.Update(selectedItem);
            }

            if (returnObj.IsError)
            {
                DisplayErrorMessage("Error Saving Item", returnObj.Error);
            }
            else
            {
                DisplaySuccessMessage("Successfully Saved Item");


                /*var rootDetails = BaseMapper.GetObjectFromContext((MediaDetail)FrameworkBaseMedia.RootMediaDetail);
                 * rootDetails.VirtualPath = URIHelper.GetBaseUrlWithScheduledTask(selectedItem);*/

                /*returnObj = MediaDetailsMapper.Update(rootDetails);
                 *
                 * if (!returnObj.IsError)
                 * MediaDetailsMapper.StartUpdateVirtualPathForAllChildren(rootDetails);
                 * else
                 * DisplaySuccessMessage("Error updating root media item");*/
            }
        }
コード例 #6
0
        protected void Save_OnClick(object sender, EventArgs e)
        {
            if (selectedItem == null)
            {
                selectedItem = MediaTypesMapper.CreateObject();
            }
            else
            {
                selectedItem = BaseMapper.GetObjectFromContext <MediaType>(selectedItem);
            }

            UpdateObjectFromFields();

            Return returnObj = selectedItem.Validate();

            if (!returnObj.IsError)
            {
                if (selectedItem.ID == 0)
                {
                    returnObj = MediaTypesMapper.Insert(selectedItem);
                }
                else
                {
                    returnObj = MediaTypesMapper.Update(selectedItem);
                }
            }

            if (returnObj.IsError)
            {
                DisplayErrorMessage("Error Saving Item", returnObj.Error);
            }
            else
            {
                /*var mediaDetails = selectedItem.MediaDetails.Where(i => i.HistoryForMediaDetail == null);
                 *
                 * foreach (var mediaDetail in mediaDetails)
                 * {
                 *  mediaDetail.RemoveFromCache();
                 * }*/

                DisplaySuccessMessage("Successfully Saved Item");
            }
        }
コード例 #7
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);
                }
            }
        }
コード例 #8
0
        private void BindItems()
        {
            if (ParentMediaID == 0 && MediaTypeID == 0)
            {
                ParentMediaID = AdminBasePage.SelectedMedia.ID;
            }

            var parentMedia = MediasMapper.GetByID(ParentMediaID);
            IEnumerable <IMediaDetail> mediaDetailItems = new List <IMediaDetail>();

            if (parentMedia != null)
            {
                var liveMediaDetail = parentMedia.GetLiveMediaDetail();

                if (MediaTypeID > 0)
                {
                    mediaDetailItems = liveMediaDetail.ChildMediaDetails.Where(i => i.MediaTypeID == MediaTypeID && i.HistoryVersionNumber == 0 && i.MediaType.ShowInSiteTree && !i.IsDeleted);
                }
                else
                {
                    mediaDetailItems = liveMediaDetail.ChildMediaDetails.Where(i => i.HistoryVersionNumber == 0 && i.MediaType.ShowInSiteTree && !i.IsDeleted);
                }
            }

            else
            {
                if (MediaTypeID > 0)
                {
                    mediaDetailItems = BaseMapper.GetDataModel().MediaDetails.Where(i => i.MediaTypeID == MediaTypeID && i.HistoryVersionNumber == 0 && i.MediaType.ShowInSiteTree && !i.IsDeleted);
                }
            }

            if (ShowInMenu != ShowStatus.Any)
            {
                mediaDetailItems = mediaDetailItems.Where(i => i.ShowInMenu == bool.Parse(ShowInMenu.ToString()));
            }

            ItemsList.DataSource     = mediaDetailItems.ToList();
            ItemsList.DataTextField  = "SectionTitle";
            ItemsList.DataValueField = "ID";
            ItemsList.DataBind();
        }
コード例 #9
0
        public string TakeOwnership(long id)
        {
            User item = BaseMapper.GetObjectFromContext(UsersMapper.GetByID(id));

            if (item != null)
            {
                Return returnObj = UsersMapper.TransferOwnership(item, FrameworkSettings.CurrentUser);

                if (returnObj.IsError)
                {
                    return(jGrowlHelper.GenerateCode(new jGrowlMessage("Error", "Error taking ownership", jGrowlMessage.jGrowlMessageType.Error, returnObj.Error), true));
                }
                else
                {
                    return(jGrowlHelper.GenerateCode(new jGrowlMessage("Success", "Successfully took ownership of all items assigned to user: (" + item.UserName + ")", jGrowlMessage.jGrowlMessageType.Success), false));
                }
            }

            return("");
        }
コード例 #10
0
        private IMediaDetail CreateHistory(MediaDetail fromItem, bool isDraft)
        {
            if (fromItem == null)
            {
                return(null);
            }

            IMediaDetail history = null;

            if ((selectedItem.ID != 0) && (historyVersion == 0))
            {
                history = MediaDetailsMapper.CreateObject(fromItem.MediaTypeID, fromItem.Media, fromItem.Media.ParentMedia, false);
                history.CopyFrom(BaseMapper.GetObjectFromContext(fromItem));
                history.IsDraft = isDraft;

                CopyProperties(history, fromItem);
            }

            return(history);
        }
コード例 #11
0
        public string DeleteItemPermanently(long id)
        {
            MediaType item = BaseMapper.GetObjectFromContext(MediaTypesMapper.GetByID(id));

            if (item != null)
            {
                Return returnObj = MediaTypesMapper.DeletePermanently(item);

                if (returnObj.IsError)
                {
                    return(jGrowlHelper.GenerateCode(new jGrowlMessage("Error", "Error deleting item permanently", jGrowlMessage.jGrowlMessageType.Error, returnObj.Error), true));
                }
                else
                {
                    return(jGrowlHelper.GenerateCode(new jGrowlMessage("Success", "Item was successfully deleted permanently", jGrowlMessage.jGrowlMessageType.Success), false));
                }
            }

            return("");
        }
コード例 #12
0
        protected void Page_Init(object sender, EventArgs e)
        {
            DynamicContent.Controls.Add(this.ParseControl(MediaDetailsMapper.ParseWithTemplate(CurrentMediaDetail)));

            Return returnObj = BaseMapper.GenerateReturn();

            if (Request["requestVirtualPath"] == null)
            {
                returnObj = BaseMapper.GenerateReturn("You must specify a valid 'requestVirtualPath' query string parameter", "");

                DisplayErrorMessage("Error", returnObj.Error);
                return;
            }

            string requestVirtualPath = Request["requestVirtualPath"];

            var ex = new Exception("Page Not found: ( " + requestVirtualPath + " )");

            ErrorHelper.LogException(ex);
        }
コード例 #13
0
        public void FieldSettingsSubmissionHandler()
        {
            var returnObj = BaseMapper.GenerateReturn("No action performed");

            if (HttpContext.Current.Request.Form["fieldId"] == null)
            {
                returnObj = BaseMapper.GenerateReturn("'fieldId' is missing");
                WriteJSON(returnObj.ToJson());
            }

            if (!long.TryParse(HttpContext.Current.Request.Form["fieldId"], out long fieldId))
            {
                returnObj = BaseMapper.GenerateReturn("Invalid 'fieldId'");
                WriteJSON(returnObj.ToJson());
            }

            var field = FieldsMapper.GetByID(fieldId);

            if (field == null)
            {
                returnObj = BaseMapper.GenerateReturn($"Cannot find field with id '{fieldId}'");
                WriteJSON(returnObj.ToJson());
            }

            var FormDictionary = new Dictionary <string, string>();

            foreach (string key in HttpContext.Current.Request.Form.Keys)
            {
                FormDictionary.Add(key, HttpContext.Current.Request.Form[key]);
            }

            FormDictionary.Add("DateLastModified", StringHelper.FormatDateTime(DateTime.Now));

            var jsonEntry = new JavaScriptSerializer().Serialize(FormDictionary);

            field.FieldSettings = jsonEntry;

            returnObj = FieldsMapper.Update(field);

            WriteJSON(returnObj.ToJson());
        }
コード例 #14
0
        private Return SetPublishStatus(MediaDetail detail, bool publishStatus)
        {
            if ((detail == null) || (detail.IsPublished == publishStatus))
            {
                return(new Return());
            }

            detail = BaseMapper.GetObjectFromContext(detail);

            if (publishStatus)
            {
                detail.PublishDate = DateTime.Now;
            }
            else
            {
                detail.PublishDate = null;
            }

            Return returnObj = MediaDetailsMapper.Update(detail);

            if (returnObj.IsError)
            {
                return(returnObj);
            }
            else
            {
                ContextHelper.ClearAllMemoryCache();
                FileCacheHelper.DeleteCacheDir("generatenav");

                if (publishStatus)
                {
                    detail.PublishDate = DateTime.Now;

                    returnObj = detail.RunOnPublishExecuteCode();

                    return(returnObj);
                }

                return(returnObj);
            }
        }
コード例 #15
0
        private void HandleDeleteAssociation(Media selectedMedia)
        {
            selectedItem  = BaseMapper.GetObjectFromContext <Tag>(selectedItem);
            selectedMedia = BaseMapper.GetObjectFromContext <Media>(selectedMedia);

            var mediaTag = selectedItem.MediaTags.SingleOrDefault(i => i.MediaID == selectedMedia.ID);

            selectedItem.MediaTags.Remove(mediaTag);

            Return obj = TagsMapper.Update(selectedItem);

            if (obj.IsError)
            {
                BasePage.DisplayErrorMessage("Error deleting association", obj.Error);
            }
            else
            {
                BasePage.DisplaySuccessMessage("Successfully deleted association");
                Bind();
            }
        }
コード例 #16
0
        private void Bind(string searchText = "")
        {
            var mediaId = selectedItem.Media.ID;

            if (string.IsNullOrEmpty(searchText))
            {
                listItems = BaseMapper.GetDataModel().MediaDetails.Where(i => i.Media.ParentMediaID == mediaId && i.MediaType.ShowInSiteTree && i.HistoryVersionNumber == 0).OrderByDescending(i => i.DateLastModified).ToList <IMediaDetail>();
            }
            else
            {
                listItems = BaseMapper.GetDataModel().MediaDetails.Where(i => i.Media.ParentMediaID == mediaId && i.MediaType.ShowInSiteTree && i.HistoryVersionNumber == 0 && i.LinkTitle.Contains(searchText)).OrderByDescending(i => i.DateLastModified).ToList <IMediaDetail>();
            }

            /*if(listItems.Count > 0)
             * {
             *  SearchPanel.Visible = true;
             * }*/

            ItemList.DataSource = listItems;
            ItemList.DataBind();
        }
コード例 #17
0
        protected void DeleteDbBackUp_Click(object sender, EventArgs e)
        {
            var deleteButton = sender as LinkButton;

            if (!string.IsNullOrEmpty(deleteButton.CommandArgument) && File.Exists(deleteButton.CommandArgument))
            {
                var returnObj = BaseMapper.GenerateReturn();
                try
                {
                    File.Delete(deleteButton.CommandArgument);
                    BindDbBackUpsList();
                    DisplaySuccessMessage($"Successfully deleted file: ( {deleteButton.CommandArgument} )");
                }
                catch (Exception ex)
                {
                    ErrorHelper.LogException(ex);
                    returnObj.Error = ErrorHelper.CreateError(ex);

                    DisplayErrorMessage(returnObj.Error.Message, returnObj.Error);
                }
            }
        }
コード例 #18
0
        public IActionResult Index(int page = 1)
        {
            var indexViewModel = new IndexViewModel();

            try
            {
                //TODO make another way to get pagination and all entities
                indexViewModel.Articles   = BaseMapper.MapViewModel(_articleMapper, _articleService.Get(true, page));
                indexViewModel.Categories = BaseMapper.MapViewModel(_categoryMapper, _categoryService.Get(false, page));
                indexViewModel.Tags       = BaseMapper.MapViewModel(_tagMapper, _tagService.Get(false, page));

                indexViewModel.PageViewModel = new PageViewModel(_articleService.Get(false, 1).Count());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message, "Stopped program because of exception");
            }

            //var filtredArticles = articleViewModels.Where(p => p.ArticleCategories.Any(m => m.CategoryId == 2));

            return(View(indexViewModel));
        }
コード例 #19
0
ファイル: Detail.aspx.cs プロジェクト: moayyaed/FlexDotnetCMS
        protected void Save_OnClick(object sender, EventArgs e)
        {
            if (!canAccessSection)
            {
                return;
            }

            if (SelectedItem == null)
            {
                SelectedItem = RolesMapper.CreateObject();
            }
            else
            {
                SelectedItem = BaseMapper.GetObjectFromContext <Role>(SelectedItem);
            }

            UpdateObjectFromFields();

            Return returnObj;

            if (SelectedItem.ID == 0)
            {
                returnObj = RolesMapper.Insert(SelectedItem);
            }
            else
            {
                returnObj = RolesMapper.Update(SelectedItem);
            }

            if (returnObj.IsError)
            {
                DisplayErrorMessage("Error Saving Item", returnObj.Error);
            }
            else
            {
                DisplaySuccessMessage("Successfully Saved Item");
                UpdateFieldsFromObject();
            }
        }
コード例 #20
0
        private void SetShowInMenuStatus(MediaDetail detail, bool showInMenu)
        {
            if ((detail == null) || (detail.ShowInMenu == showInMenu))
            {
                return;
            }

            detail            = BaseMapper.GetObjectFromContext(detail);
            detail.ShowInMenu = showInMenu;

            Return returnObj = MediaDetailsMapper.Update(detail);

            if (returnObj.IsError)
            {
                throw returnObj.Error.Exception;
            }
            else
            {
                ContextHelper.ClearAllMemoryCache();
                FileCacheHelper.DeleteCacheDir("generatenav");
            }
        }
コード例 #21
0
        protected void RestoreBackUp_Click(object sender, EventArgs e)
        {
            if (!canAccessSection)
            {
                DisplayAccessError();
                return;
            }

            var restoreButton = sender as LinkButton;

            if (!string.IsNullOrEmpty(restoreButton.CommandArgument) && File.Exists(restoreButton.CommandArgument))
            {
                var returnObj = BaseMapper.GenerateReturn();
                try
                {
                    BackupNow_OnClick(sender, e);

                    returnObj = BackupHelper.RestoreDatabase(restoreButton.CommandArgument);

                    if (returnObj.IsError)
                    {
                        DisplayErrorMessage("Error restoring", returnObj.Error);
                    }
                    else
                    {
                        DisplaySuccessMessage($"Successfully restored file: ( {restoreButton.CommandArgument} )");
                    }
                }
                catch (Exception ex)
                {
                    ErrorHelper.LogException(ex);
                    returnObj.Error = ErrorHelper.CreateError(ex);

                    DisplayErrorMessage(returnObj.Error.Message, returnObj.Error);
                }
            }
        }
コード例 #22
0
        protected void Save_OnClick(object sender, EventArgs e)
        {
            if (selectedItem == null)
            {
                selectedItem = MasterPagesMapper.CreateObject();
            }
            else
            {
                selectedItem = BaseMapper.GetObjectFromContext <MasterPage>(selectedItem);
            }

            UpdateObjectFromFields();

            Return returnObj = selectedItem.Validate();

            if (!returnObj.IsError)
            {
                if (selectedItem.ID == 0)
                {
                    returnObj = MasterPagesMapper.Insert(selectedItem);
                }
                else
                {
                    returnObj = MasterPagesMapper.Update(selectedItem);
                }
            }

            if (returnObj.IsError)
            {
                DisplayErrorMessage("Error Saving Item", returnObj.Error);
            }
            else
            {
                SettingsMapper.ClearCache();
                DisplaySuccessMessage("Successfully Saved Item");
            }
        }
コード例 #23
0
        public void GetChildNodes(long id)
        {
            var rootNode = BaseMapper.GetDataModel().MediaDetails.FirstOrDefault(i => i.HistoryForMediaDetail == null && i.MediaID == id);

            if (rootNode != null)
            {
                IEnumerable <IMediaDetail> childMediaDetails = MediaDetailsMapper.GetAtleastOneChildByMedia(rootNode.Media, AdminBasePage.CurrentLanguage).ToList();

                //var childMediaDetails = BaseMapper.GetDataModel().MediaDetails.Where(i => i.HistoryVersionNumber == 0 && i.Media.ParentMediaID == rootNode.MediaID && i.ID != rootNode.ID && i.MediaType.ShowInSiteTree && i.LanguageID == AdminBasePage.CurrentLanguage.ID).OrderBy(i => i.Media.OrderIndex).ToList();

                /*childMediaDetails = childMediaDetails.Where(i =>
                 * {
                 *  if(MediaDetailsMapper.CanAccessMediaDetail(i, FrameworkSettings.CurrentUser).IsError)
                 *  {
                 *      return false;
                 *  }
                 *
                 *  return true;
                 * });*/

                var jsTreeNodes = childMediaDetails.Select(i => GetJsTreeNode(i));
                WriteJSON(StringHelper.ObjectToJson(jsTreeNodes));
            }
        }
コード例 #24
0
        public void SearchForNodes(string filterText)
        {
            filterText = filterText.ToLower().Trim();
            var foundItems = BaseMapper.GetDataModel().MediaDetails.Where(i => i.MediaType.ShowInSiteTree &&
                                                                          i.HistoryVersionNumber == 0 &&
                                                                          i.LanguageID == AdminBasePage.CurrentLanguage.ID &&
                                                                          (i.MediaID.ToString() == filterText ||
                                                                           i.Fields.FirstOrDefault(j => j.FieldCode == "MainContent").FieldValue.ToLower().Contains(filterText) ||
                                                                           i.Fields.FirstOrDefault(j => j.FieldCode == "ShortDescription").FieldValue.ToLower().Contains(filterText) ||
                                                                           i.Fields.FirstOrDefault(j => j.FieldCode == "SectionTitle").FieldValue.ToLower().Contains(filterText) ||
                                                                           i.MainLayout.ToLower().Contains(filterText) ||
                                                                           i.MediaType.MainLayout.ToLower().Contains(filterText) ||
                                                                           i.Fields.Any(j => (j.FieldAssociations.Count == 0 && j.FieldValue.ToLower().Contains(filterText)) ||
                                                                                        j.FieldAssociations.Any(k => !k.MediaDetail.MediaType.ShowInSiteTree &&
                                                                                                                (k.MediaDetail.Fields.FirstOrDefault(l => l.FieldCode == "SectionTitle").FieldValue.ToLower().Contains(filterText) ||
                                                                                                                 k.MediaDetail.Fields.FirstOrDefault(l => l.FieldCode == "MainContent").FieldValue.ToLower().Contains(filterText) ||
                                                                                                                 k.MediaDetail.Fields.FirstOrDefault(l => l.FieldCode == "MainLayout").FieldValue.ToLower().Contains(filterText))
                                                                                                                ))
                                                                          )).ToList();

            var jsTreeNodes = foundItems.Select(i => GetJsTreeNode(i));

            var newJsTreeNodes = new List <JsTreeNode>();

            foreach (var node in jsTreeNodes)
            {
                node.parent         = "#";
                node.state.opened   = false;
                node.state.selected = false;
                node.children       = false;

                newJsTreeNodes.Add(node);
            }

            WriteJSON(StringHelper.ObjectToJson(newJsTreeNodes));
        }
コード例 #25
0
        protected void Page_Init(object sender, EventArgs e)
        {
            var templateTopAndBottomSegments = CurrentMediaDetail.GetTemplateTopAndBottomSegments(this);

            if (templateTopAndBottomSegments.Count > 1)
            {
                TemplateTopSegment.Controls.Add(templateTopAndBottomSegments.ElementAt(0));
                TemplateBottomSegment.Controls.Add(templateTopAndBottomSegments.ElementAt(1));
            }

            var blogPosts  = BaseMapper.GetDataModel().MediaDetails.Where(i => i.MediaType.Name == "BlogPost" && i.HistoryVersionNumber == 0);
            var categories = BaseMapper.GetDataModel().MediaDetails.Where(i => i.MediaType.Name == "BlogCategory" && i.HistoryVersionNumber == 0);

            BlogCategories.DataSource = categories.ToList().Where(i => i.CanRender).ToList();
            BlogCategories.DataBind();

            if (CurrentMediaDetail.MediaType.Name == "BlogCategory")
            {
                blogPosts = blogPosts.Where(i => i.Media.ParentMediaID == CurrentMediaDetail.MediaID);
            }

            BlogPosts.DataSource = blogPosts.ToList().Where(i => i.CanRender).OrderByDescending(i => i.PublishDate).ToList();
            BlogPosts.DataBind();
        }
コード例 #26
0
        public string GetDataJson()
        {
            var media           = MediasMapper.GetByID(ParentMediaID);
            var autoSuggestList = new List <AutoSuggest>();
            IEnumerable <IMediaDetail> mediaDetailItems = new List <IMediaDetail>();

            if (media != null)
            {
                var liveMediaDetail = media.GetLiveMediaDetail();

                if (MediaTypeID > 0)
                {
                    mediaDetailItems = liveMediaDetail.ChildMediaDetails.Where(i => i.MediaTypeID == MediaTypeID && i.HistoryVersionNumber == 0 && i.MediaType.ShowInSiteTree && !i.IsDeleted);
                }
                else
                {
                    mediaDetailItems = liveMediaDetail.ChildMediaDetails.Where(i => i.HistoryVersionNumber == 0 && i.MediaType.ShowInSiteTree && !i.IsDeleted);
                }
            }
            else
            {
                if (MediaTypeID > 0)
                {
                    mediaDetailItems = BaseMapper.GetDataModel().MediaDetails.Where(i => i.MediaTypeID == MediaTypeID && i.HistoryVersionNumber == 0 && i.MediaType.ShowInSiteTree && !i.IsDeleted);
                }
            }

            if (ShowInMenu != ShowStatus.Any)
            {
                mediaDetailItems = mediaDetailItems.Where(i => i.ShowInMenu == bool.Parse(ShowInMenu.ToString()));
            }

            autoSuggestList = GetAutoSuggestList(mediaDetailItems);

            return(StringHelper.ObjectToJson(autoSuggestList));
        }
コード例 #27
0
        public IActionResult Edit(int?id)
        {
            var categories             = BaseMapper.MapViewModel(_categoryMapper, _categoryService.Get(false, 0));
            var categoriesSelectedList = new SelectList(categories.ToList(), "Id", "Name");

            ViewBag.Categories = categoriesSelectedList;

            var tags = BaseMapper.MapViewModel(_tagMapper, _tagService.Get(false, 0));

            ViewBag.Tags = tags;

            if (id.HasValue)
            {
                try
                {
                    var articleDTO = _articleService.GetById(id.Value);

                    if (articleDTO != null)
                    {
                        var articleViewModel = _articleMapper.Map(articleDTO);
                        return(View(articleViewModel));
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex.Message, "Stopped program because of exception");
                    throw;
                }

                return(NotFound());
            }
            else
            {
                return(View(new ArticleViewModel()));
            }
        }
コード例 #28
0
        public RZPResultModel GetCompanyByTaxId(string taxId)
        {
            Logger.Debug($"{CorrelationId} - Request RZP Data for taxId:{taxId} started");

            Stopwatch watch = Stopwatch.StartNew();

            Ares_odpovedi aresResponse = WebRequestHelper.XmlWebRequestSequence <Ares_odpovedi>(
                PrepareUrl(new Dictionary <string, string>
            {
                {
                    "ico",
                    taxId
                }
            }));

            Logger.Debug($"{CorrelationId} - Got ARES reponse. Time:{watch.Elapsed}");
            watch.Restart();

            RZPResultModel result = BaseMapper.MapRZPData(aresResponse);

            Logger.Debug($"{CorrelationId} - ARES response mapped. Time:{watch.Elapsed}");

            return(result);
        }
コード例 #29
0
        public void GetRootNodes()
        {
            var rootNode = BaseMapper.GetDataModel().MediaDetails.FirstOrDefault(i => i.HistoryForMediaDetail == null && i.Media.ParentMedia == null && i.MediaType.Name == MediaTypeEnum.RootPage.ToString());

            WriteJSON(StringHelper.ObjectToJson(GetJsTreeNode(rootNode)));
        }
コード例 #30
0
        public ModelToSqlExpressionHelper()
        {
            _mapper = MerchelloMapper.Current.ResolveByType(typeof(T)).Result;

            //MappingResolver.Current.ResolveMapperByType(typeof(T));
        }
コード例 #31
0
        private void UpdateTreeNode(JsTreeNode node, IMediaDetail detail)
        {
            if (detail == null)
            {
                return;
            }

            node.id     = detail.MediaID.ToString();
            node.parent = (detail.Media.ParentMediaID == null) ? "#" : detail.Media.ParentMediaID.ToString();
            node.text   = detail.SectionTitle;

            //node.children =( MediaDetailsMapper.GetAtleastOneChildByMedia(detail.Media, AdminBasePage.CurrentLanguage).Where(i => i.MediaType.ShowInSiteTree).Count() > 0);
            node.children = (BaseMapper.GetDataModel().MediaDetails.Count(i => i.MediaType.ShowInSiteTree && i.HistoryVersionNumber == 0 && i.Media.ParentMediaID == detail.MediaID) > 0);

            node.text = detail.SectionTitle.ToString();
            //node.Attributes.Add("FrontEndUrl", detail.AbsoluteUrl);

            var nodeText = "";

            if (detail.LanguageID != AdminBasePage.CurrentLanguage.ID)
            {
                nodeText            = $"{detail.LinkTitle} - {LanguagesMapper.GetByID(detail.Language.ID).Name} ({node.id})";
                node.li_attr._class = "doesNotExistInLanguage";
            }
            else
            {
                nodeText = $"{detail.LinkTitle} <small>({detail.MediaID})</small>";
            }

            if (detail.IsDeleted)
            {
                node.li_attr._class += " isDeleted";
            }

            if (detail.WillPublish)
            {
                node.li_attr._class += " willPublish";

                var autoPublishCode = $"<i class='fa fa-clock-o' aria-hidden='true' title='This page is set to auto-publish at: {detail.PublishDate}'></i> ";

                nodeText += $"<small class='willPublishWrapper'>{autoPublishCode}Will Publish</small>";
            }

            if (detail.IsPublished && detail.WillExpire)
            {
                node.li_attr._class += " willExpire";

                var autoPublishCode = $"<i class='fa fa-clock-o' aria-hidden='true' title='This page is set to auto-expire at: {detail.ExpiryDate}'></i> ";

                nodeText += $"<small class='willExpireWrapper'>{autoPublishCode}Will Expire</small>";
            }

            if ((!detail.ShowInMenu) && (!detail.RenderInFooter))
            {
                node.li_attr._class += " isHidden";
            }


            if (detail.HasExpired)
            {
                node.li_attr._class += " hasExpired";

                nodeText += $"<small class='hasExpiredWrapper'>Has Expired</small>";
            }
            else
            {
                if (!detail.IsPublished && !detail.WillPublish)
                {
                    node.li_attr._class += " unPublished";

                    nodeText += $"<small class='unPublishedWrapper'>UnPublished</small>";
                }
            }

            if (AdminBasePage.SelectedMediaDetail != null && AdminBasePage.SelectedMediaDetail.ID == detail.ID)
            {
                node.li_attr._class += " selected";
            }

            var draft = detail.GetLatestDraft();

            if (detail.HasDraft && draft != null)
            {
                node.li_attr._class += " hasDraft";

                var autoPublishCode = "";

                if (draft.DateLastModified > detail.DateLastModified)
                {
                    node.li_attr._class += " draftIsNewer";
                }

                if ((draft.PublishDate - detail.PublishDate) > TimeSpan.FromSeconds(10))
                {
                    autoPublishCode = $"<i class='fa fa-clock-o' aria-hidden='true' title='This draft is set to auto-publish at: {draft.PublishDate}'></i> ";
                }

                nodeText += $"<small class='hasDraftWrapper'>{autoPublishCode}Has Draft</small>";
            }

            var pendingComments = detail.Media.Comments.Count(i => i.Status == StatusEnum.Pending.ToString() && i.LanguageID == detail.LanguageID);

            if (pendingComments > 0)
            {
                node.li_attr._class += " hasPendingComments";
                nodeText            += $"<small class='hasPendingCommentsWrapper'>Pending Comments</small>";
            }

            if (detail.MediaType.GetRoles().Count > 0 || detail.Media.RolesMedias.Count > 0)
            {
                var fontAwsomeClasses = "fa";

                node.li_attr._class += " restricted";
                if (MediaDetailsMapper.CanAccessMediaDetail(detail, FrameworkSettings.CurrentUser).IsError)
                {
                    fontAwsomeClasses += " fa-lock";
                }
                else
                {
                    fontAwsomeClasses += " fa-unlock";
                }

                nodeText += $"<small class='restrictedWrapper'><i class='fa {fontAwsomeClasses}' aria-hidden='true'></i></small>";
            }

            node.text = nodeText;

            //node.LinkAttributes.Add("data-frontendurl", detail.Media.PermaLink);
            node.a_attr.frontendurl    = detail.AbsoluteUrl;
            node.li_attr.mediaDetailId = detail.ID.ToString();

            node.a_attr.href = URIHelper.ConvertToAbsUrl(WebApplication.BasePage.GetAdminUrl(detail.MediaTypeID, detail.MediaID));

            if (detail?.MediaType?.Name == "Website" || detail?.MediaType?.Name == "RootPage")
            {
                node.state.opened = true;
            }

            IEnumerable <Media> parentItems = new List <Media>();

            if (AdminBasePage.SelectedMedia != null)
            {
                parentItems = MediaDetailsMapper.GetAllParentMedias(AdminBasePage.SelectedMedia);

                if (parentItems.Any(i => i.ID == detail.MediaID))
                {
                    node.state.opened = true;
                }
            }

            if (detail.MediaID == AdminBasePage.SelectedMedia?.ID)
            {
                node.state.opened   = true;
                node.state.selected = true;
            }
        }