public ActionResult AddModule(string name)
        {
            ModuleRepository repo    = new ModuleRepository();
            string           message = string.Empty;
            bool             errored = false;

            if (string.IsNullOrEmpty(name))
            {
                errored = true;
                message = "Missing value";
            }
            else
            {
                try
                {
                    repo.AddModule(name);
                }
                catch (Exception exc)
                {
                    errored = true;
                    message = exc.ToString();
                }
            }

            if (!errored)
            {
                message = "Changes Saved";
            }

            return(Json(new { Errored = errored, Message = message }, JsonRequestBehavior.AllowGet));
        }
 public void InitView(RepositoryIdentifier identifier, long idActivity, List <long> unloadItems = null)
 {
     View.Identifier    = identifier;
     unloadItems        = unloadItems ?? new List <long>();
     View.UnloadItems   = unloadItems;
     View.CurrentAction = DisplayRepositoryAction.none;
     View.IdActivity    = idActivity;
     if (UserContext.isAnonymous)
     {
         View.DisplayWorkingSessionExpired(identifier.IdCommunity, CurrentIdModule);
     }
     else
     {
         ModuleRepository module = ServiceRepository.GetPermissions(identifier, UserContext.CurrentUserID);
         List <DisplayRepositoryAction> actions = GetAvailableActions(identifier, module);
         View.LoadAvailableActions(actions, DisplayRepositoryAction.select);
         if (actions.Any())
         {
             if (actions.Contains(DisplayRepositoryAction.repositoryDownloadOrPlay))
             {
                 View.InitializeCommunityUploader(identifier);
             }
             View.InitializeInternalUploader(identifier);
         }
     }
 }
Esempio n. 3
0
        public OperationResult Update(ModuleModel model)
        {
            var entity = new Module
            {
                Id         = model.Id,
                Name       = model.Name,
                Code       = model.Code,
                ParentId   = model.ParentId != 0 ? model.ParentId : null,
                LinkUrl    = model.LinkUrl,
                Area       = model.Area,
                Controller = model.Controller,
                Action     = model.Action,
                OrderSort  = model.OrderSort,
                Icon       = model.Icon != null ? model.Icon : "",
                Enabled    = model.Enabled,
                IsMenu     = model.IsMenu,
                CreateId   = model.CreateId,
                CreateBy   = model.CreateBy,
                CreateTime = DateTime.Now,
                ModifyId   = model.ModifyId,
                ModifyBy   = model.ModifyBy,
                ModifyTime = DateTime.Now
            };

            ModuleRepository.Update(entity);
            return(new OperationResult(OperationResultType.Success, "更新成功"));
        }
