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); }
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; }
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); } } }
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); }
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); } }
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)); }
public void addStaticModule(DSPModule module) { ModuleLink link = new ModuleLink(); link.isStatic = true; link.index = staticMods.Count; staticMods.Add(module); modLinks.Add(link); }
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; }
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; }
public void fModuleError(ModuleLink _oModule) { // Debug.fTrace("Error: " + _sFile); try { // aChk[_sModule].Enabled = true; // aStatus[_sModule].Text = "Error"; } catch { } checkDownloadCompleted(); }
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(); } }
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); }
//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); }
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); } }
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(); } }
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(); } }
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); } }
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); } }