public bool AllowActionExecution(ModuleLink link, int idUser, int idCommunity, int idRole, Dictionary <string, long> moduleUserLong = null, Dictionary <string, string> moduleUserString = null)
        {
            litePerson person = Manager.Get <litePerson>(idUser);

            switch (link.SourceItem.ObjectTypeID)
            {
            case (Int32)ModuleProjectManagement.ObjectType.Project:
            case (Int32)ModuleProjectManagement.ObjectType.Task:
                switch (link.DestinationItem.ServiceCode)
                {
                case  lm.Comol.Core.FileRepository.Domain.ModuleRepository.UniqueCode:
                    ProjectAttachment attachment = AttachmentGet(link);
                    if (attachment != null && attachment.Project != null && attachment.Link != null && link.DestinationItem.ObjectLongID == attachment.Item.Id && link.DestinationItem.FQN == attachment.Item.GetType().FullName)
                    {
                        dtoAttachmentPermission permissions = AttachmentGetPermissions(person, attachment, attachment.Project, attachment.Activity);
                        return(permissions.Play || permissions.Download);
                    }
                    break;

                default:
                    return(false);
                }
                break;

            default:
                return(false);
            }
            return(false);
        }
        private ProjectAttachment AttachmentGet(ModuleLink link)
        {
            ProjectAttachment attachment = (from a in Manager.GetIQ <ProjectAttachment>()
                                            where a.Link != null && link.Id == a.Link.Id select a).Skip(0).Take(1).ToList().FirstOrDefault();

            return(attachment);
        }
예제 #3
0
 public dtoEvaluation EvaluateModuleLink(ModuleLink link, int idUser, Dictionary <string, long> moduleUserLong = null, Dictionary <string, string> moduleUserString = null)
 {
     return(new dtoEvaluation()
     {
         isCompleted = false, Completion = 0,
     });
 }
        private List <dtoModuleActionControl> AnalyzeModuleLinkItem(ModuleLink link, liteBaseCommunityFile item, DisplayActionMode display, StandardActionType actionsToDisplay)
        {
            List <dtoModuleActionControl> actions = new List <dtoModuleActionControl>();

            if (item != null)
            {
                Boolean isReadyToPlay = IsReadyToPlay(item);
                View.IsReadyToPlay = isReadyToPlay;
                if (Display(display, DisplayActionMode.text) || Display(display, DisplayActionMode.textDefault) || !isReadyToPlay)
                {
                    View.Display = DisplayActionMode.text;
                    DisplayTextInfo(item, link.Action);
                }
                else if (Display(display, DisplayActionMode.defaultAction) || Display(display, DisplayActionMode.adminMode))
                {
                    DisplayDefaultAction(link, item, display);
                }
                if (isReadyToPlay)
                {
                    actions = GenerateActions(link, item);
                }
                if (Display(display, DisplayActionMode.actions) && actionsToDisplay != StandardActionType.None)
                {
                    View.DisplayActions(actions.Where(a => ((int)a.ControlType & (int)actionsToDisplay) > 0).ToList());
                }
            }
            return(actions);
        }
 private void GenerateDto(ModuleLink link, List <dtoPlaceHolder> placeHolders)
 {
     RefreshContainerPage = true;
     SaveLinkStatistics   = true;
     Link         = link;
     PlaceHolders = placeHolders;
 }
예제 #6
0
        public void SaveActionsExecution(List <dtoItemEvaluation <long> > evaluatedLinks, int idUser)
        {
            if (evaluatedLinks != null && evaluatedLinks.Count > 0)
            {
                try
                {
                    IList <long>       IdLinks = (from e in evaluatedLinks select e.Item).ToList();
                    IList <ModuleLink> links   = (from l in Manager.GetIQ <ModuleLink>()
                                                  where IdLinks.Contains(l.Id)
                                                  select l).ToList();

                    foreach (dtoItemEvaluation <long> dto in evaluatedLinks)
                    {
                        ModuleLink link = (from l in links where l.Id == dto.Item select l).FirstOrDefault();
                        if (link != null)
                        {
                            int croleId = Manager.GetActiveSubscriptionIdRole(idUser, link.SourceItem.CommunityID); //Manager.Get<SubActivity>(Link.SourceItem.ObjectLongID).Community.Id);
                            Manager.BeginTransaction();
                            ServiceStat.InitOrUpdateSubActivityNoTransaction(link.SourceItem.ObjectLongID, idUser, croleId, idUser, "", "", dto.Completion, dto.Mark, dto.isStarted, dto.isCompleted, dto.isPassed);
                            Manager.Commit();
                        }
                    }
                }
                catch (Exception ex)
                {
                    Manager.RollBack();
                    Debug.Write(ex);
                }
            }
        }
