Example #1
0
        public async Task <bool> EditSubscription(UpdateSubscriptionModel model, string deviceId)
        {
            var guest = await _repository.Filter <Guest>(g => g.DeviceId == deviceId).FirstOrDefaultAsync();

            var otherSetting = await _repository.Filter <PersonOtherSetting>(pos => pos.GuestId == guest.Id).FirstOrDefaultAsync();

            var settings = await _repository.Filter <PersonSetting>(x => x.GuestId == guest.Id).ToListAsync();

            _repository.HardDeleteRange(settings);

            foreach (var variable in model.Subscriptions)
            {
                _repository.Create(new PersonSetting
                {
                    GuestId           = guest.Id,
                    SubscriptionsType = variable
                });
            }
            if (otherSetting != null)
            {
                otherSetting.AreaUnit = model.AreaUnit;
                otherSetting.Language = model.Language;
                _repository.Update(otherSetting);
            }
            else
            {
                await _repository.CreateAsync(new PersonOtherSetting
                {
                    GuestId  = guest.Id,
                    Language = model.Language
                });
            }
            guest.CurrencyId = model.CurrencyId;
            _repository.Update(guest);
            if (guest.CurrencyId == 0)
            {
                throw new Exception("Currency id can not be 0!");
            }
            await _repository.SaveChangesAsync();

            return(true);
        }
        public async Task <EmptyResult> Index(UpdateSubscriptionModel model)
        {
            await this.presentationService.UpdateSubscriptionsAsync(model?.SelectedItems);

            return(new EmptyResult());
        }
Example #3
0
 public async Task <IActionResult> EditSubscription([FromBody] UpdateSubscriptionModel model)
 {
     return(await MakeActionCallAsync(async() => await _service.EditSubscription(model, GetDeviceId())));
 }