public async Task OffererDeletePhoto()
        {
            // Arrange
            var user   = UserRegisterModelFactory.getUserFactory("Offerer").getUser();
            var photo  = new Photo("Photo", await File.ReadAllBytesAsync("..\\..\\..\\Photo\\image.jpeg"), user.Id);
            var coupon = CouponModelFactory.Default();

            user.AddCoupon(coupon);
            coupon.AddPhoto(photo);
            coupon.RemovePhoto(photo.Id);
            await ExecuteDatabaseAction(async couponelContext =>
            {
                await couponelContext.Users.AddAsync(user);
                await couponelContext.SaveChangesAsync();
            });

            //Act
            var response = await HttpClient.DeleteAsync($"api/coupons/{coupon.Id}/photos/{photo.Id}");

            // Assert
            response.IsSuccessStatusCode.Should().BeTrue();
            var photos = await response.Content.ReadAsAsync <IList <CouponModel> >();

            photos.Should().BeNull();
        }
        public async Task OffererDeleteComment()
        {
            // Arrange
            var user = UserRegisterModelFactory.getUserFactory("Offerer").getUser();

            var coupon = CouponModelFactory.Default();

            user.AddCoupon(coupon);
            var comment = new Comment("content", AuthenticatedUserId);

            coupon.AddComment(comment);
            await ExecuteDatabaseAction(async couponelContext =>
            {
                await couponelContext.Users.AddAsync(user);
                await couponelContext.SaveChangesAsync();
            });

            //Act
            var response = await HttpClient.DeleteAsync($"api/coupons/{coupon.Id}/comments/{comment.Id}");

            // Assert
            response.IsSuccessStatusCode.Should().BeTrue();
            var comments = await response.Content.ReadAsAsync <IList <CouponModel> >();

            comments.Should().BeNull();
        }
Beispiel #3
0
        public async Task GetRedeemedCoupon()
        {
            // Arrange
            var offerer = UserRegisterModelFactory.getUserFactory("Offerer").getUser();
            var coupon  = CouponModelFactory.Default();

            offerer.AddCoupon(coupon);
            var student    = new Student(this.AuthenticatedUserId);
            var admin      = UserRegisterModelFactory.getUserFactory("Admin").getUser();
            var university = InstitutionsModelFactory.University();
            var faculty    = InstitutionsModelFactory.Faculty();

            university.AddFaculty(faculty);
            faculty.AddStudent(student);

            var redeemedcoupon = new RedeemedCoupon("Used", coupon.Id);

            student.AddRedeemedCoupon(redeemedcoupon);
            await ExecuteDatabaseAction(async couponelContext =>
            {
                await couponelContext.Users.AddAsync(admin);
                await couponelContext.Users.AddAsync(offerer);
                await couponelContext.Universities.AddAsync(university);
                await couponelContext.SaveChangesAsync();
            });

            //Act
            var response = await HttpClient.GetAsync($"/api/redeemedCoupons/{redeemedcoupon.Id}");

            // Assert
            response.IsSuccessStatusCode.Should().BeTrue();
            var redeemedcoupons = await response.Content.ReadAsAsync <RedeemedCoupon>();

            redeemedcoupons.Should().NotBeNull();
        }
Beispiel #4
0
        public IActionResult GetCouponDetailsAsFile(int couponid)
        {
            var codes = _repos.GetCodesByManagementId(couponid);
            var model = CouponModelFactory.GetCouponCodesForManagement(codes.Result.Entity);

            return(Ok(model));
        }
Beispiel #5
0
        public IActionResult Index(string searchCode, string searchDescription)
        {
            var coupons = _repos.GetAllCoupons(searchCode, searchDescription);
            var model   = CouponModelFactory.CreateCouponIndex(coupons);

            return(Ok(model));
        }
Beispiel #6
0
        public IActionResult GetCouponCode(int couponid)
        {
            var coupon = _repos.GetCouponManagementById(couponid, true);

            var dto = CouponModelFactory.CreateCouponCodeDTO(coupon);

            return(Ok(dto));
        }
Beispiel #7
0
        public static RedeemedCoupon Default()
        {
            var offerer = UserRegisterModelFactory.getUserFactory("Offerer").getUser();
            var coupon  = CouponModelFactory.Default();

            offerer.AddCoupon(coupon);
            return(new RedeemedCoupon("Used", coupon.Id));
        }
Beispiel #8
0
        public IActionResult Canceled(string couponcode, string descriptionterm)
        {
            var coupons = _repos.GetAllCoupons(couponcode, descriptionterm, true);

            var model = CouponModelFactory.CreateCouponIndex(coupons);

            return(Ok(model));
        }
Beispiel #9
0
        public async Task <IActionResult> GetCouponsForSelect2(string term, string site)
        {
            var isValidated = ValidateSite(site, out IsForSite web);

            if (isValidated)
            {
                var coupons = await _repos.GetCouponsByTerm(term, web.isForA, web.isForB);

                ApiSelect2Result result = CouponModelFactory.CreateCouponListForSelect2(coupons);
                return(Ok(result));
            }
            return(Ok(new ApiResultError("error")));
        }