예제 #7
0
        public CoreItemPermission GetItemPermissionFromLink(long IdLink)
        {
            CoreItemPermission permission = new CoreItemPermission();
            ModuleLink         link       = Manager.Get <ModuleLink>(IdLink);

            if (link == null)
            {
                return(permission);
            }
            else
            {
                TaskListFile taskFileLink = (from ifl in Manager.GetAll <TaskListFile>(ifl => ifl.Link == link && ifl.Deleted == BaseStatusDeleted.None) select ifl).Skip(0).Take(1).ToList().FirstOrDefault();
                if (taskFileLink == null || taskFileLink.TaskOwner == null)
                {
                    return(permission);
                }
                else
                {
                    int                  IdCommunity = taskFileLink.TaskOwner.Community == null ? 0 : taskFileLink.TaskOwner.Community.Id;
                    ModuleTasklist       moduleDiary = ServicePermission(UC.CurrentUserID, IdCommunity);
                    CoreModuleRepository repository  = GetCoreModuleRepository(UC.CurrentUserID, IdCommunity);
                    permission = GetTaskPermission(taskFileLink.TaskOwner, moduleDiary, repository);
                    return(permission);
                }
            }
        }
        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);
        }
예제 #9
0
 public void SaveActionExecution(
     ModuleLink link,
     bool isStarted,
     bool isPassed,
     short Completion,
     bool isCompleted,
     short mark,
     int idUser,
     bool alreadyCompleted,
     Dictionary <string, long> moduleUserLong     = null,
     Dictionary <string, string> moduleUserString = null)
 {
     try
     {
         if (link.SourceItem.ObjectTypeID == (int)COL_BusinessLogic_v2.UCServices.Services_EduPath.ObjectType.SubActivity)
         {
             int croleId = Manager.GetActiveSubscriptionIdRole(idUser, link.SourceItem.CommunityID); //Manager.Get<SubActivity>(Link.SourceItem.ObjectLongID).Community.Id);
             Manager.BeginTransaction();
             ServiceStat.InitOrUpdateSubActivityNoTransaction(link.SourceItem.ObjectLongID, idUser, croleId, idUser, "", "", Completion, mark, isStarted, isCompleted, isPassed);
             Manager.Commit();
         }
         else if (link.SourceItem.ObjectTypeID == (int)COL_BusinessLogic_v2.UCServices.Services_EduPath.ObjectType.Activity)
         {
         }
     }
     catch (Exception ex)
     {
         if (Manager.IsInTransaction())
         {
             Manager.RollBack();
         }
         Debug.Write(ex);
     }
 }
