Example #1
0
        public async Task <IActionResult> BundleEdit(int id)
        {
            var bundle = new Domain.Model.DynamicAvatarBundle();

            try
            {
                bundle = await _avatarService.GetBundleByIdAsync(id);
            }
            catch (GraException gex)
            {
                ShowAlertWarning("Unable to view bundle: ", gex);
                return(RedirectToAction("Bundles"));
            }
            foreach (var item in bundle.DynamicAvatarItems)
            {
                item.Thumbnail = _pathResolver.ResolveContentPath(item.Thumbnail);
            }

            var viewModel = new BundlesDetailViewModel()
            {
                Bundle    = bundle,
                Action    = "Edit",
                ItemsList = string.Join(",", bundle.DynamicAvatarItems.Select(_ => _.Id)),
                Layers    = new SelectList(await _avatarService.GetLayersAsync(), "Id", "Name")
            };

            if (bundle.CanBeUnlocked)
            {
                viewModel.TriggersAwardingBundle = await _avatarService
                                                   .GetTriggersAwardingBundleAsync(id);
            }

            PageTitle = "Edit Bundle";
            return(View("BundleDetail", viewModel));
        }