Esempio n. 4
0
        public void TryToSave(long idItem, List <dtoEditAssignment> assignments, Dictionary <AssignmentType, String> tTranslations, Dictionary <PermissionsTranslation, String> translations, Dictionary <ModuleRepository.Base2Permission, String> pTranslations)
        {
            if (!SessionTimeout())
            {
                liteRepositoryItem rItem            = Service.ItemGet(idItem);
                Int32 idCommunity                   = UserContext.CurrentCommunityID;
                ModuleRepository.ObjectType oType   = ModuleRepository.ObjectType.File;
                ModuleRepository.ActionType uAction = ModuleRepository.ActionType.VersionUnableToAdd;

                if (rItem != null)
                {
                    ModuleRepository module = Service.GetPermissions(rItem.Repository, UserContext.CurrentUserID);
                    idCommunity = rItem.Repository.IdCommunity;
                    dtoDisplayRepositoryItem dItem = Service.GetItemWithPermissions(idItem, UserContext.CurrentUserID, rItem.Repository, View.GetUnknownUserName());
                    if (dItem == null)
                    {
                        View.DisplayUserMessage(UserMessageType.detailsNoPermissionToSave);
                        oType   = ModuleRepository.GetObjectType(rItem.Type);
                        uAction = ModuleRepository.ActionType.UnknownItemFound;
                    }
                    else if (rItem.Type == ItemType.Folder)
                    {
                        View.AskUserForApply(rItem.DisplayName);
                    }
                    else
                    {
                        SaveAssignments(idItem, assignments, false, tTranslations, translations, pTranslations);
                    }
                }
                else
                {
                    View.SendUserAction(idCommunity, Service.GetIdModule(), uAction, idItem, oType);
                }
            }
        }
 public IHttpActionResult Get()
 {
     using (ModuleRepository _repo = new ModuleRepository(UnitOfWork))
     {
         return(Ok(_repo.All.FirstOrDefault(m => m.IsHomePage && !m.IsDeleted)));
     }
 }
        public dtoContainerQuota GetFolderQuota(String repositoryPath, long idFolder, RepositoryIdentifier identifier)
        {
            liteRepositorySettings settings = SettingsGetByRepositoryIdentifier(identifier);
            ModuleRepository       module   = GetPermissions(identifier, UC.CurrentUserID);

            return(GetFolderQuota(repositoryPath, idFolder, settings, module, identifier.Type, identifier.IdCommunity));
        }
        public ActionResult Modules()
        {
            ModuleRepository     repo      = new ModuleRepository();
            List <Models.Module> lstReturn = repo.GetAll();

            return(Json(lstReturn, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// Builds and returns a <see cref="Workspace"/> from a given module repository (<see cref="ModuleRepository"/>).
        /// Before returning, asserts that the built workspace contains no failures.
        /// </summary>
        public async Task <Workspace> ParseAsync(ModuleRepository repo)
        {
            var workspace = await ParseNoErrorCheckAsync(repo);

            WorkspaceTestBase.AssertNoWorkspaceFailures(workspace);
            return(workspace);
        }
 public IHttpActionResult Get()
 {
     using (ModuleRepository _repo = new ModuleRepository(UnitOfWork))
     {
         return Ok(_repo.All.FirstOrDefault(m => m.IsHomePage && !m.IsDeleted));
     }
 }
Esempio n. 10
0
            public void Saves_Modules()
            {
                Target.LoadProject("asdf");
                Target.SaveProject();

                ModuleRepository.Assert(mr => mr.SetModules(Arg.IsAny <IModule[]>()), Occurs.Once());
            }
        public void ChangeAction(long idActivity, RepositoryIdentifier identifier, DisplayRepositoryAction action, List <long> unloadItems)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplayWorkingSessionExpired(identifier.IdCommunity, CurrentIdModule);
            }
            else
            {
                switch (action)
                {
                case DisplayRepositoryAction.playMultimedia:
                case DisplayRepositoryAction.downloadItem:
                case DisplayRepositoryAction.playScormPackage:
                    ModuleRepository module = ServiceRepository.GetPermissions(identifier, UserContext.CurrentUserID);
                    switch (action)
                    {
                    case DisplayRepositoryAction.downloadItem:
                        View.InitializeLinkRepositoryItems(UserContext.CurrentUserID, module, identifier, unloadItems, lm.Comol.Core.FileRepository.Domain.ItemType.File);
                        break;

                    case DisplayRepositoryAction.playMultimedia:
                        View.InitializeLinkRepositoryItems(UserContext.CurrentUserID, module, identifier, unloadItems, lm.Comol.Core.FileRepository.Domain.ItemType.Multimedia);
                        break;

                    case DisplayRepositoryAction.playScormPackage:
                        View.InitializeLinkRepositoryItems(UserContext.CurrentUserID, module, identifier, unloadItems, lm.Comol.Core.FileRepository.Domain.ItemType.ScormPackage);
                        break;
                    }
                    break;
                }
                View.DisplayAction(action);
            }
        }
Esempio n. 12
0
        /// <summary>
        /// Did the least refactoring required to make the method easily testable
        /// To get max possible cases out for testing e.g. repo failure.
        /// and still would be able to see if the student has passed the test or not.
        /// </summary>
        /// <param name="lessonId"></param>
        /// <param name="grade"></param>
        /// <param name="isPassed"></param>
        /// <returns></returns>
        public string UpdateLessonGrade(int lessonId, double grade, out bool isPassed)
        {
            isPassed = false;
            var lessonRepo = new LessonRepository();
            var lesson     = lessonRepo.GetLesson(lessonId);

            if (lesson == null)
            {
                return("Lesson not Found!");
            }

            lesson.Grade = grade;

            if (!lesson.IsPassed)
            {
                var moduleRepository = new ModuleRepository();
                var module           = moduleRepository.GetModule(lessonId);

                if (module == null)
                {
                    return("Module not Found!");
                }

                if (grade >= module.MinimumPassingGrade)
                {
                    lesson.IsPassed = true;
                }
                else
                {
                    lesson.IsPassed = false;
                }
            }
            isPassed = lesson.IsPassed;
            return("Success");
        }
Esempio n. 13
0
        public void SaveModule_While_Module_Has_No_Changes_Should_Not_Call_AppendToStream()
        {
            // Arrange
            var module = new Module(new List <DomainEvent>
            {
                new ModuleGecreeerd
                {
                    ModuleCode     = "IOPR",
                    ModuleNaam     = "Object georienteerd programeren",
                    AantalEc       = 3,
                    Cohort         = "2019/2020",
                    Studiefase     = new Studiefase("", new List <int>()),
                    Competenties   = new Matrix(),
                    Eindeisen      = new List <string>(),
                    VerplichtVoor  = new List <Specialisatie>(),
                    AanbevolenVoor = new List <Specialisatie>()
                }
            });
            var repository = new ModuleRepository(_eventStoreMock.Object, _eventPublisherMock.Object);

            // Act
            repository.SaveModule(module);

            // Assert
            _eventStoreMock.Verify(store => store.AppendToStream(It.IsAny <EventStream>()), Times.Never);
        }
Esempio n. 14
0
        public void LoadModule_Should_Return_Call_LoadStream_On_EventStore()
        {
            // Arrange
            _eventStoreMock
            .Setup(store => store.LoadStream(It.IsAny <string>()))
            .Returns(new EventStream("module:testid", 3, new[]
            {
                new ModuleGecreeerd
                {
                    ModuleCode     = "IOPR",
                    ModuleNaam     = "Object georienteerd programeren",
                    AantalEc       = 3,
                    Cohort         = "2019/2020",
                    Studiefase     = new Studiefase("", new List <int>()),
                    Competenties   = new Matrix(),
                    Eindeisen      = new List <string>(),
                    VerplichtVoor  = new List <Specialisatie>(),
                    AanbevolenVoor = new List <Specialisatie>()
                }
            }));
            var repository = new ModuleRepository(_eventStoreMock.Object, _eventPublisherMock.Object);

            // Act
            var result = repository.LoadModule("testid");

            // Assert
            _eventStoreMock.Verify(store => store.LoadStream("module:testid"));
        }
Esempio n. 15
0
        public void SaveModule_Should_Call_AppendToStream_On_EventStore()
        {
            // Arrange
            _eventStoreMock
            .Setup(store => store.LoadStream(It.IsAny <string>()))
            .Returns(new EventStream(null, 0, new List <DomainEvent>()));
            var module = new Module(
                new CreeerModuleCommand
            {
                ModuleCode     = "IOPR",
                ModuleNaam     = "Object georienteerd programeren",
                AantalEc       = 3,
                Cohort         = "2019/2020",
                Studiefase     = new Studiefase("", new List <int>()),
                Competenties   = new Matrix(),
                Eindeisen      = new List <string>(),
                VerplichtVoor  = new List <Specialisatie>(),
                AanbevolenVoor = new List <Specialisatie>()
            });
            var repository = new ModuleRepository(_eventStoreMock.Object, _eventPublisherMock.Object);

            // Act
            repository.SaveModule(module);

            // Assert
            _eventStoreMock.Verify(store => store.AppendToStream(It.IsAny <EventStream>()), Times.Once);
        }
Esempio n. 16
0
        public void GetModulesSuccess()
        {
            //Arrange
            var moduleRepository = new ModuleRepository(_container);
            var dbContext        = _serviceProvider.GetRequiredService <DeviserDbContext>();
            var modules          = TestDataRepository.GetModules();

            foreach (var item in modules)
            {
                moduleRepository.Create(item);
            }

            //Act
            var result     = moduleRepository.Get();
            var resultItem = result.First();

            //Assert
            Assert.NotNull(result);
            Assert.True(result.Count > 0);
            Assert.NotNull(resultItem);
            Assert.NotEqual(resultItem.Id, Guid.Empty);
            Assert.False(resultItem.IsActive);
            Assert.True(!string.IsNullOrEmpty(resultItem.Name));
            Assert.True(!string.IsNullOrEmpty(resultItem.Label));
            Assert.True(!string.IsNullOrEmpty(resultItem.Description));
            Assert.True(!string.IsNullOrEmpty(resultItem.Version));
            Assert.NotNull(resultItem.ModuleAction);
            Assert.True(resultItem.ModuleAction.Count > 0);
            Assert.True(resultItem.CreatedDate > DateTime.MinValue);
            Assert.True(resultItem.LastModifiedDate > DateTime.MinValue);

            //Clean
            dbContext.Module.RemoveRange(dbContext.Module);
        }
Esempio n. 17
0
        /// <summary>
        /// 获取指定模块及其父模块的所有可用功能集合
        /// </summary>
        /// <param name="id">要查询的顶模块信息</param>
        /// <returns>允许的功能集合</returns>
        public virtual IEnumerable <TFunction> GetAllFunctions(TModuleKey id)
        {
            TModule module = ModuleRepository.GetByKey(id);

            TModuleKey[] keys = module.TreePathIds;
            return(ModuleRepository.Entities.Where(m => keys.Contains(m.Id)).SelectMany(m => m.Functions).DistinctBy(m => m.Id));
        }
Esempio n. 18
0
 public PlanBusiness(IUnitOfWork _unitOfWork)
 {
     unitOfWork           = _unitOfWork;
     planRepository       = new PlanRepository(unitOfWork);
     moduleRepository     = new ModuleRepository(unitOfWork);
     planModuleRepository = new PlanModuleRepository(unitOfWork);
 }
Esempio n. 19
0
        public List <dtoDisplayRepositoryItem> GetItemsWithPermissions(List <long> idItems, Int32 idCurrentPerson, RepositoryIdentifier identifier, liteRepositorySettings settings, String unknownUser, Boolean useCache = false)
        {
            String           key    = CacheKeys.UserViewOfPartialRepository(idCurrentPerson, identifier);
            ModuleRepository module = GetPermissions(identifier, idCurrentPerson);
            List <dtoDisplayRepositoryItem> rItems = lm.Comol.Core.DomainModel.Helpers.CacheHelper.Find <List <dtoDisplayRepositoryItem> >(key);

            if (rItems == null || !rItems.Any() || !useCache)
            {
                rItems = new List <dtoDisplayRepositoryItem>();
                List <dtoRepositoryItem> fItems = GetFullRepository(identifier, unknownUser, true);
                if (fItems == null)
                {
                    return(null);
                }

                List <dtoDisplayRepositoryItem> items = GetRepositoryItemsWithPermissions(settings, UC.CurrentUserID, identifier, fItems, module, module.Administration || module.ManageItems, module.Administration || module.ManageItems, false, false);
                if (items != null)
                {
                    rItems.AddRange(items);
                }
                if (useCache && rItems.Any())
                {
                    CacheHelper.AddToCache <List <dtoDisplayRepositoryItem> >(key, rItems, CacheExpiration._5minutes);
                }
            }
            return(GetItemsWithPermissions(idItems, rItems, settings, idCurrentPerson, module));
        }
Esempio n. 20
0
        public object GetDetails2(int page, int rows, string QueryString, string Value)
        {
            string SystemName = "";
            string ModuleName = "";

            if (QueryString == "SystemName")
            {
                SystemName = Value;
            }
            else
            {
                ModuleName = Value;
            }
            IQueryable <Module> ModuleQuery = ModuleRepository.GetQueryable();
            var Module = ModuleQuery.Where(c => c.System.SystemName.Contains(SystemName) && c.ModuleName.Contains(ModuleName))
                         .OrderBy(c => c.ModuleName)
                         .Select(c => new
            {
                c.ModuleID,
                c.ModuleName,
                c.ModuleURL,
                ParentModule = c.ParentModule.ModuleName,
                c.System.SystemName
            });
            int total = Module.Count();

            Module = Module.Skip((page - 1) * rows).Take(rows);
            return(new { total, rows = Module.ToArray() });
        }
Esempio n. 21
0
 public List <dtoDisplayRepositoryItem> GetAvailableRepositoryItems(
     liteRepositorySettings settings,
     Int32 idCurrentPerson,
     RepositoryType type,
     Int32 idCommunity,
     String unknownUser,
     Dictionary <FolderType, String> fTranslations,
     Dictionary <ItemType, String> iTranslations,
     ModuleRepository permissions,
     Boolean forAdmin   = false,
     Boolean alsoHidden = false,
     Boolean onlyFolder = false,
     Boolean useCache   = true)
 {
     return(GetAvailableRepositoryItems(
                settings,
                idCurrentPerson,
                RepositoryIdentifier.Create(type, idCommunity),
                unknownUser,
                fTranslations,
                iTranslations,
                permissions,
                forAdmin,
                alsoHidden,
                onlyFolder,
                useCache));
 }
Esempio n. 22
0
        public void UpdateForUpload(long idItem, Boolean allowUpload, List <dtoEditAssignment> assignments, Dictionary <AssignmentType, String> tTranslations, Dictionary <PermissionsTranslation, String> translations, Dictionary <ModuleRepository.Base2Permission, String> pTranslations)
        {
            if (!SessionTimeout())
            {
                liteRepositoryItem rItem            = Service.ItemGet(idItem);
                Int32 idCommunity                   = UserContext.CurrentCommunityID;
                ModuleRepository.ObjectType oType   = ModuleRepository.ObjectType.File;
                ModuleRepository.ActionType uAction = ModuleRepository.ActionType.VersionUnableToAdd;
                View.AllowUpload = allowUpload;
                if (rItem != null)
                {
                    ModuleRepository module = Service.GetPermissions(rItem.Repository, UserContext.CurrentUserID);
                    idCommunity = rItem.Repository.IdCommunity;

                    long permissions = (long)((rItem.AllowUpload) ? ModuleRepository.Base2Permission.DownloadOrPlay | ModuleRepository.Base2Permission.Upload : ModuleRepository.Base2Permission.DownloadOrPlay);
                    assignments.Where(a => !a.Denyed && a.Permissions == 0).ToList().ForEach(a => a.Permissions = permissions);

                    Boolean reloadItems = Service.AssignmentsAddToItem(idItem, assignments.Where(a => !a.IsDeleted).ToList(), false);
                    View.HasPendingChanges = !reloadItems;
                    uAction = (reloadItems ? ModuleRepository.ActionType.PermissionsSaved : ModuleRepository.ActionType.PermissionsNotSaved);
                    if (reloadItems)
                    {
                        LoadAssignments(true, idItem, tTranslations, translations, pTranslations);
                    }
                    View.SendUserAction(idCommunity, Service.GetIdModule(), uAction, idItem, oType);
                }
                else
                {
                    View.SendUserAction(idCommunity, Service.GetIdModule(), uAction, idItem, oType);
                }
            }
        }
        public async Task <IActionResult> Post([FromBody] BaseComponentViewModel heartbeatViewModel)
        {
            try
            {
                var id = Guid.Parse(heartbeatViewModel.ModuleId);

                var heartbeat = new Heartbeat
                {
                    ModuleId = id,

                    State = heartbeatViewModel.State
                };

                await HeartbeatRepository.CreateHeartbeat(heartbeat);

                await ModuleRepository.UpdateModuleHeartbeat
                    (new Module(id, heartbeatViewModel.State));

                return(Ok(heartbeat));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);

                return(BadRequest(new ErrorResponse(ex)));
            }
        }
        public async Task <IActionResult> Post([FromBody] BaseComponentViewModel stateChangeViewModel)
        {
            try
            {
                var id = Guid.Parse(stateChangeViewModel.ModuleId);

                var stateChange = new StateChange
                {
                    ModuleId = id,

                    State = stateChangeViewModel.State
                };

                await StateChangesRepository.CreateStateChange(stateChange);

                await ModuleRepository.UpdateModuleHeartbeat(new Module(id, stateChangeViewModel.State));

                var moduleResponse
                    = await StateChangesRepository
                      .PostStateChangeToBackendApi(stateChange);

                return(Ok(moduleResponse));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);

                return(BadRequest(new ErrorResponse(ex)));
            }
        }