예제 #10
0
        public void SaveTaskListFiles(Task task, int communityId, IList <ModuleActionLink> files, int moduleID, int objectTypeId, String moduleCode, Boolean AutoEvaluable)
        {
            try
            {
                Person person = Manager.GetPerson(UC.CurrentUserID);
                if (files.Count > 0)
                {
                    Manager.BeginTransaction();
                    Community community = Manager.GetCommunity(communityId);
                    foreach (ModuleActionLink file in files)
                    {
                        TaskListFile taskfile = (from f in Manager.GetAll <TaskListFile>(f => f.CommunityOwner == community && f.TaskOwner == task && f.ProjectOwner == task.Project && f.File == (BaseCommunityFile)file.ModuleObject.ObjectOwner) select f).Skip(0).Take(1).ToList().FirstOrDefault();
                        if (taskfile == null)
                        {
                            taskfile = new TaskListFile();
                            taskfile.CommunityOwner = community;
                            taskfile.ProjectOwner   = task.Project;
                            taskfile.File           = (BaseCommunityFile)file.ModuleObject.ObjectOwner;
                            taskfile.TaskOwner      = task;
                            taskfile.Owner          = person;
                            taskfile.CreateMetaInfo(person, UC.IpAddress, UC.ProxyIpAddress);
                        }
                        else
                        {
                            taskfile.UpdateMetaInfo(person, UC.IpAddress, UC.ProxyIpAddress);
                        }
                        taskfile.isVisible = true;

                        Manager.SaveOrUpdate(taskfile);

                        ModuleLink link = new ModuleLink(file.Description, file.Permission, file.Action);
                        link.CreateMetaInfo(person, UC.IpAddress, UC.ProxyIpAddress);
                        link.DestinationItem = (ModuleObject)file.ModuleObject;
                        link.AutoEvaluable   = AutoEvaluable;
                        link.SourceItem      = ModuleObject.CreateLongObject(taskfile.Id, taskfile, objectTypeId, communityId, moduleCode, moduleID);
                        Manager.SaveOrUpdate(link);
                        taskfile.Link = link;
                        Manager.SaveOrUpdate(taskfile);
                        if (typeof(ModuleLongInternalFile) == file.ModuleObject.ObjectOwner.GetType())
                        {
                            ModuleLongInternalFile f = (ModuleLongInternalFile)file.ModuleObject.ObjectOwner;
                            f.ObjectOwner  = taskfile;
                            f.ObjectTypeID = objectTypeId;
                            Manager.SaveOrUpdate(f);
                        }

                        task.MetaInfo.ModifiedBy = taskfile.CreatedBy;
                        task.MetaInfo.ModifiedOn = taskfile.CreatedOn.Value;
                        Manager.SaveOrUpdate(task);
                    }
                    Manager.Commit();
                }
            }
            catch (Exception ex)
            {
                Manager.RollBack();
                throw new lm.Comol.Core.Event.EventItemFileNotLinked(ex.Message, ex);
            }
        }
        //VERIFICARE...
        public bool AllowActionExecution(ModuleLink link, int idUser, int idCommunity, int idRole, Dictionary <string, long> moduleUserLong = null, Dictionary <string, string> moduleUserString = null)
        {
            //In pratica "se" ho permesso di "play"?
            //In tal caso dovrebbe essere ok.
            List <StandardActionType> actions = GetAllowedStandardAction(link.SourceItem, link.DestinationItem, idUser, idRole, -1, moduleUserLong, moduleUserString);

            return(actions.Contains(StandardActionType.Play));
        }
예제 #12
0
        public void addStaticModule(DSPModule module)
        {
            ModuleLink link = new ModuleLink();

            link.isStatic = true;
            link.index    = staticMods.Count;
            staticMods.Add(module);
            modLinks.Add(link);
        }
예제 #13
0
 public ModuleLinkModel(ModuleLink link)
 {
     Id = link.Id;
     ModuleId = link.ModuleId;
     Sref = link.Sref;
     Text = link.Text;
     AccessType = link.AccessType;
     AccessTypeRight = link.AccessTypeRight;
     IsAdminLink = link.IsAdminLink;
 }
예제 #14
0
 public ModuleLinkModel(ModuleLink link)
 {
     Id              = link.Id;
     ModuleId        = link.ModuleId;
     Sref            = link.Sref;
     Text            = link.Text;
     AccessType      = link.AccessType;
     AccessTypeRight = link.AccessTypeRight;
     IsAdminLink     = link.IsAdminLink;
 }
예제 #15
0
 public void fModuleError(ModuleLink _oModule)
 {
     //           Debug.fTrace("Error: " + _sFile);
     try
     {
         //  aChk[_sModule].Enabled = true;
         //   aStatus[_sModule].Text = "Error";
     }
     catch { }
     checkDownloadCompleted();
 }
예제 #16
0
 public void addIndivModule(Type type, string name)
 {
     if (type.IsSubclassOf(typeof(DSPModule)))
     {
         ModuleLink link = new ModuleLink();
         link.isStatic = false;
         link.index    = indivMods.Count;
         link.name     = name;
         indivMods.Add(type);
         modLinks.Add(link);
     }
 }
 public void InitView(ModuleLink link, iCoreFilePermission permission)
 {
     View.FileDisplayName = "";
     if (link != null && link.DestinationItem != null && link.DestinationItem.ServiceCode == CoreModuleRepository.UniqueID)
     {
         AnalyzeAction(link, permission);
     }
     else
     {
         View.DisplayNoAction();
     }
 }
