public async Task <FileGiftAidDeclarationResponse> Handle(FileGiftAidDeclarationRequest request, CancellationToken cancellationToken) { ValidateRequest(request); var donation = request.Donation; var giftAidDeclaration = new GiftAidDeclaration { Id = Guid.NewGuid(), DonationId = donation.Id, DonationAmount = donation.DonationAmount, GiftAidAmount = donation.GiftAidAmount, GiftAidReference = donation.GiftAidReference, DonorDetails = donation.DonorDetails, Created = DateTimeOffset.Now }; _logger.LogDebug("Filing Gift-Aid declaration with reference {GiftAidReference} for donation with id {DonationId}.", donation.GiftAidReference, request.Donation.Id); await _createGiftAidDeclarationCommand.Execute(giftAidDeclaration, cancellationToken); return(new FileGiftAidDeclarationResponse { Declaration = giftAidDeclaration, }); }
public HttpResponseMessage UpdateGiftAidDeclaration(GiftAidDeclaration GiftAidDeclaration) { try { if (GiftAidDeclaration == null) { return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } // Create the GiftAidDeclaration record in the Azure SQL DB: int GiftAidDeclarationResult = _GiftAidDeclarationWorker.UpdateCreate(GiftAidDeclaration); if (GiftAidDeclarationResult > 0) { return(new HttpResponseMessage(HttpStatusCode.OK)); } // Existed already: else if (GiftAidDeclarationResult == 0) { return(new HttpResponseMessage(HttpStatusCode.OK)); } return(new HttpResponseMessage(HttpStatusCode.OK)); } catch (Exception e) { return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } }
public Task Execute(GiftAidDeclaration giftAidDeclaration, CancellationToken cancellationToken = default) { if (giftAidDeclaration == null) { throw new ArgumentNullException(nameof(giftAidDeclaration)); } var collection = _db.GetCollection <GiftAidDeclaration>("gift-aid-declarations"); collection.Insert(giftAidDeclaration); return(Task.CompletedTask); }
public GiftAidDeclarationBuilderBuilder() { var donation = new DonationModelBuilder().Build(); _model = new GiftAidDeclaration { GiftAidAmount = donation.GiftAidAmount, DonationAmount = donation.DonationAmount, Created = DateTimeOffset.Now, DonationId = donation.Id, DonorDetails = donation.DonorDetails, Id = Guid.NewGuid(), GiftAidReference = donation.GiftAidReference }; }
public int CreateGiftAidDeclaration(string name, string postCode, double donationAmount) { using (var db = new LiteDatabase(_databaseConnectionString)) { var declarations = db.GetCollection <GiftAidDeclaration>(); var declaration = new GiftAidDeclaration { Name = name, PostCode = postCode, DonationAmount = donationAmount }; declarations.Insert(declaration); // LiteDB auto-increments the ID property of the object, resulting in a unique identifier. return(declaration.Id); } }
public async Task <IActionResult> PostAsync([FromBody] GiftAidDeclarationRequest request) { Log.Information($"Received {nameof(GiftAidDeclarationRequest)}: {@request}", request); var validationResult = await _postCodeValidator.Validate(request.PostCode); if (!validationResult.result) { return(BadRequest(new { error = "Invalid PostCode" })); } await _giftAidRepository.CreateGiftAidDeclaration(request); var response = new GiftAidDeclaration { DeclarationId = request.DeclarationId, GiftAidAmount = _giftAidCalculator.Calculate(request.Amount) }; return(new JsonResult(response)); }
public GiftAidDeclarationBuilderBuilder With(GiftAidDeclaration model) { _model = model; return(this); }