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 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));
            }
        }