Esempio n. 25
0
        /// <summary>
        /// 删除代码模块信息信息
        /// </summary>
        /// <param name="ids">要删除的代码模块信息编号</param>
        /// <returns>业务操作结果</returns>
        public async Task <OperationResult> DeleteCodeModules(params Guid[] ids)
        {
            List <string> names = new List <string>();

            UnitOfWork.EnableTransaction();
            foreach (var id in ids)
            {
                var module = ModuleRepository.Query(m => m.Id == id).Select(m => new { D = m, EntityCount = m.Entities.Count() })
                             .FirstOrDefault();
                if (module == null)
                {
                    return(null);
                }

                if (module.EntityCount > 0)
                {
                    return(new OperationResult(OperationResultType.Error, $"模块“{module.D.Name}”包含着 {module.EntityCount} 个实体,请先删除下属实体信息"));
                }

                int count = await ModuleRepository.DeleteAsync(module.D);

                if (count > 0)
                {
                    names.Add(module.D.Name);
                }
            }

            await UnitOfWork.CommitAsync();

            return(names.Count > 0
                ? new OperationResult(OperationResultType.Success, $"模块“{names.ExpandAndToString()}”删除成功")
                : OperationResult.NoChanged);
        }
Esempio n. 26
0
        /// <summary>
        /// 添加模块信息信息
        /// </summary>
        /// <param name="dto">要添加的模块信息DTO信息</param>
        /// <returns>业务操作结果</returns>
        public virtual async Task <OperationResult> CreateModule(TModuleInputDto dto)
        {
            dto.CheckNotNull("dto");
            if (await ModuleRepository.CheckExistsAsync(m => m.Name == dto.Name))
            {
                return(new OperationResult(OperationResultType.Error, "名称为“{0}”的模块已存在,不能重复添加".FormatWith(dto.Name)));
            }
            TModule module = dto.MapTo <TModule>();

            if (dto.ParentId.HasValue)
            {
                TModule parent = await ModuleRepository.GetByKeyAsync(dto.ParentId.Value);

                if (parent == null)
                {
                    return(new OperationResult(OperationResultType.Error, "编号为“{0}”的父模块信息不存在".FormatWith(dto.ParentId.Value)));
                }
                module.Parent = parent;
            }
            else
            {
                module.Parent = default(TModule);
            }
            module.TreePathString = module.GetTreePath();
            await ModuleRepository.InsertAsync(module);

            return(OperationResult.Success);
        }
