Beispiel #1
0
        public async Task <OperationResult <IEnumerable <community> > > GetCommunitiesFromUserByRole(string userId, Role role)
        {
            var user = await userService.GetByIdAsync(userId);

            if (user.Success)
            {
                IEnumerable <community> communities;
                if (Role.Admin == role)
                {
                    communities = user.Result.admin;
                }
                else
                {
                    communities = user.Result.member;
                }
                return(new OperationResult <IEnumerable <community> >()
                {
                    Success = true, Message = Messages.COMMUNITIES_SUCCESS, Result = communities
                });
            }
            return(new OperationResult <IEnumerable <community> >()
            {
                Success = false, Message = user.Message
            });
        }
        /**
         *   NOT SAFE!!!!!!!!!!!!!!!!
         */
        public async Task <OperationResult <int> > DislikeQuestion(string likedAuthor, int questionId)
        {
            using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var question = await questionRepo.GetByIdAsync(questionId);

                var user = await userService.GetByIdAsync(likedAuthor);

                try
                {
                    await questionRepo.deleteLiker(user.Result, question);

                    scope.Complete();
                    return(new OperationResult <int>()
                    {
                        Success = true, Message = Messages.QUESTION_UPDATED, Result = 0
                    });
                }
                catch (Exception ex)
                {
                    return(new OperationResult <int>()
                    {
                        Success = false, Message = ex.Message
                    });
                }
            }
        }
        public async Task <OperationResult <IEnumerable <@event> > > GetAllEventsFromUserAsync(string userId, Time time)
        {
            var userRes = await userService.GetByIdAsync(userId);

            if (userRes.Success)
            {
                if (Time.Past == time)
                {
                    return(new OperationResult <IEnumerable <@event> >()
                    {
                        Success = true,
                        Result = userRes.Result.eventSubscribers.Where(i => [email protected] < DateTime.Now).Select(i => i.@event),
                        Message = Messages.USER_EVENTS_SUCCESS
                    });
                }
                else if (Time.Future == time)
                {
                    return(new OperationResult <IEnumerable <@event> >()
                    {
                        Success = true,
                        Result = userRes.Result.eventSubscribers.Where(i => [email protected] > DateTime.Now.Date).Select(i => i.@event),
                        Message = Messages.USER_EVENTS_SUCCESS
                    });
                }
                else
                {
                    return(new OperationResult <IEnumerable <@event> >()
                    {
                        Success = true,
                        Result = userRes.Result.eventSubscribers.Select(i => i.@event),
                        Message = Messages.USER_EVENTS_SUCCESS
                    });
                }
            }
            return(new OperationResult <IEnumerable <@event> >()
            {
                Success = false, Message = userRes.Message
            });
        }