Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }