private List <dtoItemEvaluation <long> > EvaluateModuleLinks(DataContext dc, DataContext ic, String ServiceCode, List <ModuleLink> links, int idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString)
        {
            List <dtoItemEvaluation <long> > evaluations = new List <dtoItemEvaluation <long> >();

            if (links != null && links.Count > 0)
            {
                //iLinkedService service = null;
                //switch (ServiceCode)
                //{
                //    case Services_EduPath.Codex:
                //        service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(dc);
                //        break;
                //    case lm.Comol.Core.FileRepository.Domain.ModuleRepository.UniqueCode:
                //        service = new lm.Comol.Core.BaseModules.FileRepository.Business.ServiceRepositoryScorm(dc, ic);
                //        break;
                //    case lm.Comol.Modules.Standard.ProjectManagement.Domain.ModuleProjectManagement.UniqueCode:
                //        service = new lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement(dc);
                //        break;
                //    case COL_Questionario.Business.ServiceQuestionnaire.UniqueID:
                //        service = new COL_Questionario.Business.ServiceQuestionnaire(dc);
                //        break;
                //    case lm.Comol.Core.BaseModules.Tickets.ModuleTicket.UniqueCode:
                //        service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc);
                //        break;
                //    default:
                //        break;
                //}
                iLinkedService service = ServiceGet(ServiceCode, dc, ic);
                if (service != null)
                {
                    evaluations = service.EvaluateModuleLinks(links, idUser, moduleUserLong, moduleUserString);
                }
            }
            return(evaluations);
        }
 private void ExecutedActions(DataContext dc, String ServiceCode, List <dtoItemEvaluation <ModuleLink> > links, int idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString)
 {
     if (links != null && links.Count > 0)
     {
         //iLinkedService service = null;
         //switch (ServiceCode)
         //{
         //    case Services_EduPath.Codex:
         //        service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(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.Standard.ProjectManagement.Domain.ModuleProjectManagement.UniqueCode:
         //        service = new lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement(dc);
         //        break;
         //    case lm.Comol.Core.BaseModules.Tickets.ModuleTicket.UniqueCode:
         //        service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc);
         //        break;
         //    default:
         //        break;
         //}
         iLinkedService service = ServiceGet(ServiceCode, dc);
         if (service != null)
         {
             service.SaveActionsExecution(links, idUser, moduleUserLong, moduleUserString);
             service = null;
         }
     }
 }
        private dtoEvaluation EvaluateModule(DataContext dc, DataContext ic, ModuleLink link, int idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString)
        {
            dtoEvaluation evaluation = null;

            if (link != null)
            {
                //iLinkedService service = null;
                //switch (link.DestinationItem.ServiceCode)
                //{
                //    case Services_EduPath.Codex:
                //        service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(dc);
                //        break;
                //    case lm.Comol.Core.FileRepository.Domain.ModuleRepository.UniqueCode:
                //        service = new lm.Comol.Core.BaseModules.FileRepository.Business.ServiceRepositoryScorm(dc, ic);
                //        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.Tickets.ModuleTicket.UniqueCode:
                //        service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc);
                //        break;
                //    case COL_Questionario.Business.ServiceQuestionnaire.UniqueID:
                //        service = new COL_Questionario.Business.ServiceQuestionnaire(dc);
                //        break;
                //    default:
                //        break;
                //}
                iLinkedService service = ServiceGet(link.DestinationItem.ServiceCode, dc);
                if (service != null)
                {
                    evaluation = service.EvaluateModuleLink(link, idUser, moduleUserLong, moduleUserString);
                }
            }
            return(evaluation);
        }
