// GET: Instance
        public ActionResult Index(int page=1, int pageSize=20, string instanceNameFilter="", InstanceType? typeFilter=null, bool? publicFilter = null, bool? closedFilter = null, bool? lockedFilter = null, InstanceUserLevel? levelFilter = null)
        {
            ViewBag.Page = page;
            ViewBag.PageSize = pageSize;
            ViewBag.Count = _service.GetUserInstanceCount(instanceNameFilter, typeFilter, publicFilter, closedFilter, lockedFilter, levelFilter, User.Identity.GetUserId()).ToPayload<int>();
            ViewBag.Pages = (ViewBag.Count + pageSize - 1) / pageSize;

            var list = _mapper.Map<IEnumerable<Models.UserInstanceModel>>(_service.GetUserInstances(page, pageSize, instanceNameFilter, typeFilter, publicFilter, closedFilter, lockedFilter, levelFilter, User.Identity.GetUserId()).ToListPayload<Domain.UserInstance>());

            return View(list);
        }
 public ApplicationServiceResponse SetUserLevel(int instanceId, string targetUserId, InstanceUserLevel level, string userId)
 {
     throw new NotImplementedException();
 }
 public ApplicationServiceResponse GetUserInstances(int page, int pageSize, string instanceNameFilter, InstanceType? typeFilter, bool? publicFilter, bool? closedFilter, bool? lockedFilter, InstanceUserLevel? levelFilter, string userId)
 {
     return ApplicationServiceListResponse<Domain.UserInstance>.Create(
         ApplicationServiceResult.Success,
         _userInstanceRepository.Find(
             CalculateSkip(page, pageSize),
             pageSize,
             instanceNameFilter,
             typeFilter,
             publicFilter,
             closedFilter,
             lockedFilter,
             levelFilter,
             userId,
             x => x.InstanceName,
             false));
 }
 public ApplicationServiceResponse GetUserInstanceCount(string instanceNameFilter, InstanceType? typeFilter, bool? publicFilter, bool? closedFilter, bool? lockedFilter, InstanceUserLevel? levelFilter, string userId)
 {
     return ApplicationServiceResponse<int>.Create(
         ApplicationServiceResult.Success,
         _userInstanceRepository.Count(
             instanceNameFilter,
             typeFilter,
             publicFilter,
             closedFilter,
             lockedFilter,
             levelFilter,
             userId));
 }