Beispiel #10
0
        public async Task <IActionResult> GetCouponDetails(string couponcode, string site)
        {
            var isValidated = ValidateSite(site, out IsForSite web);

            if (isValidated)
            {
                var couponCode = await _repos.GetSingleCouponCode(couponcode, web.isForA, web.isForB);

                if (couponCode != null)
                {
                    var dto = CouponModelFactory.CreateCouponDetailDTO(couponCode);
                    return(Ok(dto));
                }
            }
            return(Ok(new ApiResultError("error")));
        }
Beispiel #11
0
        public async Task <IActionResult> GetCouponDetailsForSelect2(string couponcode, string site)
        {
            var isValidated = ValidateSite(site, out IsForSite web);

            if (isValidated)
            {
                var Coupon = await _repos.GetSingleCouponCode(couponcode, web.isForA, web.isForB);

                if (Coupon != null)
                {
                    ApiSelect2Result result = CouponModelFactory.CreateCouponDetailForSelect2(Coupon);
                    return(Ok(result));
                }
            }
            return(Ok(new ApiResultError("error")));
            //return BadRequest("Kupon Bulunamadı");
        }
Beispiel #12
0
 public IActionResult Edit(int couponid)
 {
     try
     {
         var coupon = _repos.GetCouponManagementById(couponid, false);
         if (!coupon.IsBulk)
         {
             coupon = _repos.GetCouponManagementById(couponid, true);
         }
         var dto = CouponModelFactory.EditCouponDTO(coupon);
         return(Ok(dto));
     }
     catch (Exception ex)
     {
         return(ReturnErrorApiResult(ex));
     }
 }
Beispiel #13
0
        public async Task <IActionResult> Delete(int couponid)
        {
            try
            {
                var result = await _repos.DeleteByManagementId(couponid);

                if (result.Status != RepositoryActionStatus.Deleted)
                {
                    return(Ok(new ApiResultError("Hata Oluştu:" + result.Message)));
                }
                var dto = CouponModelFactory.CreateModelDeleteCouponDTO(result.Entity);

                return(Ok(dto));
            }
            catch (Exception ex)
            {
                return(ReturnErrorApiResult(ex));
            }
        }
Beispiel #14
0
        public async Task <IActionResult> Create(string userid, CouponCreateOrEditRequestModel request)
        {
            try
            {
                var model  = CouponModelFactory.CreateCouponManagement(request);
                var result = await _repos.CreateAsync(model, userid, request.Quantity, request.CouponLength);

                if (result.Status != RepositoryActionStatus.Created)
                {
                    return(Ok(new ApiResultError("Hata Oluştu:" + result.Message)));
                }
                var dto = CouponModelFactory.CreateCouponDTO(result.Entity);
                return(Ok(dto));
            }
            catch (Exception ex)
            {
                return(ReturnErrorApiResult(ex));
            }
        }
Beispiel #15
0
        public IActionResult EditPost(string userid, CouponCreateOrEditRequestModel viewModel)
        {
            try
            {
                var model = CouponModelFactory.CreateCouponManagement(viewModel);
                model.UpdatedBy = userid;

                var result = _repos.Update(model);

                if (result.Status != RepositoryActionStatus.Updated)
                {
                    return(Ok(new ApiResultError("Hata Oluştu:" + result.Message)));
                }
                var dto = CouponModelFactory.EditCouponDTO(result.Entity);
                return(Ok(dto));
            }
            catch (Exception ex)
            {
                return(ReturnErrorApiResult(ex));
            }
        }
Beispiel #16
0
        public async Task OffererGetCoupon()
        {
            // Arrange
            var user = UserRegisterModelFactory.getUserFactory("Offerer").getUser();

            var coupon = CouponModelFactory.Default();

            user.AddCoupon(coupon);
            await ExecuteDatabaseAction(async couponelContext =>
            {
                await couponelContext.Users.AddAsync(user);
                await couponelContext.SaveChangesAsync();
            });

            //Act
            var response = await HttpClient.GetAsync($"api/coupons/{coupon.Id}");

            // Assert
            response.IsSuccessStatusCode.Should().BeTrue();
            var coupons = await response.Content.ReadAsAsync <CouponModel>();

            coupons.Should().Should().NotBeNull();
        }
Beispiel #17
0
        public async Task OffererUpdateCoupon()
        {
            // Arrange
            var user = UserRegisterModelFactory.getUserFactory("Offerer").getUser();

            var coupon = CouponModelFactory.Default();

            user.AddCoupon(coupon);
            coupon.Update("da", "electronice", new DateTime(2022, 04, 12, 12, 32, 12), "descriere");
            await ExecuteDatabaseAction(async couponelContext =>
            {
                await couponelContext.Users.AddAsync(user);
                await couponelContext.SaveChangesAsync();
            });

            //Act
            var response = await HttpClient.GetAsync($"api/coupons/{coupon.Id}");

            // Assert
            response.IsSuccessStatusCode.Should().BeTrue();
            var coupons = await response.Content.ReadAsAsync <CouponModel>();

            coupons.Name.Should().Be("da");
        }