Esempio n. 27
0
        public static SelectList GetSelectList_Module(object sValue)
        {
            var selectListItems = new List <SelectListItem>();
            ModuleRepository ModuleRepository = new ModuleRepository(new Domain.ErpDbContext());
            SelectListItem   itemEmpty        = new SelectListItem();

            itemEmpty.Text  = App_GlobalResources.Wording.Empty;
            itemEmpty.Value = null;
            selectListItems.Add(itemEmpty);
            try
            {
                var q = ModuleRepository.GetAllModule().OrderBy(item => item.Id);
                foreach (var i in q)
                {
                    SelectListItem item = new SelectListItem();
                    item.Text  = i.Name;
                    item.Value = i.Name.ToString();
                    selectListItems.Add(item);
                }
            }
            catch { }

            var selectList = new SelectList(selectListItems, "Value", "Text", sValue);

            return(selectList);
        }
        public dtoContainerQuota GetFolderQuota(String repositoryPath, long idFolder, RepositoryType type, Int32 idRepositoryCommunity)
        {
            liteRepositorySettings settings = SettingsGetDefault(type, idRepositoryCommunity);
            ModuleRepository       module   = GetPermissions(type, idRepositoryCommunity, UC.CurrentUserID);

            return(GetFolderQuota(repositoryPath, idFolder, settings, module, type, idRepositoryCommunity));
        }
