private void LoadMessage(long idMessage, Boolean advancedEditor) { NoticeboardMessage message = null; if (idMessage != 0) { message = Service.GetMessage(idMessage); } else { message = new NoticeboardMessage(); message.CreateByAdvancedEditor = advancedEditor; message.StyleSettings = new StyleSettings(); } if (message == null && idMessage > 0) { View.AllowSave(false); View.DisplayUnknownMessage(); } else { View.IdCurrentMessage = idMessage; View.EditMessage(message, advancedEditor); } }
// String url, public void ClearNoticeBoard(Int32 idCommunity, Boolean isForPortal, String renderfolderpath, String defaultHttpUrl, System.Guid applicationWorkingId, String baseUrlHttp) { if (IsSessionTimeout(true)) { return; } NoticeBoard.Domain.ModuleNoticeboard permissions = Service.GetPermissions(idCommunity); if (permissions.Administration) { String url = defaultHttpUrl + lm.Comol.Core.BaseModules.NoticeBoard.Domain.RootObject.DisplayMessageWithoutSession("{0}", idCommunity, applicationWorkingId); NoticeboardMessage message = Service.AddEmptyMessage(idCommunity, isForPortal, renderfolderpath, url, baseUrlHttp, defaultHttpUrl); View.DisplayMessage((message != null), ModuleNoticeboard.ActionType.Clean); if (message != null) { View.SendUserAction(idCommunity, CurrentIdModule, message, RootObject.ViewMessage(message.Id, idCommunity), ModuleNoticeboard.ActionType.Clean); LoadMessage(Service.GetPermissions(idCommunity), idCommunity, isForPortal, message.Id, true); } else { View.SendUserAction(idCommunity, CurrentIdModule, ModuleNoticeboard.ActionType.GenericError); } } else { SetDashboardCommands(permissions, idCommunity, isForPortal, Service.GetHistoryItem(View.IdCurrentMessage)); } }
public void VirtualDeleteMessage(long idMessage, Int32 idCommunity, Boolean isForPortal, System.Guid applicationWorkingId) { if (IsSessionTimeout(true)) { return; } NoticeBoard.Domain.ModuleNoticeboard permissions = Service.GetPermissions(idCommunity); if (permissions.Administration || permissions.DeleteMessage) { NoticeboardMessage message = Service.VirtualDeleteMessage(idMessage, true, false, applicationWorkingId); View.DisplayMessage((message != null), ModuleNoticeboard.ActionType.VirtualDelete); if (message != null) { View.SendUserAction(idCommunity, CurrentIdModule, message, RootObject.ViewMessage(idMessage, idCommunity), ModuleNoticeboard.ActionType.VirtualDelete); LoadMessage(Service.GetPermissions(idCommunity), idCommunity, isForPortal, message.Id, true); } else { View.SendUserAction(idCommunity, CurrentIdModule, ModuleNoticeboard.ActionType.GenericError); } } else { SetDashboardCommands(permissions, idCommunity, isForPortal, Service.GetHistoryItem(idMessage)); } }
public void VirtualUnDeleteMessage(long idMessage, Boolean activate, Int32 idCommunity, Boolean isForPortal, System.Guid applicationWorkingId, String renderfolderpath = "", String defaultHttpUrl = "", String baseUrlHttp = "") { if (IsSessionTimeout(true)) { return; } NoticeBoard.Domain.ModuleNoticeboard permissions = Service.GetPermissions(idCommunity); if (permissions.Administration || permissions.RetrieveOldMessage) { String url = defaultHttpUrl + lm.Comol.Core.BaseModules.NoticeBoard.Domain.RootObject.DisplayMessageWithoutSession(idMessage, idCommunity, applicationWorkingId); NoticeboardMessage message = Service.VirtualDeleteMessage(idMessage, false, activate, applicationWorkingId, renderfolderpath, url, baseUrlHttp, defaultHttpUrl); View.DisplayMessage((message != null), (activate) ? ModuleNoticeboard.ActionType.UndeleteAndActivate : ModuleNoticeboard.ActionType.Undelete); if (message != null) { View.SendUserAction(idCommunity, CurrentIdModule, message, RootObject.ViewMessage(idMessage, idCommunity), (activate) ? ModuleNoticeboard.ActionType.UndeleteAndActivate : ModuleNoticeboard.ActionType.Undelete); LoadMessage(Service.GetPermissions(idCommunity), idCommunity, isForPortal, message.Id, true); } else { View.SendUserAction(idCommunity, CurrentIdModule, ModuleNoticeboard.ActionType.GenericError); } } else { SetDashboardCommands(permissions, idCommunity, isForPortal, Service.GetHistoryItem(idMessage)); } }
public void SaveMessage(Boolean redirectToManagement, long idMessage, Boolean advancedEditor, Int32 idCommunity, Boolean isForPortal, String renderfolderpath, String defaultHttpUrl, System.Guid applicationWorkingId, String baseUrlHttp, String text, String plainText, StyleSettings settings = null) { if (IsSessionTimeout(true)) { return; } String url = defaultHttpUrl + lm.Comol.Core.BaseModules.NoticeBoard.Domain.RootObject.DisplayMessageWithoutSession("{0}", idCommunity, applicationWorkingId); idMessage = (Service.isNewMessage(idMessage, text, plainText) ? 0 : idMessage); NoticeboardMessage message = Service.SaveMessage(idMessage, advancedEditor, idCommunity, isForPortal, renderfolderpath, url, defaultHttpUrl, baseUrlHttp, text, plainText, settings); View.DisplayMessage((message != null), (idMessage == 0) ? ModuleNoticeboard.ActionType.Created : ModuleNoticeboard.ActionType.SavedMessage); if (message != null) { View.SendUserAction(idCommunity, CurrentIdModule, message, RootObject.ViewMessage(message.Id, idCommunity), (idMessage == 0) ? ModuleNoticeboard.ActionType.Created : ModuleNoticeboard.ActionType.SavedMessage); if (redirectToManagement) { View.RedirectToDasboardUrl(RootObject.NoticeboardDashboard(message.Id, idCommunity, isForPortal, false)); } else { View.IdCurrentMessage = message.Id; View.EditMessage(message, advancedEditor); } } else { View.SendUserAction(idCommunity, CurrentIdModule, (idMessage > 0) ? ModuleNoticeboard.ActionType.UnableToSaveMessage : ModuleNoticeboard.ActionType.UnableToAddMessage); } }
private void InitializeView(String configurationPath, NoticeboardMessage message) { lm.Comol.Core.BaseModules.Editor.EditorConfiguration config = ServiceEditor.GetConfiguration(configurationPath); if (!(config == null || (config.DefaultEditor == null && !config.Settings.Any()))) { ModuleEditorSettings mSettings = (config.ModuleSettings == null) ? null : config.ModuleSettings.Where(m => m.ModuleCode == ModuleNoticeboard.UniqueID).FirstOrDefault(); EditorType loadType = (mSettings != null) ? mSettings.EditorType : ((config.Settings.Any() && config.Settings.Where(s => s.EditorType == EditorType.telerik).Any()) ? EditorType.telerik : ((config.DefaultEditor != null) ? config.DefaultEditor.EditorType : EditorType.none)); EditorSettings rSettings = (config.Settings.Any() ? config.Settings.Where(s => s.EditorType == loadType).FirstOrDefault() : null); EditorSettings settings = (rSettings != null) ? rSettings : config.DefaultEditor; String fontfamily = (mSettings != null) ? mSettings.FontNames : (settings != null) ? settings.FontNames : config.FontNames; if (String.IsNullOrEmpty(fontfamily)) { fontfamily = config.FontNames; } String fontSizes = (mSettings != null) ? mSettings.FontSizes : (settings != null) ? settings.FontSizes : config.FontSizes; String realFontSizes = (mSettings != null) ? mSettings.RealFontSizes : (settings != null) ? settings.RealFontSizes : config.RealFontSizes; Boolean useRealFontSize = (!String.IsNullOrEmpty(realFontSizes)) ? View.UseRealFontSize : (mSettings != null) ? mSettings.UseRealFontSize : (settings != null) ? settings.UseRealFontSize : config.UseRealFontSize; FontConfiguration defaultFont = (mSettings != null && mSettings.DefaultFont != null) ? mSettings.DefaultFont : (settings != null && settings.DefaultFont != null) ? settings.DefaultFont : config.DefaultFont; FontConfiguration defaultRealFont = (mSettings != null && mSettings.DefaultRealFont != null) ? mSettings.DefaultRealFont : (settings != null && settings.DefaultRealFont != null) ? settings.DefaultRealFont : config.DefaultRealFont; List <FontSettings> fontSizeSettings = config.FontSizeSettings; List <String> fitems = fontfamily.Split(',').Where(s => !String.IsNullOrEmpty(s)).ToList(); String dFont = ""; if (!useRealFontSize && defaultFont != null && fitems.Select(s => s.ToLower()).Contains(defaultFont.Family.ToLower())) { dFont = defaultFont.Family; } else if (useRealFontSize && defaultRealFont != null && fitems.Select(s => s.ToLower()).Contains(defaultRealFont.Family.ToLower())) { dFont = defaultRealFont.Family; } if (message.StyleSettings != null && !String.IsNullOrEmpty(message.StyleSettings.FontFamily) && fitems.Select(s => s.ToLower()).Contains(message.StyleSettings.FontFamily.ToLower())) { dFont = message.StyleSettings.FontFamily; } View.LoadFontFamily(fitems, dFont); List <String> sizeItems = fontSizeSettings.Select(s => s.Value).ToList(); //fontfamily.Split(',').Where(s=> !String.IsNullOrEmpty(s)).ToList(); //LoadFontSize } View.isInitialized = true; }
public void InitView(long idMessage, Int32 idCommunity) { View.IdLoaderCommunity = 0; if (IsSessionTimeout()) { return; } View.IdLoaderCommunity = UserContext.CurrentCommunityID; NoticeboardMessage message = null; if (idMessage != 0) { message = Service.GetMessage(idMessage); } Boolean isForPortal = (message != null && message.isForPortal) || (message == null && idCommunity == 0); View.SetHeaderTitle(isForPortal, (isForPortal) ? View.PortalName : CurrentManager.GetCommunityName(idCommunity)); if (message == null && idMessage > 0) { View.SendUserAction(idCommunity, ModuleID, idMessage, ModuleNoticeboard.ActionType.ViewUnknownMessage); } else if (message == null && idMessage == 0) { View.SendUserAction(idCommunity, ModuleID, idMessage, ModuleNoticeboard.ActionType.ViewEmptyMessage); } else { ModuleNoticeboard module = null; if (message.isForPortal) { module = ModuleNoticeboard.CreatePortalmodule((UserContext.isAnonymous) ? (int)UserTypeStandard.Guest : UserContext.UserTypeID); } else if (idCommunity > 0) { module = new ModuleNoticeboard(CurrentManager.GetModulePermission(UserContext.CurrentUserID, idCommunity, ModuleID)); } else { module = new ModuleNoticeboard(); } if (module.Administration || module.ViewCurrentMessage || module.ViewOldMessage) { View.DisplayMessage(idMessage, idCommunity); View.SendUserAction(idCommunity, ModuleID, idMessage, ModuleNoticeboard.ActionType.ViewMessage); } else { View.SendUserAction(idCommunity, ModuleID, idMessage, ModuleNoticeboard.ActionType.NoPermission); } View.AllowPrint = module.Administration || module.ViewCurrentMessage || module.PrintMessage; } }
public NoticeboardMessage GetMessage(long idMessage) { NoticeboardMessage message = null; try { message = Manager.Get <NoticeboardMessage>(idMessage); } catch (Exception ex) { } return(message); }
public void InitView(String configurationPath, NoticeboardMessage message) { if (IsSessionTimeout()) { return; } if (!View.isInitialized) { InitializeView(configurationPath, message); View.LoadMessage(message); } }
public NoticeboardMessage GetLastMessage(int idCommunity) { NoticeboardMessage message = null; try { Community owner = (idCommunity > 0) ? Manager.GetCommunity(idCommunity) : null; message = (from m in Manager.GetIQ <NoticeboardMessage>() where m.Status == Status.Active && ((m.isForPortal && (idCommunity == 0)) || (m.Community == owner && idCommunity > 0)) select m).OrderByDescending(m => m.DisplayDate).Skip(0).Take(1).ToList().FirstOrDefault(); } catch (Exception ex) { } return(message); }
public void RigenerateImage(NoticeboardMessage message, String renderfolderpath, String templateFile, String applicationurl, String preloadCss, String rendertext = "", String renderstyle = "", Boolean alsoThumbnail = false, Int32 width = 300, Int32 height = 200) { System.Guid identifier = Guid.NewGuid(); try{ String html = ""; using (StreamReader sw = new StreamReader(templateFile)) { html = sw.ReadToEnd(); } if (!string.IsNullOrEmpty(html)) { html = html.Replace("#renderstyle#", renderstyle); html = html.Replace("#baseurl#", applicationurl); html = html.Replace("#preloadcss#", preloadCss); html = html.Replace("#rendertext#", rendertext); } System.Drawing.Image image = null; if (width > 0 && height > 0) { image = HtmlRender.RenderToImageGdiPlus(html, new System.Drawing.Size(width, height)); } else { image = HtmlRender.RenderToImageGdiPlus(html); } if (!lm.Comol.Core.File.Exists.Directory(renderfolderpath)) { lm.Comol.Core.File.Create.Directory(renderfolderpath); } lm.Comol.Core.File.Create.Image(image, renderfolderpath + identifier.ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png); //image.Save(renderfolderpath + identifier.ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png); } catch (Exception ex) { identifier = Guid.Empty; } if (identifier != Guid.Empty) { message.Image = identifier; if (alsoThumbnail) { } } }
public NoticeboardMessage SetActiveMessage(long idMessage, String renderfolderpath, String url, String defaultHttpUrl, String baseUrlHttp) { NoticeboardMessage message = null; try { Person p = Manager.GetPerson(UC.CurrentUserID); message = Manager.Get <NoticeboardMessage>(idMessage); if (message != null && (message.isForPortal || (!message.isForPortal && message.Community != null)) && p != null && p.TypeID != (int)UserTypeStandard.Guest && p.TypeID != (int)UserTypeStandard.PublicUser) { message = SaveMessage(0, message.CreateByAdvancedEditor, (message.isForPortal) ? 0 : message.Community.Id, message.isForPortal, renderfolderpath, url, defaultHttpUrl, baseUrlHttp, message.Message, message.PlainText, message.StyleSettings); //Manager.BeginTransaction(); //List<NoticeboardMessage> items = (from m in Manager.GetIQ<NoticeboardMessage>() where m.Status == Status.Active && m.isForPortal == message.isForPortal && m.Community == message.Community select m).ToList(); //foreach (NoticeboardMessage item in items) { // item.Status = Status.Expired; //} //if (items.Any()) // Manager.SaveOrUpdateList(items); //message.isDeleted = false; //message.Status = Status.Active; //message.ModifiedBy = p; //message.ModifiedOn = DateTime.Now; //message.DisplayDate = message.ModifiedOn.Value; //Manager.Commit(); //if (message.Image == Guid.Empty) //{ // try // { // Manager.BeginTransaction(); // RigenerateImage(message, renderfolderpath, url, baseUrlHttp, defaultHttpUrl); // Manager.Commit(); // } // catch (Exception ex) { // } //} } } catch (Exception ex) { message = null; Manager.RollBack(); } return(message); }
public void DeleteMessage(long idMessage, Int32 idCommunity, Boolean isForPortal) { if (IsSessionTimeout(true)) { return; } NoticeboardMessage message = Service.DeleteMessage(idMessage); View.DisplayMessage((message == null), ModuleNoticeboard.ActionType.Delete); if (message != null) { View.SendUserAction(idCommunity, CurrentIdModule, message, "", ModuleNoticeboard.ActionType.Delete); LoadMessage(Service.GetPermissions(idCommunity), idCommunity, isForPortal, message.Id, true); } else { View.SendUserAction(idCommunity, CurrentIdModule, ModuleNoticeboard.ActionType.GenericError); } }
public NoticeboardMessage DeleteMessage(long idMessage) { NoticeboardMessage message = null; try { Person p = Manager.GetPerson(UC.CurrentUserID); message = Manager.Get <NoticeboardMessage>(idMessage); if (message != null && p != null && p.TypeID != (int)UserTypeStandard.Guest && p.TypeID != (int)UserTypeStandard.PublicUser) { Manager.BeginTransaction(); Manager.DeletePhysical(message); Manager.Commit(); } } catch (Exception ex) { Manager.RollBack(); } return(message); }
public void RigenerateImage(NoticeboardMessage message, String renderfolderpath, String url, String baseUrlHttp, String baseUrlHttps) { System.Guid identifier = Guid.NewGuid(); try { if (url.Contains("https://")) { url = url.Replace("https://", "http://"); } lm.Comol.Core.DomainModel.Helpers.Thumbnailer c = new lm.Comol.Core.DomainModel.Helpers.Thumbnailer(); System.Drawing.Bitmap b = c.GetThumbnailFromWeb(url, false, baseUrlHttp, baseUrlHttps); if (b == null) { b = c.GetThumbnailFromWeb(url, true, baseUrlHttp, baseUrlHttps); } if (b != null) { if (!lm.Comol.Core.File.Exists.Directory(renderfolderpath)) { lm.Comol.Core.File.Create.Directory(renderfolderpath); } lm.Comol.Core.File.Create.Image(b, renderfolderpath + identifier.ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png); } else { identifier = Guid.Empty; } } catch (Exception ex) { identifier = Guid.Empty; } if (identifier != Guid.Empty) { message.Image = identifier; } }
public Boolean isNewMessage(long idMessage, String text, String plainText) { NoticeboardMessage message = null; try { Person p = Manager.GetPerson(UC.CurrentUserID); if (p != null && p.TypeID != (int)UserTypeStandard.Guest && p.TypeID != (int)UserTypeStandard.PublicUser) { if (idMessage > 0) { message = Manager.Get <NoticeboardMessage>(idMessage); if (message != null) { switch (message.Status) { case Status.Active: return(false); //(message.PlainText != plainText); case Status.Draft: return(false); case Status.Expired: return(true); } } } } else { return(false); } } catch (Exception ex) { return(true); } return(true); }
public void InitView(String editorConfigurationPath, System.Guid currentWorkingApplicationId) { NoticeboardMessage message = null; EditorConfiguration config = ServiceEditor.GetConfiguration(editorConfigurationPath); if (config != null) { ModuleEditorSettings mSettings = (config.ModuleSettings == null) ? null : config.ModuleSettings.Where(m => m.ModuleCode == ModuleNoticeboard.UniqueID).FirstOrDefault(); if (mSettings == null && config.CssFiles.Any()) { View.PreloadCssFiles(config.DefaultCssFilesPath, config.CssFiles); } else if (mSettings != null && mSettings.CssFiles != null && mSettings.CssFiles.Any() && mSettings.OvverideCssFileSettings) { View.PreloadCssFiles(config.DefaultCssFilesPath, mSettings.CssFiles); } else if (mSettings != null && mSettings.CssFiles != null && !mSettings.OvverideCssFileSettings) { View.PreloadCssFiles(config.DefaultCssFilesPath, config.CssFiles); } } long idMessage = View.PreloadedIdMessage; int IdCommunity = View.PreloadedIdCommunity; if (idMessage != 0) { message = Service.GetMessage(idMessage); } else { message = Service.GetLastMessage(IdCommunity); if (message != null) { idMessage = message.Id; } } if (message != null && message.Community != null) { IdCommunity = message.Community.Id; } else if (message != null && message.isForPortal) { IdCommunity = 0; } else { IdCommunity = UserContext.WorkingCommunityID; } Community community = null; if (IdCommunity > 0) { community = CurrentManager.GetCommunity(IdCommunity); } if (community == null && IdCommunity > 0) { View.ContainerName = ""; } else if (community != null) { View.ContainerName = community.Name; } else { View.ContainerName = View.PortalName; } Boolean anonymousViewAllowed = (View.PreloadWorkingApplicationId != Guid.Empty && View.PreloadWorkingApplicationId == currentWorkingApplicationId); if (message == null && idMessage > 0) { View.DisplayUnknownMessage(); View.SendUserAction(IdCommunity, ModuleID, idMessage, ModuleNoticeboard.ActionType.ViewUnknownMessage); } else if (message == null && idMessage == 0) { View.DisplayEmptyMessage(); View.SendUserAction(IdCommunity, ModuleID, idMessage, ModuleNoticeboard.ActionType.ViewEmptyMessage); } else if (UserContext.isAnonymous && !anonymousViewAllowed) { View.DisplaySessionTimeout(); } else { View.IdCurrentMessage = idMessage; ModuleNoticeboard module = null; if (IdCommunity == 0 && message.isForPortal) { module = ModuleNoticeboard.CreatePortalmodule((UserContext.isAnonymous) ? (int)UserTypeStandard.Guest : UserContext.UserTypeID); } else if (IdCommunity > 0) { module = new ModuleNoticeboard(CurrentManager.GetModulePermission(UserContext.CurrentUserID, IdCommunity, ModuleID)); } else { module = new ModuleNoticeboard(); } if (module.Administration || module.ViewCurrentMessage || module.ViewOldMessage || anonymousViewAllowed) { View.DisplayMessage(message); View.SendUserAction(IdCommunity, ModuleID, idMessage, ModuleNoticeboard.ActionType.ViewMessage); } else { View.DisplayNoPermission(); View.SendUserAction(IdCommunity, ModuleID, idMessage, ModuleNoticeboard.ActionType.NoPermission); } } }
public NoticeboardMessage SaveMessage(long idMessage, Boolean advancedEditor, Int32 idCommunity, Boolean isForPortal, String renderfolderpath, String url, String defaultHttpUrl, String baseUrlHttp, String text, String plainText, StyleSettings settings = null) { NoticeboardMessage message = null; try { Person p = Manager.GetPerson(UC.CurrentUserID); if (p != null && p.TypeID != (int)UserTypeStandard.Guest && p.TypeID != (int)UserTypeStandard.PublicUser) { Manager.BeginTransaction(); if (idMessage > 0) { message = Manager.Get <NoticeboardMessage>(idMessage); if (message != null) { message.ModifiedBy = p; message.ModifiedOn = DateTime.Now; if (message.Status == Status.Active && message.PlainText != plainText) { message.DisplayDate = message.ModifiedOn.Value; } } } else { message = new NoticeboardMessage(); message.isDeleted = false; message.Status = Status.Active; message.Owner = p; message.CreatedOn = DateTime.Now; message.CreatedBy = p; message.DisplayDate = message.CreatedOn.Value; message.ModifiedBy = p; message.ModifiedOn = message.CreatedOn; message.isForPortal = isForPortal; message.Community = (isForPortal) ? null : Manager.GetCommunity(idCommunity); message.Status = Status.Active; } if (message != null) { message.Message = text; message.PlainText = plainText; message.CreateByAdvancedEditor = advancedEditor; if (!advancedEditor && settings != null) { message.StyleSettings = settings; } if (idMessage == 0) { List <NoticeboardMessage> items = (from m in Manager.GetIQ <NoticeboardMessage>() where m.Status == Status.Active && m.isForPortal == message.isForPortal && m.Community == message.Community select m).ToList(); foreach (NoticeboardMessage item in items) { item.Status = Status.Expired; } if (items.Any()) { Manager.SaveOrUpdateList(items); } Manager.SaveOrUpdate(message); } } Manager.Commit(); if (message.Status == Status.Active) { if (!String.IsNullOrEmpty(url) && url.Contains("{0}")) { url = String.Format(url, message.Id); } try { Manager.BeginTransaction(); RigenerateImage(message, renderfolderpath, url, baseUrlHttp, defaultHttpUrl); Manager.Commit(); } catch (Exception ex) { Manager.RollBack(); } } } } catch (Exception ex) { message = null; Manager.RollBack(); } return(message); }
public NoticeboardMessage VirtualDeleteMessage(long idMessage, Boolean delete, Boolean activate, System.Guid applicationWorkingId, String renderfolderpath = "", String url = "", String defaultHttpUrl = "", String baseUrlHttp = "") { NoticeboardMessage message = null; try { Person p = Manager.GetPerson(UC.CurrentUserID); message = Manager.Get <NoticeboardMessage>(idMessage); if (message != null && p != null && p.TypeID != (int)UserTypeStandard.Guest && p.TypeID != (int)UserTypeStandard.PublicUser) { Manager.BeginTransaction(); List <NoticeboardMessage> items = null; message.isDeleted = delete; message.ModifiedBy = p; message.ModifiedOn = DateTime.Now; if (message.Status == Status.Active && delete) { items = (from m in Manager.GetIQ <NoticeboardMessage>() where m.Status == Status.Expired && m.isForPortal == message.isForPortal && m.Community == message.Community orderby m.ModifiedOn descending select m).Skip(0).Take(1).ToList(); foreach (NoticeboardMessage item in items) { item.Status = Status.Active; item.ModifiedBy = p; item.ModifiedOn = DateTime.Now; } message.Status = Status.VirtualDeleted; } else if (!delete && activate) { items = (from m in Manager.GetIQ <NoticeboardMessage>() where m.Status == Status.Active && m.isForPortal == message.isForPortal && m.Community == message.Community select m).ToList(); foreach (NoticeboardMessage item in items) { item.Status = Status.Expired; } message.Status = Status.Active; message.DisplayDate = message.ModifiedOn.Value; } else { message.Status = (delete) ? Status.VirtualDeleted : Status.Expired; } if (items != null && items.Any()) { Manager.SaveOrUpdateList(items); } Manager.SaveOrUpdate(message); Manager.Commit(); if (message.Image == Guid.Empty && message.Status == Status.Active) { try { Manager.BeginTransaction(); RigenerateImage(message, renderfolderpath, url, baseUrlHttp, defaultHttpUrl); Manager.Commit(); } catch (Exception ex) { Manager.RollBack(); } } } } catch (Exception ex) { message = null; Manager.RollBack(); } return(message); }