public Result <RewardPackage> CreateRewardPackage(CreateRewardPackageOptions options) { if (options == null) { return(Result <RewardPackage> .Failed(StatusCode.BadRequest, "Please fill in the form")); } options.Title = options.Title?.Trim(); options.Description = options.Description?.Trim(); if (string.IsNullOrWhiteSpace(options.Title)) { return(Result <RewardPackage> .Failed(StatusCode.BadRequest, "Please enter a Title")); } if (options.Quantity < 0) { return(Result <RewardPackage> .Failed(StatusCode.BadRequest, "Please enter a valid Quantity")); } if (options.MinAmount <= 0 || options.MinAmount == null) { return(Result <RewardPackage> .Failed(StatusCode.BadRequest, "Please enter a valid Amount")); } var reward = new RewardPackage { Title = options.Title, Description = options.Description, MinAmount = options.MinAmount, Quantity = options.Quantity }; return(Result <RewardPackage> .Succeed(reward)); }
public RewardPackage UpdateRewardPackage(RewardPackage packageToUpdate, UpdateRewardPackageOptions options) { options.Title = options.Title?.Trim(); options.Description = options.Description?.Trim(); if (!string.IsNullOrWhiteSpace(options.Title)) { packageToUpdate.Title = options.Title; } if (!string.IsNullOrWhiteSpace(options.Description)) { packageToUpdate.Description = options.Description; } if (options.Quantity != null) { packageToUpdate.Quantity = options.Quantity; } if (options.MinAmount != null || options.MinAmount <= 0) { packageToUpdate.MinAmount = options.MinAmount.Value; } return(packageToUpdate); }
public RewardPackageOption CreateRewardPackage(RewardPackageOption rewardPackageOption) { RewardPackage rewardPackage = GetRewardPackageFromRewardPackageOption(rewardPackageOption); dbContext.RewardPackages.Add(rewardPackage); dbContext.SaveChanges(); rewardPackageOption.Id = rewardPackage.Id; return(rewardPackageOption); }
private static RewardPackageOption GetRewardPackageOptionsFromRewardPackage(RewardPackage rewardPackage) { return(new RewardPackageOption { Reward = rewardPackage.Reward, Price = rewardPackage.Price, Id = rewardPackage.Id, ProjectId = rewardPackage.Project.Id }); }
public RewardPackageOption UpdateRewardPackage(int id, RewardPackageOption rewardPackageOption) { RewardPackage rewardPackage = dbContext.RewardPackages.Find(id); rewardPackage.Reward = rewardPackageOption.Reward; rewardPackage.Price = rewardPackageOption.Price; dbContext.SaveChanges(); return(rewardPackageOption); }
public RewardPackageOption FindRewardPackageById(int id) { RewardPackage rewardPackage = dbContext.RewardPackages.Where(o => o.Id == id).Include(o => o.Project).SingleOrDefault(); if (rewardPackage == null) { return(null); } return(GetRewardPackageOptionsFromRewardPackage(rewardPackage)); }
public bool DeleteRewardPackage(int id) { RewardPackage rp = dbContext.RewardPackages.Find(id); if (rp == null) { return(false); } dbContext.RewardPackages.Remove(rp); dbContext.SaveChanges(); return(true); }
private RewardPackageOption AddRewardPackageToTransaction(int rewardPackageId) { RewardPackage rewardPackage = dbContext.RewardPackages.Where(o => o.Id == rewardPackageId).Include(o => o.Project).SingleOrDefault(); RewardPackageOption rewardPackageOption = new RewardPackageOption { Id = rewardPackage.Id, Price = rewardPackage.Price, Reward = rewardPackage.Reward, ProjectId = rewardPackage.Project.Id, ProjectName = rewardPackage.Project.Title }; return(rewardPackageOption); }
public TransactionOption CreateTransaction(int backerId, int rewardPackageOptionId) { if (backerId == 0) { return(null); } Backer backer = dbContext.Backers.Find(backerId); if (backer == null) { return(null); } RewardPackage rewardPackage = dbContext.RewardPackages.Where(o => o.Id == rewardPackageOptionId).Include(o => o.Project).SingleOrDefault(); if (rewardPackage == null) { return(null); } Transaction transaction = new Transaction { Backer = backer, RewardPackage = rewardPackage, Amount = rewardPackage.Price }; dbContext.Transactions.Add(transaction); dbContext.SaveChanges(); TransactionOption transactionOption = new TransactionOption { BackerName = backer.LastName + " " + backer.FirstName + " ", TransactionId = transaction.Id, BackerId = backer.Id, Amount = transaction.Amount, ProjectName = transaction.RewardPackage.Project.Title, RewardPackage = AddRewardPackageToTransaction(rewardPackageOptionId) }; return(UpdateCurrentBudget(transactionOption)); }
public bool DeleteRewardPackage(RewardPackage rewardPackage) { _context.Remove(rewardPackage); return(_context.SaveChanges() > 0); }
public Result <RewardPackage> CreateRewardPackage( CreateRewardPackageOptions options) { if (options == null) { return(Result <RewardPackage> .ActionFailed( StatusCode.BadRequest, "Null options")); } if (string.IsNullOrWhiteSpace(options.Description)) { return(Result <RewardPackage> .ActionFailed( StatusCode.BadRequest, "Null options")); } if (string.IsNullOrWhiteSpace(options.Name)) { return(Result <RewardPackage> .ActionFailed( StatusCode.BadRequest, "Null options")); } if (options.Amount == null || options.Amount <= 0) { return(Result <RewardPackage> .ActionFailed( StatusCode.BadRequest, "Invalid Amount")); } var project = context_ .Set <Project>() .Where(p => p.ProjectId == options.ProjectId) .SingleOrDefault(); if (project == null) { return(Result <RewardPackage> .ActionFailed( StatusCode.BadRequest, "Invalid ProjectId")); } var rewardPackage = new RewardPackage() { Amount = options.Amount, Description = options.Description, Name = options.Name }; foreach (var option in options.RewardOptions) { if (option == null) { continue; } var createdReward = rewardService_.AddRewardToList(option); if (createdReward != null) { rewardPackage.Rewards.Add(createdReward.Data); } else { return(Result <RewardPackage> .ActionFailed( StatusCode.BadRequest, "Invalid Rewards given")); } } project.RewardPackages.Add(rewardPackage); context_.Add(rewardPackage); var rows = 0; try { rows = context_.SaveChanges(); } catch (Exception ex) { return(Result <RewardPackage> .ActionFailed( StatusCode.InternalServerError, ex.ToString())); } if (rows <= 0) { return(Result <RewardPackage> .ActionFailed( StatusCode.InternalServerError, "Reward Package could not be created")); } return(Result <RewardPackage> .ActionSuccessful(rewardPackage)); }