예제 #1
0
 public Task <ApiCallResult> AddEditSubscriptionAsync(AddEditSubscriptionModel model)
 {
     return(Api.PutAsync(
                $"subscriptions",
                model
                ));
 }
예제 #2
0
        public async Task AddEditSubscription(AddEditSubscriptionModel model)
        {
            if (model.Title.IsNullOrEmpty())
            {
                throw new ValidationException("Subscription Title is required.");
            }
            if (model.Price <= 0)
            {
                throw new ValidationException("Subscription Price should be more then zero.");
            }
            if (model.DistributorMarkupAsPercent < 0)
            {
                throw new ValidationException("Distributor markup should has positive value.");
            }
            if (model.ResellerMarkupAsPercent < 0)
            {
                throw new ValidationException("Reseller markup should has positive value.");
            }

            if (model.Id == Guid.Empty)
            {
                Storage.SubscriptionProducts.Add(new SubscriptionProductEntity
                {
                    Title    = model.Title,
                    Price    = model.Price,
                    Currency = model.Currency,
                    DistributorMarkupAsPercent = model.DistributorMarkupAsPercent,
                    ResellerMarkupAsPercent    = model.ResellerMarkupAsPercent,
                });
            }
            else
            {
                var editingSubscription = await Storage.SubscriptionProducts.FirstOrDefaultAsync(x => x.Id == model.Id);

                if (editingSubscription == null)
                {
                    return;
                }

                editingSubscription.Title    = model.Title;
                editingSubscription.Price    = model.Price;
                editingSubscription.Currency = model.Currency;
                editingSubscription.DistributorMarkupAsPercent = model.DistributorMarkupAsPercent;
                editingSubscription.ResellerMarkupAsPercent    = model.ResellerMarkupAsPercent;
            }

            await Storage.SaveChangesAsync();
        }
예제 #3
0
        public async Task <IHttpActionResult> AddEdiSubscription([FromBody] AddEditSubscriptionModel model)
        {
            await SubscriptionService.AddEditSubscription(model);

            return(Ok());
        }