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()); }
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; }