public BackerProject CreateFunding(BackerProjectOption backProjOption) { float tempfund = 0; float finalfund = 0; var reward = _db.Rewards.Find(backProjOption.RewardId); var project = _db.Projects.Find(backProjOption.ProjectId); if (backProjOption.Fund == 0) { tempfund = reward.Price; } else { tempfund = backProjOption.Fund + reward.Price; } float tempTotalSum = tempfund + project.Balance; if (tempTotalSum < project.BudgetGoal) { finalfund = tempfund; } else { finalfund = tempfund - (tempTotalSum - project.BudgetGoal); } BackerProject backerProject = new BackerProject { BackerId = backProjOption.BackerId, Backer = _db.Backers.Find(backProjOption.BackerId), RewardId = backProjOption.RewardId, Reward = reward, ProjectId = backProjOption.ProjectId, Project = project, Fund = finalfund, DoF = DateTime.Now, Status = Status.Pending }; _db.BackerProjects.Add(backerProject); _db.SaveChanges(); return(backerProject); }
public BackerProject CreateBackerProject([FromBody] BackerProjectOption backerProjectOption) { return(bpMng.CreateFunding(backerProjectOption)); }