public async Task <IActionResult> ExecuteAsync(SavePackageSubscriber savePackageSubscriber, CancellationToken cancellationToken)
        {
            var transaction = await _packageSubscriberRepository.GetTransactionByTransactionCode(savePackageSubscriber.TransactionCode, cancellationToken);

            if (transaction != null)
            {
                return(new ConflictResult());
            }
            var packageSubscriber = _savePackageSubscriberToPackageSubscriberMapper.Map(savePackageSubscriber);

            //var user = _httpContextAccessor.HttpContext.User;
            //if (user == null)
            //    return new NotFoundResult();

            //var claims = user.Claims.ToList();
            //if (claims.Count < 1)
            //    return new NotFoundResult();
            //// Lấy Id của người dùng
            //var userId = claims.FirstOrDefault(claimRecord => claimRecord.Type == "sub")?.Value;

            //packageSubscriber.CreatedBy = userId;
            //packageSubscriber.ModifiedBy = userId;
            packageSubscriber = await _packageSubscriberRepository.Add(packageSubscriber, cancellationToken);

            var packageSubscriberViewModel = _packageSubscriberToPackageSubscriberMapper.Map(packageSubscriber);

            return(new CreatedAtRouteResult(
                       PackageSubscribersControllerRoute.GetPackageSubscriber,
                       new { id = packageSubscriberViewModel.Id },
                       packageSubscriberViewModel));
        }
        public async Task <IActionResult> ExecuteAsync(PublicSavePackageSubscriber publicSavePackageSubscriber, CancellationToken cancellationToken)
        {
            var transactionCode = "ABC123XYZ";
            var method          = "Momo";
            var userId          = 0;
            //var transaction = await _packageSubscriberRepository.GetTransactionByTransactionCode(transactionCode, cancellationToken);
            //if (transaction != null)
            //    return new ConflictResult();


            var paidPackage = await _paidPackageRepository.Get(publicSavePackageSubscriber.PaidPackageId, cancellationToken);

            if (paidPackage == null)
            {
                return(new NoContentResult());
            }

            var savePackageSubscriber = new SavePackageSubscriber()
            {
                TransactionCode = transactionCode,
                UserId          = userId,
                PaidPackageId   = paidPackage.Id,
                StartDate       = DateTime.Now.ToString("dd/MM/yyyy"),
                EndDate         = publicSavePackageSubscriber.Period == "Y" ? DateTime.Now.AddYears(1).ToString("dd/MM/yyyy") : DateTime.Now.AddMonths(1).ToString("dd/MM/yyyy"),
                Method          = method,
                Value           = publicSavePackageSubscriber.Period == "Y" ? getCurrency(paidPackage, "Y") : getCurrency(paidPackage, "M"),
                Status          = true
            };

            var packageSubscriber = _savePackageSubscriberToPackageSubscriberMapper.Map(savePackageSubscriber);

            packageSubscriber = await _packageSubscriberRepository.Add(packageSubscriber, cancellationToken);

            var packageSubscriberViewModel = _packageSubscriberToPackageSubscriberMapper.Map(packageSubscriber);

            return(new CreatedAtRouteResult(
                       PackageSubscribersControllerRoute.GetPackageSubscriber,
                       new { id = packageSubscriberViewModel.Id },
                       packageSubscriberViewModel));
        }
Beispiel #3
0
 public Task <IActionResult> Post(
     [FromServices] IPostPackageSubscriberCommand command,
     [FromBody] SavePackageSubscriber packageSubscriber,
     CancellationToken cancellationToken) => command.ExecuteAsync(packageSubscriber);