Esempio n. 29
0
        public void GetEditModuleActionsSuccess()
        {
            //Arrange
            var moduleRepository = new ModuleRepository(_container);
            var dbContext        = _serviceProvider.GetRequiredService <DeviserDbContext>();
            var modules          = TestDataRepository.GetModules();

            foreach (var item in modules)
            {
                item.ModuleAction.First().ModuleActionType.ControlType = "edit";
                moduleRepository.Create(item);
            }
            var moduleId = modules.First().Id;

            //Act
            var result     = moduleRepository.GetEditModuleActions(moduleId);
            var resultItem = result.First();

            //Assert
            Assert.NotNull(result);
            Assert.True(result.Count > 0);
            Assert.NotNull(resultItem);
            Assert.NotEqual(resultItem.Id, Guid.Empty);
            Assert.True(!string.IsNullOrEmpty(resultItem.ActionName));
            Assert.True(!string.IsNullOrEmpty(resultItem.ControllerName));
            Assert.True(!string.IsNullOrEmpty(resultItem.ControllerNamespace));
            Assert.True(!string.IsNullOrEmpty(resultItem.DisplayName));
            Assert.True(!string.IsNullOrEmpty(resultItem.IconClass));
            Assert.True(resultItem.ModuleActionTypeId != Guid.Empty);

            //Clean
            dbContext.Module.RemoveRange(dbContext.Module);
        }
