/// <summary> /// Recupera il service dato il service Code, /// evitando 50 switch in tutte le funzioni a cui poi tocca "correre dietro" in caso di aggiunta di un servizio!!! /// </summary> /// <param name="serviceCode"></param> /// <param name="dc"></param> /// <returns></returns> private iLinkedService ServiceGet(string serviceCode, iDataContext dc, iDataContext ic = null) { iLinkedService service = null; switch (serviceCode) { //Percorso formativo case Services_EduPath.Codex: service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(dc); break; //Community Diary case lm.Comol.Core.BaseModules.CommunityDiary.Domain.ModuleCommunityDiary.UniqueID: service = new lm.Comol.Core.BaseModules.CommunityDiary.Business.ServiceCommunityDiary(dc); break; //Project Management case lm.Comol.Modules.Standard.ProjectManagement.Domain.ModuleProjectManagement.UniqueCode: service = new lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement(dc); break; //Bandi case lm.Comol.Modules.CallForPapers.Domain.ModuleCallForPaper.UniqueCode: service = new lm.Comol.Modules.CallForPapers.Business.ServiceCallOfPapers(dc); break; //Richieste adesione case lm.Comol.Modules.CallForPapers.Domain.ModuleRequestForMembership.UniqueCode: service = new lm.Comol.Modules.CallForPapers.Business.ServiceRequestForMembership(dc); break; //Ticket case lm.Comol.Core.BaseModules.Tickets.ModuleTicket.UniqueCode: service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc); break; ////Webinar (WebEx) //case "Webinar": //ToDo: usare UniqueCode // iApplicationContext ac = new ApplicationContext(); // ac.DataContext = dc; // service = new WebExService(ac); // break; //Questionari case COL_Questionario.ModuleQuestionnaire.UniqueID: service = new COL_Questionario.Business.ServiceQuestionnaire(dc); break; //Repository - SCORM case lm.Comol.Core.FileRepository.Domain.ModuleRepository.UniqueCode: service = new lm.Comol.Core.BaseModules.FileRepository.Business.ServiceRepositoryScorm(dc, ic); break; default: break; } return(service); }
public List <StandardActionType> GetAllowedStandardActionForExternal(ModuleObject source, ModuleObject destination, Int32 idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString) { List <StandardActionType> actions = new List <StandardActionType>(); using (ISession session = NHSessionHelper.GetComolSession()) { DataContext dc = new DataContext(session); int idRole = GetIdRole(session, idUser, source.CommunityID); iLinkedService service = null; switch (source.ServiceCode) { //Percorso formativo case Services_EduPath.Codex: lm.Comol.Modules.EduPath.BusinessLogic.Service EPservice = new lm.Comol.Modules.EduPath.BusinessLogic.Service(dc); actions = EPservice.GetAllowedStandardAction(source, destination, idUser, idRole, source.CommunityID, moduleUserLong, moduleUserString); break; //Community Diary case lm.Comol.Core.BaseModules.CommunityDiary.Domain.ModuleCommunityDiary.UniqueID: lm.Comol.Core.BaseModules.CommunityDiary.Business.ServiceCommunityDiary DRservice = new lm.Comol.Core.BaseModules.CommunityDiary.Business.ServiceCommunityDiary(dc); actions = DRservice.GetAllowedStandardAction(source, destination, idUser, idRole, source.CommunityID, moduleUserLong, moduleUserString); break; ////Project Management //case lm.Comol.Modules.Standard.ProjectManagement.Domain.ModuleProjectManagement.UniqueCode: // lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement PMservice = new lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement(dc); //.GetAllowedStandardAction(source, destination, idUser, idRole, source.CommunityID, moduleUserLong, moduleUserString); // break; //Bandi case lm.Comol.Modules.CallForPapers.Domain.ModuleCallForPaper.UniqueCode: lm.Comol.Modules.CallForPapers.Business.ServiceCallOfPapers CPservice = new lm.Comol.Modules.CallForPapers.Business.ServiceCallOfPapers(dc); actions = CPservice.GetAllowedStandardAction(source, destination, idUser, idRole, source.CommunityID, moduleUserLong, moduleUserString); break; //Richieste adesione case lm.Comol.Modules.CallForPapers.Domain.ModuleRequestForMembership.UniqueCode: lm.Comol.Modules.CallForPapers.Business.ServiceRequestForMembership RMservice = new lm.Comol.Modules.CallForPapers.Business.ServiceRequestForMembership(dc); actions = RMservice.GetAllowedStandardAction(source, destination, idUser, idRole, source.CommunityID, moduleUserLong, moduleUserString); break; //Ticket case lm.Comol.Core.BaseModules.Tickets.ModuleTicket.UniqueCode: lm.Comol.Core.BaseModules.Tickets.TicketService TKservice = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc); actions = TKservice.GetAllowedStandardAction(source, destination, idUser, idRole, source.CommunityID, moduleUserLong, moduleUserString); break; default: break; } //iLinkedService service = ServiceGet(source.ServiceCode, dc); //if (service != null) // actions = service.GetAllowedStandardAction(source, destination, idUser, idRole, source.CommunityID, moduleUserLong, moduleUserString); } return(actions); }
public List <GroupMessages> NotifyActionToModule(NotificationAction action, Int32 idSenderUser, String ipAddress, String proxyIpAddress, Notification.Domain.WebSiteSettings webSiteSettings) { List <GroupMessages> results = null; lm.Comol.Core.Notification.Domain.iNotifiableService service = null; lm.Comol.Core.Data.DataContext dc = new lm.Comol.Core.Data.DataContext(Session); switch (action.ModuleCode) { case lm.Comol.Core.BaseModules.Tickets.ModuleTicket.UniqueCode: service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc); break; case lm.Comol.Modules.Standard.WebConferencing.Domain.ModuleWebConferencing.UniqueCode: if (IstanceConfig.WebConference != null) { switch (IstanceConfig.WebConference.CurrentType) { case WebConferenceType.eWorks: service = new lm.Comol.Modules.Standard.WebConferencing.Domain.eWorks.eWService(IstanceConfig.WebConference.GetEWorksParameters(), dc); break; case WebConferenceType.OpenMeeting: service = new lm.Comol.Modules.Standard.WebConferencing.Domain.OpenMeetings.oMService(IstanceConfig.WebConference.GetOpenMeetingParameters(), dc); break; } } break; case lm.Comol.Modules.CallForPapers.Domain.ModuleCallForPaper.UniqueCode: //service = new lm.Comol.Modules.CallForPapers.Business.ServiceCallOfPapers(dc); break; case lm.Comol.Modules.CallForPapers.Domain.ModuleRequestForMembership.UniqueCode: //service = new lm.Comol.Modules.CallForPapers.Business.ServiceRequestForMembership(dc); break; case lm.Comol.Modules.Standard.ProjectManagement.Domain.ModuleProjectManagement.UniqueCode: service = new lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement(dc); break; case lm.Comol.Core.BaseModules.CommunityDiary.Domain.ModuleCommunityDiary.UniqueID: //service = new lm.Comol.Core.BaseModules.CommunityDiary.Business.ServiceCommunityDiary(dc); break; case lm.Comol.Modules.EduPath.Domain.ModuleEduPath.UniqueCode: ///service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(dc); break; } if (service != null) { results = service.GetDefaultNotificationMessages(action, idSenderUser, webSiteSettings); } return(results); }