예제 #18
0
        public ModuleLink GenerateLink()
        {
            ModuleLink link = new ModuleLink()
            {
                InterfaceType        = module.interfaceType.Type,
                InitializeOnLoad     = module.initializeOnLoad,
                CreateAfterAppLoaded = module.createAfterAppLoaded
            };

            link.SetImplementation(module.implementationType.TypeString);

            if (module.configType.IsDefined)
            {
                string path = Folders.Configs + "/" + module.configType.Name;
                link.ConfigLink = Link.Create <ModuleConfigLink>(path);

                path = $"{ResourcesAssetHelper.RootFolder}/{path}.asset";

                if (AssetDatabase.LoadAssetAtPath <ModuleConfig>(path) == null)
                {
                    Util.EnsureProjectFolderExists($"{ResourcesAssetHelper.RootFolder}/{Folders.Configs}");

                    if (module.config)
                    {
                        AssetDatabase.CopyAsset(AssetDatabase.GetAssetPath(module.config), path);
                    }
                    else
                    {
                        Object config = CreateInstance(module.configType.Type);
                        config.name = module.configType.Name;
                        AssetDatabase.CreateAsset(config, path);
                    }
                }
            }

            if (module.behaviour != null)
            {
                string path = Folders.Behaviours + "/" + module.behaviour.name;
                link.BehaviourLink = Link.Create <BehaviourModuleLink>(path);

                path = $"{ResourcesAssetHelper.RootFolder}/{path}.prefab";

                if (AssetDatabase.LoadAssetAtPath <GameObject>(path) == null)
                {
                    Util.EnsureProjectFolderExists($"{ResourcesAssetHelper.RootFolder}/{Folders.Behaviours}");
                    AssetDatabase.CopyAsset(AssetDatabase.GetAssetPath(module.behaviour), path);
                }
            }

            return(link);
        }
예제 #19
0
        //Effettivamente utilizzati
        public dtoEvaluation EvaluateModuleLink(ModuleLink link, Int32 idUser, Dictionary <String, long> moduleUserLong = null, Dictionary <String, String> moduleUserString = null)
        {
            //if (Link.SourceItem.ObjectTypeID == ??)

            Int64 FileId = link.SourceItem.ObjectLongID;

            IList <Int64> FilesIds = new List <Int64>();

            FilesIds.Add(FileId);

            IList <int> UsersIds = new List <int>();

            UsersIds.Add(idUser);

            IList <ColFile> ColFiles = this.ColScormManager.GetStatFileUser(FilesIds, UsersIds);


            dtoEvaluation EvalML = new dtoEvaluation();

            if (ColFiles.Count > 0)
            {
                ColFile File = ColFiles[0];
                //Stat.Status
                switch (File.UserStats[0].Status)
                {
                case lm.Comol.Modules.ScormStat.Icodeon.StatusCode.Completed:
                    EvalML.isStarted   = true;
                    EvalML.isCompleted = true;
                    EvalML.isPassed    = true;
                    break;

                case lm.Comol.Modules.ScormStat.Icodeon.StatusCode.Started:
                    EvalML.isStarted   = true;
                    EvalML.isCompleted = false;
                    EvalML.isPassed    = false;
                    break;

                default:
                    EvalML.isStarted   = false;
                    EvalML.isCompleted = false;
                    EvalML.isPassed    = false;
                    break;
                }

                EvalML.Completion = (short)((File.UserStats[0].NumActivity / File.Package.ActivityCount) * 100);
            }

            return(EvalML);
        }
예제 #20
0
        public bool AllowActionExecution(ModuleLink link, int idUser, int idCommunity, int idRole, Dictionary <string, long> moduleUserLong = null, Dictionary <string, string> moduleUserString = null)
        {
            //Person person = Manager.GetPerson(idUser);
            switch (link.SourceItem.ObjectTypeID)
            {
            case (int)ModuleGlossary.ObjectType.Item:
                return(false);

            case (int)ModuleGlossary.ObjectType.Group:
                return(false);

            default:
                return(false);
            }
        }
