Example #1
0
        public async Task <IActionResult> Update(SubscriptionForm subscription, int virtualAccountId)
        {
            subscription.VirtualAccountId = virtualAccountId;
            await _subscriptionService.Update(subscription);

            return(View("Index", await _subscriptionService.GetAll(virtualAccountId)));
        }
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post")]
            HttpRequest request, ILogger log, ExecutionContext context)
        {
            var config = Config.CreateFrom(context);

            if (!config.IsValid(out var configErrorMessage))
            {
                return(new BadRequestErrorMessageResult(configErrorMessage));
            }

            var form = SubscriptionForm.CreateFrom(request);

            if (!form.IsValid(out string errors))
            {
                return(new BadRequestErrorMessageResult(errors));
            }

            try
            {
                StripeConfiguration.SetApiKey(config.StripeApiSecretKey);
                await CreateCustomerSubscriptionAtStripe(form);

                return(new RedirectResult(config.SubscriptionSuccessUrl));
            }
            catch
            {
                return(new RedirectResult(config.SubscriptionFailureUrl));
            }
        }
Example #3
0
        public IActionResult Subscription()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Login", "Account"));
            }

            SubscriptionType        defaultType       = db.SubscriptionTypes.FirstOrDefault(s => s.Name == "Бесплатно");
            List <SubscriptionType> subscriptionTypes = db.SubscriptionTypes
                                                        .OrderBy(t => t.Price)
                                                        .Except(new SubscriptionType[] { defaultType })
                                                        .ToList();
            List <string> subscriptionTypeNames = subscriptionTypes.Select(x => x.Name).ToList();

            SubscriptionForm form = new SubscriptionForm
            {
                SubscriptionTypes = new SelectList(subscriptionTypeNames)
            };
            SubscriptionInputViewModel sivm = new SubscriptionInputViewModel
            {
                SubscriptionForm  = form,
                SubscriptionTypes = subscriptionTypes
            };

            return(View(sivm));
        }
Example #4
0
        public async Task <IActionResult> Create(SubscriptionForm subscription)
        {
            subscription.AddedDate = DateTime.Now;
            await _subscriptionService.Create(subscription);

            var viewModel = new SubscriptionListViewModel()
            {
                VirtualAccountId = subscription.VirtualAccountId,
                Subscriptions    = await _subscriptionService.GetAll(subscription.VirtualAccountId)
            };

            return(PartialView("_SubscriptionList", viewModel));
        }
Example #5
0
        public async Task <int> Create(SubscriptionForm form)
        {
            try
            {
                var newEntity    = _mapper.Map <DaoSubscription>(form);
                var createdEntry = _context.Subscriptions.Add(newEntity);
                await _context.SaveChangesAsync();

                return(createdEntry.Entity.Id);
            }
            catch (Exception e)
            {
                throw new RepositoryException(typeof(DaoSubscription).Name, eRepositoryExceptionType.Create);
            }
        }
Example #6
0
        public async void IsBankAccountCreatePossible()
        {
            var form = new SubscriptionForm()
            {
                Name             = "Internet",
                Amount           = 15.20,
                AddedDate        = DateTime.Now,
                ExpirationDate   = DateTime.Now,
                FrequncyMonth    = 3,
                VirtualAccountId = 1,
            };
            var result = await _subscriptionService.Create(form);

            Assert.NotEqual(0, result);
        }
Example #7
0
        private void AddSubscription()
        {
            SubscriptionForm form = new SubscriptionForm();

            if (form.ShowDialog(this) == DialogResult.OK)
            {
                Subscription subscription = new Subscription
                {
                    NameService = form.NameService,
                    Description = form.Description
                };
                logic.AddSubscription(subscription);
                UpdateSubscriptionsGrid();
            }
        }
Example #8
0
 private void EditSelectedSubscription()
 {
     if (ctlSubscriptionGrid.SelectedCells.Count > 0)
     {
         Subscription     subscription = (Subscription)ctlSubscriptionGrid.SelectedCells[0].OwningRow.DataBoundItem;
         SubscriptionForm form         = new SubscriptionForm(subscription);
         if (form.ShowDialog(this) == DialogResult.OK)
         {
             subscription.NameService = form.NameService;
             subscription.Description = form.Description;
             logic.UpdateSubscription(subscription);
         }
     }
     UpdateUsersGrid();
     UpdateSubscriptionsGrid();
 }