Esempio n. 30
0
        public ModuleDefinition GetModuleDefinitionFromContent(
            ModuleDescriptor moduleDescriptor,
            ModuleRepository moduleRepository)
        {
            if (m_nameResolutionSemantics == NameResolutionSemantics.ImplicitProjectReferences && moduleDescriptor.Name != PreludeName)
            {
                var moduleConfigurationPath = moduleRepository.RootDir.Combine(moduleRepository.PathTable, Names.ModuleConfigBm);

                return(ModuleDefinition.CreateModuleDefinitionWithImplicitReferences(
                           moduleDescriptor,
                           moduleRepository.RootDir,
                           moduleConfigurationPath,
                           moduleRepository.GetAllPathsForModule(moduleDescriptor),
                           allowedModuleDependencies: null,
                           cyclicalFriendModules: moduleRepository.GetAllModules().Select(
                               descriptor => ModuleReferenceWithProvenance.FromNameAndPath(descriptor.Name, moduleConfigurationPath.ToString(PathTable))),
                           mounts: null));
            }

            return(ModuleDefinition.CreateModuleDefinitionWithExplicitReferencesWithEmptyQualifierSpace(
                       moduleDescriptor,
                       moduleRepository.RootDir.Combine(moduleRepository.PathTable, "FakeMainFile.dsc"),
                       moduleRepository.RootDir.Combine(moduleRepository.PathTable, Names.ModuleConfigBm),
                       moduleRepository.GetAllPathsForModule(moduleDescriptor),
                       PathTable));
        }