예제 #21
0
        public Int32 GetCommunityIdFromItemFileLink(long idLink)
        {
            Int32      idCommunity = -1;
            ModuleLink link        = Manager.Get <ModuleLink>(idLink);

            if (link != null)
            {
                Int32 result = (from f in Manager.GetIQ <EventItemFile>() where f.Link != null && f.Link.Id == idLink && f.Deleted == BaseStatusDeleted.None select f.IdCommunity).Skip(0).Take(1).ToList().FirstOrDefault();
                if (result > 0)
                {
                    idCommunity = result;
                }
            }
            return(idCommunity);
        }
 public void InitView(ModuleLink pLink)
 {
     if (pLink == null)
     {
         View.DisplayNoAction();
     }
     else if (pLink.DestinationItem.ServiceCode == CoreModuleRepository.UniqueID)
     {
         AnalyzeAction(pLink);
     }
     else
     {
         View.DisplayNoAction();
     }
 }
예제 #23
0
        public int GetCommunityIdFromTaskLink(long IdLink)
        {
            int        IdCommunity = -1;
            ModuleLink link        = Manager.Get <ModuleLink>(IdLink);

            if (link != null)
            {
                Community community = (from ifl in Manager.GetAll <TaskListFile>(f => f.Link == link) select ifl.CommunityOwner).Skip(0).Take(1).ToList().FirstOrDefault();
                if (community != null)
                {
                    IdCommunity = community.Id;
                }
            }
            return(IdCommunity);
        }
        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);
        }
        /// <summary>
        /// Get evaluation of link
        /// </summary>
        /// <param name="idLink"></param>
        /// <param name="idUser"></param>
        /// <param name="moduleUserLong"></param>
        /// <param name="moduleUserString"></param>
        /// <returns></returns>
        public dtoEvaluation EvaluateModuleLinkForExternal(long idLink, int idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString)
        {
            dtoEvaluation evaluation = null;

            using (ISession session = NHSessionHelper.GetComolSession())
            {
                DataContext dc   = new DataContext(session);
                ModuleLink  link = dc.GetById <ModuleLink>(idLink);
                using (ISession icodeon = NHSessionHelper.GetIcodeonSession())
                {
                    DataContext ic = new DataContext(icodeon);
                    evaluation = EvaluateModule(dc, ic, link, idUser, moduleUserLong, moduleUserString);
                }
            }
            return(evaluation);
        }
        //public void InitView(dtoDisplayItemRepository item)
        //{
        //    if (item == null)
        //        View.DisplayNoAction();
        //    else
        //        AnalyzeAction(item);
        //}

        private void AnalyzeAction(ModuleLink pLink)
        {
            int ActionID           = pLink.Action;
            BaseCommunityFile item = null;

            if ((pLink.DestinationItem != null))
            {
                item = Service.GetItem(pLink.DestinationItem.ObjectLongID);
                if ((item == null) || (pLink.DestinationItem.ObjectLongID == 0 && (ActionID == (int)CoreModuleRepository.ActionType.CreateFolder || ActionID == (int)CoreModuleRepository.ActionType.UploadFile)))
                {
                    View.DisplayRemovedObject();
                }
                else
                {
                    int IdCommunity = 0;
                    if (item.CommunityOwner != null)
                    {
                        IdCommunity = item.CommunityOwner.Id;
                    }
                    if (typeof(CommunityFile) == item.GetType())
                    {
                        View.ServiceCode = pLink.DestinationItem.ServiceCode;
                        View.ServiceID   = pLink.DestinationItem.ServiceID;
                    }
                    else
                    {
                        View.ServiceCode = pLink.SourceItem.ServiceCode;
                        View.ServiceID   = pLink.SourceItem.ServiceID;
                    }

                    if (item is ModuleInternalFile)
                    {
                        ModuleInternalFile oInternal = (ModuleInternalFile)item;
                        View.DisplayLinkForModule(pLink.Id, IdCommunity, item, oInternal.ServiceActionAjax);
                    }
                    else
                    {
                        View.DisplayLink(pLink.Id, IdCommunity, item);
                    }
                }
            }
            else
            {
                View.DisplayNoAction();
            }
        }
        public void InitView(long IdLink)
        {
            ModuleLink Link = Service.GetModuleLink(IdLink);

            if (Link == null)
            {
                View.DisplayNoAction();
            }
            else if (Link.DestinationItem.ServiceCode == CoreModuleRepository.UniqueID)
            {
                AnalyzeAction(Link);
            }
            else
            {
                View.DisplayNoAction();
            }
        }