Example #9
0
        public async Task <int> Update(SubscriptionForm form)
        {
            try
            {
                var updateEntity = this._mapper.Map <DaoSubscription>(form);

                var updated = await _context.Subscriptions.FirstOrDefaultAsync(_ => _.Id == updateEntity.Id);

                _context.Entry(updated).CurrentValues.SetValues(updateEntity);

                await _context.SaveChangesAsync();

                return(updated.Id);
            }
            catch (Exception e)
            {
                throw new RepositoryException(typeof(DaoSubscription).Name, eRepositoryExceptionType.Update);
            }
        }
        private static async Task <string> CreateCustomerSubscriptionAtStripe(SubscriptionForm subscriptionForm)
        {
            var customer = await new StripeCustomerService()
                           .CreateAsync(new StripeCustomerCreateOptions {
                Email = subscriptionForm.StripeEmail, SourceToken = subscriptionForm.StripeToken
            });

            var subscription = await new StripeSubscriptionService().CreateAsync(customer.Id, new StripeSubscriptionCreateOptions
            {
                Items = new List <StripeSubscriptionItemOption>
                {
                    new StripeSubscriptionItemOption {
                        PlanId = subscriptionForm.PlanId
                    }
                }
            });

            return(subscription.Id);
        }
Example #11
0
        private void EnsureShowAndPlaceNonChartWindow(NonChartWindowSettings wndSets)
        {
            var wnd = MdiChildren.FirstOrDefault(c => c is IMdiNonChartWindow &&
                                                 ((IMdiNonChartWindow)c).WindowCode == wndSets.Window);

            if (wnd == null)
            {
                // создать окно
                if (wndSets.Window == NonChartWindowSettings.WindowCode.Account)
                {
                    wnd = new AccountMonitorForm {
                        MdiParent = this
                    }
                }
                ;

                else if (wndSets.Window == NonChartWindowSettings.WindowCode.RobotTest)
                {
                    wnd = new RoboTesterForm();
                    ((RoboTesterForm)wnd).OnRobotResultsBoundToCharts += OnRobotResultsBoundToCharts;
                }

                else if (wndSets.Window == NonChartWindowSettings.WindowCode.Profit)
                {
                    wnd = new AccountTradeResultsForm {
                        InstantCalculation = false
                    }
                }
                ;

                else if (wndSets.Window == NonChartWindowSettings.WindowCode.Chat)
                {
                    wnd = new ChatForm();
                }

                else if (wndSets.Window == NonChartWindowSettings.WindowCode.Quotes)
                {
                    wnd = new QuoteTableForm();
                }

                else if (wndSets.Window == NonChartWindowSettings.WindowCode.Subscription)
                {
                    wnd = new SubscriptionForm();
                }

                else if (wndSets.Window == NonChartWindowSettings.WindowCode.WebBrowser)
                {
                    wnd = new BrowserForm();
                }

                else if (wndSets.Window == NonChartWindowSettings.WindowCode.RiskForm)
                {
                    wnd = new RiskSetupForm();
                }

                else if (wndSets.Window == NonChartWindowSettings.WindowCode.WalletForm)
                {
                    wnd = new WalletForm();
                }

                SetupNonMdiForm((IMdiNonChartWindow)wnd);
                wnd.Show();
            }
            else
            {
                wnd.Focus();
            }

            // установить окну положенные размеры
            wnd.Location    = wndSets.WindowPos;
            wnd.Size        = wndSets.WindowSize;
            wnd.WindowState = (FormWindowState)Enum.Parse(typeof(FormWindowState), wndSets.WindowState);
            ((IMdiNonChartWindow)wnd).WindowInnerTabPageIndex = wndSets.CurrentTabIndex;
        }
Example #12
0
 public Task <int> Update(SubscriptionForm form)
 {
     return(_subscriptionRepository.Update(form));
 }