Esempio n. 31
0
        /// <summary>
        /// 根据角色ID获取菜单列表
        /// </summary>
        /// <param name="roleId"></param>
        /// <returns></returns>
        private IEnumerable <ModuleModel> GetModuleListByRoleId(int roleId)
        {
            string sql  = @"SELECT m.* FROM Module m";
            var    list = ModuleRepository.GetModuleListByRoleId(sql, roleId);

            return(list);
        }
 public IHttpActionResult Get(string url)
 {
     using (var _repo = new ModuleRepository(UnitOfWork))
     {
         int moduleId = _repo.All.FirstOrDefault(m => m.Url == url).Id;
         return Get(moduleId);
     }
 }
        public override void OnActionExecuting(HttpActionContext context)
        {
            ModuleRepository moduleRepository = new ModuleRepository(new MyRoomDbContext());
            bool hasChildrens = moduleRepository.HasCategoriesChildrens((int)context.ActionArguments["key"]);
            if (!hasChildrens)
                throw new HttpResponseException(context.Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "Please, delete the categories children"));


        }
        public IHttpActionResult Get(int id)
        {
            Module module;
            using (var _repo = new ModuleRepository(UnitOfWork))
            {
                module = _repo.AllIncluding(m => m.Name).FirstOrDefault(m => m.Id == id);

            }
            return Ok<Module>(module);
        }
 public IHttpActionResult Get(string url, int id)
 {
     int moduleCount;
     using (var _repo = new ModuleRepository(UnitOfWork))
     {
         moduleCount = _repo.All
                 .Where(m => !m.IsDeleted && m.Url == url && m.Id != id)
                 .Count();
     }
     return Ok<bool>(moduleCount > 0);
 }
        public IHttpActionResult Get(bool staticType)
        {
            List<ModuleViewModel> modules;
            using (var _repo = new ModuleRepository(UnitOfWork))
            {
                modules = _repo.AllIncluding(m => m.Name)
                    .Where(m => !m.IsDeleted && m.ModuleType == Module.Type.Static).ToList()
                    .Select(m => m.ToModuleViewModel())
                        .ToList();

            }
            return Ok<List<ModuleViewModel>>(modules);
        }
        public IHttpActionResult Get(string url)
        {
            Module module;
            string partialUrl = url.Split('/')[1];
            using (var _repo = new ModuleRepository(UnitOfWork))
            {
                module = _repo.AllIncluding(m => m.Name)
                        .Where(m => !m.IsDeleted && (m.Url == url || m.Url == "/" + partialUrl))
                        .FirstOrDefault();

            }
            return Ok<Module>(module);
        }
        public IHttpActionResult Get()
        {
            List<Module> modules = new List<Module>();

            using(var _repo = new ModuleRepository(UnitOfWork))
            {
                modules = _repo.AllIncluding(m => m.Name)
                        .Where(m => !m.IsDeleted)
                        .OrderBy(m => m.MenuPosition)
                        .ToList();
            }

            List<ModuleViewModel> moduleViewModels = modules.Select(m => m.ToModuleViewModel()).ToList();

            return Ok<List<ModuleViewModel>>(moduleViewModels);
        }
        public IHttpActionResult Get(int id)
        {
            List<ModuleContent> moduleContents = new List<ModuleContent>();

            using (var _repo = new ModuleRepository(UnitOfWork))
            {
                var module = _repo.AllIncluding(m => m.ModuleContents, m => m.ModuleContents.Select(mc => mc.ModuleContentTranslations))
                        .FirstOrDefault(m => m.Id == id);

                if(module != null)
                {
                    moduleContents = module.ModuleContents.Where(c => !c.IsDeleted).ToList();
                }

                return Ok(moduleContents);
            }
        }
