Ejemplo n.º 1
0
        public IActionResult Index(ActivityQuery model)
        {
            var activities = new ActivityRepo(db, partnerManager).GetActivities(model.QName, true);

            model.Results = activities;
            return(View(model));
        }
Ejemplo n.º 2
0
        public ActionResult AjaxQuery(ActivityQuery query)
        {
            query.OwnerID = OwnerID;
            var activityList = Service.Select(query);
            var pro          = Pagination.FromQuery(query);

            ViewData["Pagination"] = pro;
            return(PartialView("Activity/ActivityList", activityList));
        }
Ejemplo n.º 3
0
        public async Task <BacklogResponse <Activity[]> > GetActivitiesAsync(ActivityQuery query = null)
        {
            query = query ?? new ActivityQuery();
            var response = await _client.GetAsync($"/api/v2/users/{Id}/activities", query.Build()).ConfigureAwait(false);

            return(await _client.CreateResponseAsync <Activity[], List <_Activity> >(
                       response,
                       HttpStatusCode.OK,
                       data => data.Select(x => new Activity(x, _client)).ToArray()).ConfigureAwait(false));
        }
        private TagActivity[] GetTagActivities(int dateFrom, int dateTo)
        {
            var timeline      = _timelineRepository.GetLocalTimeline(TimelineTypeNames.Tags);
            var activityQuery = new ActivityQuery().WithTimelineId(timeline.TimelineId)
                                .WithFromDate(dateFrom)
                                .WithToDate(dateTo);

            return(_activityRepository
                   .Get(activityQuery)
                   .Cast <TagActivity>()
                   .ToArray());
        }
Ejemplo n.º 5
0
        public ActionResult Index()
        {
            var query = new ActivityQuery()
            {
                OwnerID        = OwnerID,
                Take           = PageSize,
                OrderField     = "LastModifiedAt",
                OrderDirection = OrderDirection.Desc,
            };
            var initList = Service.Select(query).ToArray();

            ViewData["Pagination"] = Pagination.FromQuery(query);
            ViewData["Query"]      = query;
            return(View(initList));
        }
Ejemplo n.º 6
0
            public async Task <Result <PagedList <ActivityDto> > > Handle(ActivityQuery request, CancellationToken cancellationToken)
            {
                var query = _context.Activities
                            .Where(d => d.Date >= request.Params.StartDate)
                            .OrderBy(d => d.Date)
                            .ProjectTo <ActivityDto>(_mapper.ConfigurationProvider, new { currentUsername = _userAccessor.GetUsername() })
                            .AsQueryable();

                if (request.Params.IsGoing && !request.Params.IsHost)
                {
                    query = query.Where(x => x.Attendees.Any(a => a.Username == _userAccessor.GetUsername()));
                }

                if (request.Params.IsHost && !request.Params.IsGoing)
                {
                    query = query.Where(x => x.HostUsername == _userAccessor.GetUsername());
                }

                return(Result <PagedList <ActivityDto> > .Success(
                           await PagedList <ActivityDto> .CreateAsync(query, request.Params.PageNumber, request.Params.PageSize)
                           ));
            }
Ejemplo n.º 7
0
        public ActionResult Add(Activity activity)
        {
            activity.AwardTypes = GetTypes();
            var query = new ActivityQuery()
            {
                OwnerID        = OwnerID,
                Take           = PageSize,
                OrderField     = "LastModifiedAt",
                OrderDirection = OrderDirection.Desc,
            };

            try
            {
                activity.RuleType = activity.RuleType ?? 1;
                Service.Create(activity);
                return(AjaxQuery(query));
            }
            catch (RuleViolatedException exception)
            {
                ViewBag.Error = exception.Message;
                return(AjaxQuery(query));
            }
        }
Ejemplo n.º 8
0
        public IActionResult Index(string id)
        {
            var currentRoleId = partnerManager.GetCurrentUserRole(this.HttpContext);
            var permission    = _activityRepo.GetPartAct("Activity.Query", currentRoleId);

            if (permission == null)
            {
                toastNotification.AddErrorToastMessage("ليس لديك الصلاحية الكافية", new ToastrOptions
                {
                    Title = ""
                });
                return(Redirect(Request.Headers["Referer"].ToString()));
            }

            if (!string.IsNullOrEmpty(id))
            {
                var activity = new ActivityRepo(db, partnerManager).GetActivity(id, true);
                if (activity != null)
                {
                    var model = new ActivityQuery();
                    model.Results.Add(activity);
                    return(View(model));
                }
                else
                {
                    var model = new ActivityQuery();
                    return(View(model));
                }
            }
            else
            {
                var activities = new ActivityRepo(db, partnerManager).GetActivities(id, true);
                var model      = new ActivityQuery();
                model.Results = activities;
                return(View(model));
            }
        }
