protected async Task Select(SubscriptionPack item) { if (item.Price == 0) { var subscriptionPack = await httpClient.PostAsJsonAsync <SubscriptionPack>("/api/SubPack/Select", item); if (subscriptionPack.IsSuccessStatusCode) { navigationManager.NavigateTo("/", true); } } else { navigationManager.NavigateTo($"/payment-subscription/{item.Id}", true); } }
public async Task <IActionResult> Select(SubscriptionPack subscriptionPack) { var user = await _userManager.FindByNameAsync(User.UserName()); if (user == null) { return(BadRequest()); } SubscriptionHistory newSub = new SubscriptionHistory(); newSub.Enable = true; newSub.Created = DateTime.Now; newSub.EndSubscription = DateTime.MaxValue; newSub.SubscriptionPackId = subscriptionPack.Id; newSub.UserId = Guid.Parse(user.Id); await _functionalUnitOfWork.SubscriptionHistoryRepository.Add(newSub); return(Ok()); }
public Task Remove(SubscriptionPack network) { return(Task.Run(() => FunctionalDbContext.SubscriptionPacks.Remove(network.Id))); }
public Task <SubscriptionPack> AddSubscriptionPack(SubscriptionPack SubscriptionPack) { return(Task.Run(() => FunctionalDbContext.SubscriptionPacks.Add(SubscriptionPack))); }
public async Task <ActionResult <AdModel> > Create(CreateAdRequestViewModel createAdRequestViewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var ad = (AdModel)createAdRequestViewModel.Ad; var applicationUser = (ViewApplicationUser)User; if (createAdRequestViewModel.Price != null) { ad.OrderNumber = string.Concat(DateTime.UtcNow.ToString("yyyMMddHHmmss"), rdm.Next(100000, 999999)); Subscription subscription = null; SubscriptionPack pack = null; int delayToDisplay = 0; int displayDuration = 0; if (applicationUser.IsAdmin || applicationUser.IsManager || applicationUser.IsUnlimited || applicationUser.IsUltimate) { delayToDisplay = 0; ad.IsValid = true; ad.ValidateDate = DateTime.UtcNow; displayDuration = 15; } else { if (!applicationUser.HasSubscriptionValid) { delayToDisplay = 2; displayDuration = 2; } else { delayToDisplay = 0; displayDuration = 5; } } var priceDisplayDuration = createAdRequestViewModel.Price.DisplayDuration.GetValueOrDefault(0); var priceDelayToDisplay = createAdRequestViewModel.Price.DelayToDisplay; if (priceDelayToDisplay < delayToDisplay) { delayToDisplay = priceDelayToDisplay; } if (priceDisplayDuration > displayDuration) { displayDuration = priceDisplayDuration; } ad.StartDisplayTime = DateTime.UtcNow.AddDays(delayToDisplay); ad.EndDisplayTime = ad.StartDisplayTime.AddDays(displayDuration); ad.AdPriceId = createAdRequestViewModel.Price.Id; } ad.OwnerId = applicationUser.Id; ad.Country = applicationUser.Country; await functionalUnitOfWork.AdRepository.Add(ad); var entity = await functionalUnitOfWork.AdRepository.FirstOrDefault(a => a.Id == ad.Id); await _adsUnitOfWork.CategoryAdRepository.Add(createAdRequestViewModel.Ad.ListIdCategory, ad.Id); await _eventTrackingService.Create(applicationUser.Id, "Ad", "create"); return(Ok(entity)); }