public IHttpActionResult UpdateInfluencer(InfluencerDto influencerDto)
        {
            var userId = User.Identity.GetUserId();

            var influencerDb = unitOfWork.InfluencerRepository.GetInfluencerForUpdate(influencerDto.InfluencerID);

            if (influencerDb == null)
            {
                return(BadRequest());
            }

            if (influencerDb.User.Id != userId)
            {
                return(Unauthorized());
            }

            var auroraWallet = unitOfWork.AuroraWalletRepository.GetAuroraWallet();

            if (auroraWallet == null)
            {
                return(BadRequest());
            }

            // THIS TRY CATCH CHECKS IF THE PAYMENT CAN BE DONE, AND IN GENERAL IF SOMETHING GOES WRONG
            influencerDb.Modify(influencerDto, influencerDb, auroraWallet);


            // SAVE CHANGES TO DB
            unitOfWork.Complete();

            return(Ok());
        }
Exemplo n.º 2
0
        public void Modify(InfluencerDto influencerDto, Influencer oldInfluencer, AuroraWallet auroraWallet)
        {
            if (oldInfluencer.MembershipTypeID != influencerDto.MembershipTypeID)
            {
                MembershipType.ModifyMembershipType(oldInfluencer.User, oldInfluencer.MembershipTypeID, influencerDto.MembershipTypeID, auroraWallet);
            }

            AboutTheInfluencer  = influencerDto.AboutTheInfluencer;
            AudienceAge         = influencerDto.AudienceAge;
            AudienceMainCountry = influencerDto.AudienceMainCountry;
            AudienceMainState   = influencerDto.AudienceMainState;
            AudienceMainTrait   = influencerDto.AudienceMainTrait;
            Exposure            = influencerDto.Exposure;
            MainLanguage        = influencerDto.MainLanguage;
            MainTopic           = influencerDto.MainTopic;
            MembershipTypeID    = influencerDto.MembershipTypeID;
            MainPlatform        = influencerDto.MainPlatform;
        }