Ejemplo n.º 9
0
        public void Delete(int id)
        {
            var entity = new ActivityQuery().Get(id);

            SessionFactoryHelper.CurrentSession.Delete(entity);
        }
Ejemplo n.º 10
0
        public PagedResult <ActivityDTO> Find(ActivityQuery activityQuery)
        {
            Check.Argument.IsNotNull(activityQuery, "activityQuery");

            //Apply filtering
            var query = _databaseContext.Activities
                        .Include(a => a.Participants)
                        .Include(a => a.Reads)
                        .Include(a => a.Files)
                        .Where(activityQuery);

            if (activityQuery.FilterByParticipantUserId)
            {
                var orgIds =
                    _organizationsGetter.GetUserOrganizationAndAncestors(activityQuery.ParticipantUserId.Value).ToList();
                query =
                    query.Where(
                        a =>
                        a.Participants.Any(
                            p =>
                            (p.OperateType == ActivityParticipantOperateType.User ||
                             p.OperateType == ActivityParticipantOperateType.OwningUser) &&
                            p.ParticipantId == activityQuery.ParticipantUserId)
                        ||
                        a.Participants.Any(
                            p =>
                            p.OperateType == ActivityParticipantOperateType.Organization &&
                            orgIds.Contains(p.ParticipantId)));
            }

            var total = query.Count();

            //Apply sorting
            if (!string.IsNullOrWhiteSpace(activityQuery.SortMember))
            {
                if (activityQuery.SortDirection == ListSortDirection.Ascending)
                {
                    switch (activityQuery.SortMember)
                    {
                    case "Id":
                        query = query.OrderBy(u => u.Id);
                        break;

                    case "ParentId":
                        query = query.OrderBy(u => u.ParentId);
                        break;

                    case "ActivityTypeString":
                    case "ActivityType":
                        query = query.OrderBy(u => u.ActivityType);
                        break;

                    case "RegardingObjectId":
                        query = query.OrderBy(u => u.RegardingObjectId);
                        break;

                    case "RegardingObjectType":
                        query = query.OrderBy(u => u.RegardingObjectType);
                        break;

                    case "RegardingObjectUrl":
                        query = query.OrderBy(u => u.RegardingObjectUrl);
                        break;

                    case "PriorityString":
                    case "Priority":
                        query = query.OrderBy(u => u.Priority);
                        break;

                    case "QuoteOrOrderNumber":
                        query = query.OrderBy(u => u.QuoteOrOrderNumber);
                        break;

                    case "AssignedOn":
                        query = query.OrderBy(u => u.AssignedOn);
                        break;

                    case "DateDue":
                        query = query.OrderBy(u => u.DateDue);
                        break;

                    case "StartedOn":
                        query = query.OrderBy(u => u.StartedOn);
                        break;

                    case "CompletedOn":
                        query = query.OrderBy(u => u.CompletedOn);
                        break;

                    case "EstimatedHours":
                        query = query.OrderBy(u => u.EstimatedHours);
                        break;

                    case "ActualHours":
                        query = query.OrderBy(u => u.ActualHours);
                        break;

                    case "Detail":
                        query = query.OrderBy(u => u.Detail);
                        break;

                    case "Resolution":
                        query = query.OrderBy(u => u.Resolution);
                        break;

                    case "EstimatedProgress":
                        query = query.OrderBy(u => u.EstimatedProgress);
                        break;

                    case "ArticleUrl":
                        query = query.OrderBy(u => u.ArticleUrl);
                        break;

                    case "OwningUser.Name":
                    case "OwningUserId":
                        query = query.OrderBy(u => u.OwningUserId);
                        break;

                    case "OrganizationId":
                        query = query.OrderBy(u => u.OrganizationId);
                        break;

                    case "State":
                        query = query.OrderBy(u => u.State);
                        break;

                    case "StatusString":
                    case "Status":
                        query = query.OrderBy(u => u.Status);
                        break;

                    case "PlaceV4":
                        query = query.OrderBy(u => u.PlaceV4);
                        break;

                    case "CreatedByUser.Name":
                    case "CreatedBy":
                        query = query.OrderBy(u => u.CreatedBy);
                        break;

                    case "ModifiedByUser.Name":
                    case "ModifiedBy":
                        query = query.OrderBy(u => u.ModifiedBy);
                        break;

                    case "CreatedOn":
                        query = query.OrderBy(u => u.CreatedOn);
                        break;

                    case "ModifiedOn":
                        query = query.OrderBy(u => u.ModifiedOn);
                        break;

                    default:
                        query = query.OrderBy(u => u.ModifiedOn);
                        break;
                    }
                }
                else
                {
                    switch (activityQuery.SortMember)
                    {
                    case "Id":
                        query = query.OrderByDescending(u => u.Id);
                        break;

                    case "ParentId":
                        query = query.OrderByDescending(u => u.ParentId);
                        break;

                    case "ActivityTypeString":
                    case "ActivityType":
                        query = query.OrderByDescending(u => u.ActivityType);
                        break;

                    case "RegardingObjectId":
                        query = query.OrderByDescending(u => u.RegardingObjectId);
                        break;

                    case "RegardingObjectType":
                        query = query.OrderByDescending(u => u.RegardingObjectType);
                        break;

                    case "RegardingObjectUrl":
                        query = query.OrderByDescending(u => u.RegardingObjectUrl);
                        break;

                    case "PriorityString":
                    case "Priority":
                        query = query.OrderByDescending(u => u.Priority);
                        break;

                    case "QuoteOrOrderNumber":
                        query = query.OrderByDescending(u => u.QuoteOrOrderNumber);
                        break;

                    case "AssignedOn":
                        query = query.OrderByDescending(u => u.AssignedOn);
                        break;

                    case "DateDue":
                        query = query.OrderByDescending(u => u.DateDue);
                        break;

                    case "StartedOn":
                        query = query.OrderByDescending(u => u.StartedOn);
                        break;

                    case "CompletedOn":
                        query = query.OrderByDescending(u => u.CompletedOn);
                        break;

                    case "EstimatedHours":
                        query = query.OrderByDescending(u => u.EstimatedHours);
                        break;

                    case "ActualHours":
                        query = query.OrderByDescending(u => u.ActualHours);
                        break;

                    case "Detail":
                        query = query.OrderByDescending(u => u.Detail);
                        break;

                    case "Resolution":
                        query = query.OrderByDescending(u => u.Resolution);
                        break;

                    case "EstimatedProgress":
                        query = query.OrderByDescending(u => u.EstimatedProgress);
                        break;

                    case "ArticleUrl":
                        query = query.OrderByDescending(u => u.ArticleUrl);
                        break;

                    case "OwningUser.Name":
                    case "OwningUserId":
                        query = query.OrderByDescending(u => u.OwningUserId);
                        break;

                    case "OrganizationId":
                        query = query.OrderByDescending(u => u.OrganizationId);
                        break;

                    case "State":
                        query = query.OrderByDescending(u => u.State);
                        break;

                    case "StatusString":
                    case "Status":
                        query = query.OrderByDescending(u => u.Status);
                        break;

                    case "PlaceV4":
                        query = query.OrderByDescending(u => u.PlaceV4);
                        break;

                    case "CreatedByUser.Name":
                    case "CreatedBy":
                        query = query.OrderByDescending(u => u.CreatedBy);
                        break;

                    case "ModifiedByUser.Name":
                    case "ModifiedBy":
                        query = query.OrderByDescending(u => u.ModifiedBy);
                        break;

                    case "CreatedOn":
                        query = query.OrderByDescending(u => u.CreatedOn);
                        break;

                    case "ModifiedOn":
                        query = query.OrderByDescending(u => u.ModifiedOn);
                        break;

                    default:
                        query = query.OrderByDescending(u => u.ModifiedOn);
                        break;
                    }
                }
            }
            else
            {
                query = query.OrderByDescending(r => r.ModifiedOn);
            }

            //... and paging
            if (activityQuery.PageSize > 0)
            {
                query = query.Skip((activityQuery.Page - 1) * activityQuery.PageSize);
            }

            query = query.Take(activityQuery.PageSize);

            var resultSet = query.AsNoTracking().ToList().Select(r => _activityMapper.Map(r)).ToList();

            return(new PagedResult <ActivityDTO>(resultSet, total));
        }
Ejemplo n.º 11
0
 public async Task <IActionResult> Page(ActivityQuery activityQuery)
 {
     return(Success(await _activityService.PageAsync(activityQuery)));
 }
Ejemplo n.º 12
0
 public async Task <IActionResult> Get(ActivityQuery activityQuery)
 {
     return(Success(await _activityService.RetrieveAsync(activityQuery)));
 }