public Participation GetParticipationById(int id)
        {
            Participation p = _repository.Get(filter => filter.Id == id).FirstOrDefault();

            if (p != null)
            {
                p.Activity = _activityRepository.Get(filter => filter.Id == p.ActivityId).FirstOrDefault();
            }

            return(p);
        }
Exemple #2
0
        public void RedeemParticipation(string loginEmail, int participationId, decimal amount)
        {
            ExecuteFaultHandledOperation(() =>
            {
                IAccountRepository accountRepository             = _DataRepositoryFactory.GetDataRepository <IAccountRepository>();
                IParticipationRepository ParticipationRepository = _DataRepositoryFactory.GetDataRepository <IParticipationRepository>();
                IParticipationEngine ParticipationEngine         = _BusinessEngineFactory.GetBusinessEngine <IParticipationEngine>();

                Account account = accountRepository.GetByLogin(loginEmail);
                if (account == null)
                {
                    NotFoundFault fault = new NotFoundFault(string.Format("No account found for login '{0}'.", loginEmail));
                    throw new FaultException <NotFoundFault>(fault, fault.Message);
                }
                ValidateAuthorization(account);

                Participation participation = ParticipationRepository.Get(participationId);
                if (participation == null)
                {
                    NotFoundFault fault = new NotFoundFault(string.Format("No participation record found for id '{0}'.", participationId));
                    throw new FaultException <NotFoundFault>(fault, fault.Message);
                }

                ParticipationEngine.RedeemFundsFromParticipation(participationId, amount);
            });
        }
Exemple #3
0
        public Participation GetParticipation(int participationId)
        {
            return(ExecuteFaultHandledOperation(() =>
            {
                IParticipationRepository ParticipationRepository = _DataRepositoryFactory.GetDataRepository <IParticipationRepository>();

                Participation participation = ParticipationRepository.Get(participationId);
                if (participation == null)
                {
                    NotFoundFault fault = new NotFoundFault(string.Format("No participation record found for id '{0}'.", participationId));
                    throw new FaultException <NotFoundFault>(fault, fault.Message);
                }

                ValidateAuthorization(participation);

                return participation;
            }));
        }