public ActionResult Insert(int containerId, int itemId, PagerParameters pagerParameters) { var container = _containerService.Get(containerId, VersionOptions.Latest); var item = _contentManager.Get(itemId, VersionOptions.Latest, QueryHints.Empty.ExpandParts <CommonPart, ContainablePart>()); var commonPart = item.As <CommonPart>(); var previousItemContainer = commonPart.Container; var itemMetadata = _contentManager.GetItemMetadata(item); var containerMetadata = _contentManager.GetItemMetadata(container); var position = _containerService.GetFirstPosition(containerId) + 1; LocalizedString message; if (previousItemContainer == null) { message = T("{0} was moved to <a href=\"{1}\">{2}</a>", itemMetadata.DisplayText, Url.RouteUrl(containerMetadata.AdminRouteValues), containerMetadata.DisplayText); } else if (previousItemContainer.Id != containerId) { var previousItemContainerMetadata = _contentManager.GetItemMetadata(commonPart.Container); message = T("{0} was moved from <a href=\"{3}\">{4}</a> to <a href=\"{1}\">{2}</a>", itemMetadata.DisplayText, Url.RouteUrl(containerMetadata.AdminRouteValues), containerMetadata.DisplayText, Url.RouteUrl(previousItemContainerMetadata.AdminRouteValues), previousItemContainerMetadata.DisplayText); } else { message = T("{0} is already part of this list and was moved to the top.", itemMetadata.DisplayText); } _containerService.MoveItem(item.As <ContainablePart>(), container, position); _services.Notifier.Information(message); return(RedirectToAction("List", new { containerId, page = pagerParameters.Page, pageSize = pagerParameters.PageSize })); }
public async Task <ActionResult <Board> > GetContainer(int id) { //string userId = User.Claims.First(c => c.Type == "UserID").Value; KanbanContainer container = await _service.Get(id); return(Ok(container)); }
public async Task <IDynamicCollection <T> > GetOrCreateAsync <T>( string listName, Func <IQueryable <T>, IQueryable <T> > query = null, Func <IEnumerable <T>, IEnumerable <T> > sorter = null ) where T : IEntity { var collectionKey = GetCollectionCacheKey(listName); var result = IMemoryCacheService.Get <IDynamicCollection <T> >(collectionKey); if (result != null) { return(result); } var IRepository = IContainerService.Get <IRepository <T> >(); var idsKey = GetIdsCacheKey(listName); var entityIds = await ICacheService.GetAsync <List <string> >(idsKey); if (entityIds == null) { var queryable = IRepository.GetQueryable(); if (query != null) { queryable = query(queryable); } var entities = await IDatabaseService.QueryAsync(queryable); await IEntityCacheService.Push(entities); entityIds = entities .Select(x => x?.Id) .ToList(); } else { await IRepository.GetManyByIdAsync(entityIds); } result = IDynamicCollectionFactory .Create(entityIds, sorter); IMemoryCacheService.Set(collectionKey, result); return(result); }
private IEnumerable <string> GetLists <T>(T entity) where T : IEntity { var repository = IContainerService.Get <IRepository <T> >(); if (!(repository is IDynamicRepository <T> dynamicRepository)) { throw new Exception($"{repository.GetType().Name} must implement {nameof(IDynamicRepository<T>)}"); } var result = dynamicRepository.GetDynamicListNames(entity); return(result); }
public async Task <ActionResult <IEnumerable <ContainerDto> > > GetContainers() { return(await _containerService.Get()); }