Example #1
0
        private void PopulateDefaultProperties(RateContribution rateContribution)
        {
            BearerToken bearerToken = new BearerToken();
            var         activeToken = bearerToken.GetActiveToken();

            rateContribution.musician_id = int.Parse(activeToken.client);
        }
Example #2
0
        private bool MusicianExists(RateContribution rateContribution)
        {
            MusicianRepository musicianRepository = new MusicianRepository();
            var retorno = musicianRepository.Get(rateContribution.musician_id);

            return(retorno != null);
        }
Example #3
0
 private void ValidateContributionId(RateContribution rateContribution)
 {
     if (rateContribution.contribution_id == 0)
     {
         throw ValidateException("Id da Contribuição inválido!");
     }
 }
Example #4
0
        internal RateContribution GetByUserAndProjectId(int musicalProjectId)
        {
            int userId = Utitilities.GetLoggedUserId();

            //TODO
            RateContribution retorno = new RateContribution();// _rateContributionBusiness.GetByUserAndProjectId(musicalProjectId, userId);

            return(retorno);
        }
Example #5
0
        private void Validate(RateContribution rateContribution)
        {
            ValidateContributionId(rateContribution);
            ValidateMusicianId(rateContribution);

            if (rateContribution.rate_value <= 0 || rateContribution.rate_value > 5)
            {
                throw ValidateException("O voto deve ser de 1 a 5!");
            }
        }
Example #6
0
        public RateContribution Create(RateContribution rateContribution)
        {
            PopulateDefaultProperties(rateContribution);

            Validate(rateContribution);

            RateContributionRepository rateContributionRepository = new RateContributionRepository();
            var retorno = rateContributionRepository.Create(rateContribution);

            return(retorno);
        }
Example #7
0
        public IHttpActionResult Get([FromUri] int id)
        {
            RateContribution      rateContribution      = null;
            RateContributionModel rateContributionModel = new RateContributionModel();

            try
            {
                rateContribution = rateContributionModel.GetByUserAndProjectId(musicalProjectId: id);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Ok(rateContribution));
        }
Example #8
0
        public IHttpActionResult Create([FromBody] RateContributionModel rate_musician)
        {
            RateContribution rateContribution = null;

            try
            {
                rateContribution = rate_musician.Create();
            }
            catch (ValidateException ex)
            {
                return(UnprocessableEntity(ex.Message));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Created("api", rateContribution));
        }
Example #9
0
        private void ValidateMusicianId(RateContribution rateContribution)
        {
            if (rateContribution.musician_id == 0)
            {
                throw ValidateException("O músico deve ser selecionado!");
            }

            bool targetIdExists = MusicianExists(rateContribution);

            if (!targetIdExists)
            {
                throw ValidateException("O ID deste usuario é inexistente!");
            }

            Contribution contribution = GetContributionById(rateContribution.contribution_id);

            if (rateContribution.musician_id == contribution.musician_id)
            {
                throw ValidateException("Você não pode votar em sua propria contribuição mesmo!");
            }
        }