public void Donate(DonationDto donationDto, int UserId) { Donation donation = new Donation(); donation.UserId = UserId; int donationProgramId = donationDto.donationProgram.DonationProgramId; DonationProgram donationProgram = _context.DonationPrograms.FirstOrDefault(n => n.DonationProgramId == donationProgramId); int NewTotal = donationProgram.Total + donationDto.amount; donationProgram.Total = NewTotal; _context.SaveChanges(); //var donations = _context.DonationProgramAudits.ToList(); var donationProgramAudit = _context.DonationProgramAudits.Where(n => n.DonationProgramId == donationProgramId).ToList().Last(); donation.DonationProgram_AuditId = donationProgramAudit.DonationProgram_AuditId; donation.Amount = donationDto.amount; _context.Donations.Add(donation); }
public void UpdateDonationProgram_ShouldUpdateDonationProgramREPO() { var mockDonationProgramsDto = new DonationProgramDto() { DonationProgramId = 1, DonationProgramName = "EndPolio", Description = "End Polio Now!", ImageRef = "Ref", StartDate = DateTime.Now, EndDate = DateTime.Now, Total = 100 }; var mockExpected = new DonationProgram() { DonationProgramId = mockDonationProgramsDto.DonationProgramId, DonationProgramName = mockDonationProgramsDto.DonationProgramName, Description = mockDonationProgramsDto.Description, ImageRef = mockDonationProgramsDto.ImageRef, StartDate = mockDonationProgramsDto.StartDate, EndDate = mockDonationProgramsDto.EndDate, Total = mockDonationProgramsDto.Total }; var mockExpectedUpdated = new DonationProgramDto() { DonationProgramId = 1, DonationProgramName = "EndPolioNow", Description = "End Polio Now!", ImageRef = "Ref", StartDate = DateTime.Now, EndDate = DateTime.Now, Total = 1000 }; var mockRepo = new Mock <IRotaractRepository>(); mockRepo.Setup(d => d.UpdateDonation(mockExpected)); //Arrange DonationController donationController = new DonationController(mockRepo.Object) { Request = new System.Net.Http.HttpRequestMessage(), Configuration = new HttpConfiguration() }; //Act var result = donationController.UpdateDonation(mockExpectedUpdated); //Assert Assert.AreEqual(HttpStatusCode.Accepted, result.StatusCode); }
public void UpdateDonation(DonationProgram donationProgram) { DonationProgram result = _context.DonationPrograms.SingleOrDefault(p => p.DonationProgramId == donationProgram.DonationProgramId); if (result != null) { result.Description = donationProgram.Description; result.ImageRef = donationProgram.ImageRef; result.DonationProgramName = donationProgram.DonationProgramName; result.StartDate = donationProgram.StartDate; result.EndDate = donationProgram.EndDate; } }
public HttpResponseMessage AddDonationProgram([System.Web.Http.FromBody] DonationProgramDto donationProgramDto) { try { DonationProgram donationProgram = new DonationProgram(); _rotaractRepository.AddDonationProgram(donationProgram); _rotaractRepository.Save(); return(Request.CreateResponse(HttpStatusCode.Created, "Donation Added to the system")); } catch (Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e)); } }
public HttpResponseMessage UpdateDonation([System.Web.Http.FromBody] DonationProgramDto donationProgramDto) { try { DonationProgram donationProgram = new DonationProgram(); //AutoMapper.Mapper.Map(donationProgramDto, donationProgram); _rotaractRepository.UpdateDonation(donationProgram); _rotaractRepository.Save(); return(Request.CreateResponse(HttpStatusCode.Accepted, "Donation program updated in the system")); } catch (Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e)); } }
public void MakeDonation_ShouldAllowAnUserToDonateREPO() { //declare and init var mockDonationProgram = new DonationProgram { DonationProgramId = 1, DonationProgramName = "One", Description = "Maxim one", ImageRef = "An image ref", StartDate = DateTime.Now, EndDate = DateTime.Now, Total = 111 }; const int AmountToDonate = 20; const int UserID = 1234; var mockExpected = new DonationDto() { donationProgram = mockDonationProgram, amount = AmountToDonate }; var mockRepo = new Mock <IRotaractRepository>(); mockRepo.Setup(d => d.Donate(mockExpected, UserID)); //Arrange DonationController donationController = new DonationController(mockRepo.Object) { Request = new System.Net.Http.HttpRequestMessage(), Configuration = new HttpConfiguration() }; //Act var result = donationController.MakeDonation(mockExpected, UserID); //Assert Assert.AreEqual(HttpStatusCode.Accepted, result.StatusCode); }
public void AddDonationProgram_ShouldAddNewDonationProgramER() { var mockDonationProgramList = new List <DonationProgram>() { new DonationProgram { DonationProgramId = 1, DonationProgramName = "One", Description = "Maxim one", ImageRef = "An image ref", StartDate = DateTime.Now, EndDate = DateTime.Now, Total = 111 }, new DonationProgram { DonationProgramId = 2, DonationProgramName = "Two", Description = "Maxim two", ImageRef = "An image refs", StartDate = DateTime.Now, EndDate = DateTime.Now, Total = 100 } }; var context = new Mock <RotaractServrerContext>(); #region MockDbSetup DonationProgram var mockDbSet = new Mock <DbSet <DonationProgram> >(); mockDbSet.Setup(s => s.FindAsync(It.IsAny <int>())).Returns(Task.FromResult(new DonationProgram())); mockDbSet.As <IQueryable <DonationProgram> >() .Setup(m => m.Provider) .Returns(mockDonationProgramList.AsQueryable().Provider); mockDbSet.As <IQueryable <DonationProgram> >() .Setup(m => m.Expression) .Returns(mockDonationProgramList.AsQueryable().Expression); mockDbSet.As <IQueryable <DonationProgram> >() .Setup(m => m.ElementType) .Returns(mockDonationProgramList.AsQueryable().ElementType); mockDbSet.As <IQueryable <DonationProgram> >() .Setup(m => m.GetEnumerator()) .Returns(mockDonationProgramList.GetEnumerator()); mockDbSet.Setup(m => m.Add(It.IsAny <DonationProgram>())) .Callback <DonationProgram>((entity) => mockDonationProgramList.Add(entity)); context.Setup(c => c.DonationPrograms) .Returns(mockDbSet.Object); #endregion var repoDonationDataAccess = new RotaractRepository(context.Object); var donationProgram = new DonationProgram { DonationProgramId = 3, DonationProgramName = "Three", Description = "Maxim three", ImageRef = "An image refsss", StartDate = DateTime.Now, EndDate = DateTime.Now, Total = 333 }; repoDonationDataAccess.AddDonationProgram(donationProgram); //Asserts Assert.IsTrue(mockDonationProgramList.Any(x => x.DonationProgramId == 3)); Assert.IsTrue(mockDonationProgramList.Any(x => x.DonationProgramName.Equals("Three"))); Assert.IsTrue(mockDonationProgramList.Any(x => x.Total == 0)); }
public void AddDonationProgram(DonationProgram donationProgram) { donationProgram.Total = 0; _context.DonationPrograms.Add(donationProgram); }