예제 #28
0
        public bool AllowActionExecution(ModuleLink link, int idUser, int idCommunity, int idRole, Dictionary <string, long> moduleUserLong = null, Dictionary <string, string> moduleUserString = null)
        {
            Boolean allow = false;

            switch (link.SourceItem.ObjectTypeID)
            {
            case (int)COL_BusinessLogic_v2.UCServices.Services_EduPath.ObjectType.SubActivity:
                long idActivity = (from s in Manager.GetIQ <liteSubActivity>() where s.ModuleLink != null && s.ModuleLink.Id == link.Id select s.IdActivity).Skip(0).Take(1).ToList().FirstOrDefault();
                if (idActivity > 0)
                {
                    allow = GetUserRole_ByActivity(idActivity, idUser, idRole) > RoleEP.None;
                }
                break;

            default:
                break;
            }
            return(allow);
        }
        public String GetDescriptionByLink(ModuleLink link)
        {
            String result = "";

            if (link == null || link.DestinationItem == null)
            {
                result = "";
            }
            else
            {
                liteBaseCommunityFile item = CurrentManager.Get <liteBaseCommunityFile>(link.DestinationItem.ObjectLongID);
                if (item == null)
                {
                    result = "";
                }
                else
                {
                    if (item.isFile)
                    {
                        result = View.GetDisplayItemDescription(item.DisplayName, item.Extension, item.Size, item.RepositoryItemType);
                    }
                    else
                    {
                        switch (link.Action)
                        {
                        case (int)CoreModuleRepository.ActionType.CreateFolder:
                            result = View.CreateFolderDescription(item.Name);
                            break;

                        case (int)CoreModuleRepository.ActionType.UploadFile:
                            result = View.UploadFileDescription(item.Name);
                            break;

                        case 0:
                            result = View.FolderDescription(item.Name);
                            break;
                        }
                    }
                }
            }
            return(result);
        }
        public bool AllowActionExecution(ModuleLink link, Int32 idUser, Int32 idCommunity, Int32 idRole, Dictionary <String, long> moduleUserLong = null, Dictionary <String, String> moduleUserString = null)
        {
            switch (link.SourceItem.ObjectTypeID)
            {
            case (int)ModuleCommunityDiary.ObjectType.Diary:
                return(AllowViewDiary(idUser, idCommunity, idRole));

            case (int)ModuleCommunityDiary.ObjectType.DiaryItem:
                return(AllowViewDiaryItem(link.SourceItem.ObjectLongID, idUser));

            case (int)ModuleCommunityDiary.ObjectType.DiaryItemFile:
                return(AllowDownloadFileOfItem(link.SourceItem.ObjectLongID, idUser));

            case (int)ModuleCommunityDiary.ObjectType.DiaryItemLinkedFile:
                return(AllowDownloadFileLinkedToItem(link.SourceItem.ObjectLongID, idUser));

            default:
                return(false);
            }
        }
예제 #31
0
        public bool AllowActionExecution(ModuleLink link, Int32 idUser, Int32 idCommunity, Int32 idRole, Dictionary <String, long> moduleUserLong = null, Dictionary <String, String> moduleUserString = null)
        {
            Person person = Manager.GetPerson(idUser);

            switch (link.SourceItem.ObjectTypeID)
            {
            case (int)ModuleTasklist.ObjectType.Project:
                return(AllowViewProject(idUser, idCommunity, idRole));

            case (int)ModuleTasklist.ObjectType.Task:
                return(AllowViewTask(link.SourceItem.ObjectLongID, idUser, idCommunity, idRole));

            case (int)ModuleTasklist.ObjectType.TaskFile:
                return(AllowDownloadFileOfItemDescription(link.SourceItem.ObjectLongID, idUser, idCommunity, idRole));

            case (int)ModuleTasklist.ObjectType.TaskLinkedFile:
                return(AllowDownloadFileLinkedToItem(link.SourceItem.ObjectLongID, idUser, idCommunity, idRole));

            default:
                return(false);
            }
        }