Пример #4
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);
        }
        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 Boolean AllowActionExecutionForExternal(long idLink, Int32 idAction, ModuleObject destination, Int32 idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString)
        {
            Boolean allow = false;

            using (ISession session = NHSessionHelper.GetComolSession())
            {
                DataContext dc   = new DataContext(session);
                ModuleLink  link = dc.GetById <ModuleLink>(idLink);
                //ApplicationContext oContext = new ApplicationContext();
                //oContext.DataContext = dc;
                if (link != null && link.Action == idAction && link.DestinationItem.Equals(destination))
                {
                    int idSourceCommunity = link.SourceItem.CommunityID;
                    int idRole            = GetIdRole(session, idUser, idSourceCommunity);
                    //iLinkedService service = null;
                    //switch (link.SourceItem.ServiceCode)
                    //{
                    //    case Services_EduPath.Codex:
                    //        service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(dc);
                    //        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.Core.BaseModules.CommunityDiary.Domain.ModuleCommunityDiary.UniqueID:
                    //        service = new lm.Comol.Core.BaseModules.CommunityDiary.Business.ServiceCommunityDiary(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.Tickets.ModuleTicket.UniqueCode:
                    //        service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc);
                    //        break;
                    //    default:
                    //        break;
                    //}
                    //iLinkedService service = ServiceGet(serviceCode, dc);
                    iLinkedService service = ServiceGet(link.SourceItem.ServiceCode, dc);
                    if (service != null)
                    {
                        allow = service.AllowActionExecution(link, idUser, idSourceCommunity, idRole, moduleUserLong, moduleUserString);
                    }
                }
            }
            return(allow);
        }
        public bool AllowStandardActionForExternal(StandardActionType actionType, ModuleObject source, ModuleObject destination, Int32 idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString)
        {
            Boolean allow = false;

            using (ISession session = NHSessionHelper.GetComolSession())
            {
                DataContext dc     = new DataContext(session);
                int         idRole = GetIdRole(session, idUser, source.CommunityID);
                //iLinkedService service = null;
                //switch (source.ServiceCode)
                //{
                //    case Services_EduPath.Codex:
                //        service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(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.Standard.ProjectManagement.Domain.ModuleProjectManagement.UniqueCode:
                //        service = new lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement(dc);
                //        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.Core.BaseModules.Tickets.ModuleTicket.UniqueCode:
                //        service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc);
                //        break;
                //    case COL_Questionario.ModuleQuestionnaire.UniqueID:
                //        service = new COL_Questionario.Business.ServiceQuestionnaire(dc);
                //        break;
                //    default:
                //        break;
                //}
                iLinkedService service = ServiceGet(source.ServiceCode, dc);
                if (service != null)
                {
                    allow = service.AllowStandardAction(actionType, source, destination, idUser, idRole, moduleUserLong, moduleUserString);
                }
            }
            return(allow);
        }
        public void PhisicalDeleteRepositoryItemForExternal(String serviceCode, long idFileItem, int idCommunity, int idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString)
        {
            using (ISession session = NHSessionHelper.GetComolSession())
            {
                DataContext dc = new DataContext(session);
                // int idRole = GetIdRole(session,idUser,idCommunity);

                //iLinkedService service = null;
                //switch (serviceCode)
                //{
                //    case Services_EduPath.Codex:
                //        service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(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.Standard.ProjectManagement.Domain.ModuleProjectManagement.UniqueCode:
                //        service = new lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement(dc);
                //        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.Core.BaseModules.Tickets.ModuleTicket.UniqueCode:
                //        service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc);
                //        break;
                //    default:
                //        break;
                //}
                iLinkedService service = ServiceGet(serviceCode, dc);

                if (service != null)
                {
                    service.PhisicalDeleteRepositoryItem(idFileItem, idCommunity, idUser, moduleUserLong, moduleUserString);
                }
            }
        }
        /// <summary>
        /// Delete community and allo its object
        /// </summary>
        /// <param name="serviceCode"></param>
        /// <param name="idCommunity"></param>
        /// <param name="idUser"></param>
        public void PhisicalDeleteCommunity(String serviceCode, int idCommunity, int idUser)
        {
            using (ISession session = NHSessionHelper.GetComolSession())
            {
                DataContext dc     = new DataContext(session);
                int         idRole = GetIdRole(session, idUser, idCommunity);

                //iLinkedService service = null;
                //switch (serviceCode)
                //{
                //    case Services_EduPath.Codex:
                //        service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(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.Standard.ProjectManagement.Domain.ModuleProjectManagement.UniqueCode:
                //        service = new lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement(dc);
                //        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.Core.BaseModules.Tickets.ModuleTicket.UniqueCode:
                //        service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc);
                //        break;
                //    default:
                //        break;
                //}
                iLinkedService service = ServiceGet(serviceCode, dc);

                if (service != null)
                {
                    service.PhisicalDeleteCommunity(idCommunity, idUser, System.Configuration.ConfigurationManager.AppSettings["DefaultBaseFileRepository"], System.Configuration.ConfigurationManager.AppSettings["DefaultThumbnailPath"]);
                }
            }
        }
        public void ExecutedActionForExternal(long idLink, Boolean isStarted, Boolean isPassed, Int16 completion, Boolean isCompleted, Int16 mark, int idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString)
        {
            using (ISession session = NHSessionHelper.GetComolSession())
            {
                DataContext dc   = new DataContext(session);
                ModuleLink  link = dc.GetById <ModuleLink>(idLink);
                if (link != null)
                {
                    //iLinkedService service = null;
                    //switch (link.SourceItem.ServiceCode)
                    //{
                    //    case Services_EduPath.Codex:
                    //        service = new lm.Comol.Modules.EduPath.BusinessLogic.Service(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.Standard.ProjectManagement.Domain.ModuleProjectManagement.UniqueCode:
                    //        service = new lm.Comol.Modules.Standard.ProjectManagement.Business.ServiceProjectManagement(dc);
                    //        break;
                    //    case lm.Comol.Core.BaseModules.Tickets.ModuleTicket.UniqueCode:
                    //        service = new lm.Comol.Core.BaseModules.Tickets.TicketService(dc);
                    //        break;
                    //    default:
                    //        break;
                    //}
                    //

                    //ToDo: alreadyuCompleted!!!
                    bool alreadycompleted = false;

                    iLinkedService service = ServiceGet(link.SourceItem.ServiceCode, dc);
                    if (service != null)
                    {
                        service.SaveActionExecution(link, isStarted, isPassed, completion, isCompleted, mark, idUser, alreadycompleted, moduleUserLong, moduleUserString);
                    }
                }
            }
        }