private void VirtualDelete(long idCall, Boolean delete) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { int idCommunity = 0; BaseForPaper call = Service.VirtualDeleteCall(idCall, UserContext.CurrentUserID, delete); if (call != null) { if (!call.IsPortal && call.Community != null) { idCommunity = call.Community.Id; } View.SendUserAction(idCommunity, Service.ServiceModuleID(), idCall, (delete) ? ModuleRequestForMembership.ActionType.VirtualDeleteRequest : ModuleRequestForMembership.ActionType.VirtualUndeleteRequest); } idCommunity = View.IdCallCommunity; CallStandardAction action = View.CurrentAction; ModuleRequestForMembership module = Service.RequestForMembershipServicePermission(UserContext.CurrentUserID, idCommunity); FilterCallVisibility filter = View.CurrentFilter; InitializeView(action, module, idCommunity, View.CurrentView); View.CurrentFilter = filter; LoadCalls(module, action, idCommunity, View.CurrentView, View.Pager.PageIndex, currentPageSize); } }
public void CloneCall(long idCall, String prefix, String filePath, String thumbnailPath) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { int idCommunity = View.IdCallCommunity; int idUser = UserContext.CurrentUserID; CallStandardAction action = View.CurrentAction; ModuleRequestForMembership module = Service.RequestForMembershipServicePermission(idUser, idCommunity); if (module.CreateBaseForPaper || module.Administration || module.ManageBaseForPapers || module.EditBaseForPaper) { Boolean reloadPage = (View.CurrentView == CallStatusForSubmitters.Draft); BaseForPaper call = Service.CloneCall(idCall, idUser, idCommunity, prefix, filePath, thumbnailPath); if (call != null) { View.SendUserAction(idCommunity, Service.ServiceModuleID(), idCall, ModuleRequestForMembership.ActionType.CloneRequest); View.CloneSkinAssociation(idUser, Service.ServiceModuleID(), ((call.IsPortal || call.Community == null) ? 0 : call.Community.Id), idCall, call.Id, (Int32)ModuleRequestForMembership.ObjectType.RequestForMembership, typeof(RequestForMembership).FullName); } if (reloadPage || call == null) { FilterCallVisibility filter = View.CurrentFilter; InitializeView(action, module, idCommunity, View.CurrentView); View.CurrentFilter = filter; LoadCalls(module, action, idCommunity, View.CurrentView, View.Pager.PageIndex, currentPageSize); } else { View.GotoUrl(RootObject.ViewCalls(call.Id, CallForPaperType.RequestForMembership, View.CurrentAction, idCommunity, CallStatusForSubmitters.Draft)); } } else { View.DisplayNoPermission(idCommunity, Service.ServiceModuleID()); } } }
public void Delete(long idCall, String baseFilePath, String baseThumbnailPath) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { int idCommunity = View.IdCallCommunity; int idUser = UserContext.CurrentUserID; CallStandardAction action = View.CurrentAction; ModuleRequestForMembership module = Service.RequestForMembershipServicePermission(idUser, idCommunity); BaseForPaper call = Service.GetCall(idCall); if (call == null) { View.DisplayUnableToDeleteUnknownCall(); } else if (module.Administration || module.ManageBaseForPapers || (module.DeleteOwnBaseForPaper && call.CreatedBy != null && call.CreatedBy.Id == idUser)) { idCommunity = ((call.IsPortal || call.Community == null) ? 0 : call.Community.Id); if (Service.DeleteCall(idCall, baseFilePath, baseThumbnailPath)) { View.SendUserAction(idCommunity, Service.ServiceModuleID(), idCall, ModuleRequestForMembership.ActionType.DeleteRequest); View.RemoveSkinAssociation(idUser, Service.ServiceModuleID(), idCommunity, idCall, (Int32)ModuleRequestForMembership.ObjectType.RequestForMembership, typeof(RequestForMembership).FullName); } else { View.DisplayUnableToDeleteCall(); } } FilterCallVisibility filter = View.CurrentFilter; InitializeView(action, module, idCommunity, View.CurrentView); View.CurrentFilter = filter; LoadCalls(module, action, idCommunity, View.CurrentView, View.Pager.PageIndex, currentPageSize); } }