public HttpResponseMessage CreateFundingForProject(UserFundingModel funding, int projectId) { if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } var identity = User.Identity as ClaimsIdentity; using (var s = new UserFundingRepository()) { //STEP 1 - Create the Project Funding from UserFundingModel coming from the client long newFundingId = s.Insert(funding, projectId, identity); //STEP 2 - Update Project Stats Screen Amount + NoOfBackers using (var sr = new ProjectStatRepository()) { bool statAmountUpdated = sr.IncrementProjectStatMoneyPledged(projectId, funding.AmountPaid); bool statNoOfBackersUpdated = sr.IncrementProjectStatBackersNo(projectId); if (!statAmountUpdated || !statNoOfBackersUpdated) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } } return(Request.CreateResponse(HttpStatusCode.Created, newFundingId)); } }
public HttpResponseMessage GetProjectFundings(int projectId) { if (projectId <= 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } using (var s = new UserFundingRepository()) { var v = s.GetProjectFundings(projectId); return(Request.CreateResponse(HttpStatusCode.OK, v)); } }
public HttpResponseMessage GetCurrentUserProjectFundings(int projectId) { if (projectId <= 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } var identity = User.Identity as ClaimsIdentity; using (var s = new UserFundingRepository()) { var v = s.GetCurrentUserProjectFundings(identity, projectId); return(Request.CreateResponse(HttpStatusCode.OK, v)); } }
public async Task <IHttpActionResult> CheckoutToViva(VivaWalletTokenModel vivaWalletModel, int fundingPackageId) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } using (var s = new UserFundingRepository()) { TransactionResult task = await s.ChargeAsync(vivaWalletModel.vivaWalletToken); if (task == null) { return(BadRequest()); } return(Ok(task)); } }