Esempio n. 40
0
        public void TestTrackingEdit()
        {
           
            var moduleRep = new ModuleRepository();
            //var module = moduleRep.FindSingle(u => u.Id == 14);
            //module.CascadeId = DateTime.Now.ToShortTimeString();
            //如果不加u.Id !=7 则会造成异常,可理解为数据库的默认隔离级别为“读已提交”,不允许脏读!
            //var obstruct = moduleRep.Find(u =>u.Id != 7); 
            //foreach (var module1 in obstruct)
            //{
            //    module.CascadeId += module1.CascadeId;
            //}
            //moduleRep.Update(module);

            var module2 = new Module
            {
                Id = 14,
                CascadeId = DateTime.Now.ToShortTimeString()
            };
            moduleRep.Update(module2);
        }
        public IHttpActionResult Post(int id, List<ModuleContent> contents)
        {
            using(var _moduleContentRepo = new ModuleContentRepository(UnitOfWork))
            {
                using (var _repo = new ModuleRepository(UnitOfWork))
                {
                    // First update all the elements that need updating.
                    foreach (ModuleContent item in contents)
                    {
                        if(item.ModuleContentTranslations != null)
                        {
                            foreach (ModuleContentTranslation translation in item.ModuleContentTranslations)
                            {
                                if (translation.Id == default(int)) translation.State = State.Added;
                                else translation.State = State.Modified;
                            }
                        }
                        _moduleContentRepo.InsertOrUpdateGraph(item);
                    }

                    // Then delete all the entities that are not there anymore.
                    var module = _repo.AllIncluding(m => m.ModuleContents)
                            .FirstOrDefault(m => m.Id == id);

                    if (module != null)
                    {
                        // Delete the contents that needs to be deleted
                        List<ModuleContent> contentsToDelete = module.ModuleContents.Where(c => !contents.Select(i => i.Id).Contains(c.Id)).ToList();
                        contentsToDelete.ForEach(c => _moduleContentRepo.Delete(c.Id));
                    }
                    else throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest));

                    UnitOfWork.Save();
                }
            }

            return Ok();
        }
 public ModulesController()
 {
     ModuleRepository = new ModuleRepository();
 }
 public IHttpActionResult Post(Module module)
 {
     using(ModuleRepository _repo = new ModuleRepository(UnitOfWork))
     {
         using (ModuleNameRepository _moduleNameRepo = new ModuleNameRepository(UnitOfWork))
         {
             if (module.Id != default(int))
             {
                 // Need to specify the state of everything in order not to have double-ups
                 module.State = State.Modified;
                 module.Name.ForEach(n => _moduleNameRepo.InsertOrUpdate(n));
             }
             _repo.InsertOrUpdate(module);
             UnitOfWork.Save();
         }
     }
     return Ok();
 }