Example #1
0
        public async Task <IActionResult> Index(int?id)
        {
            var currentSite = await GetCurrentSiteAsync();

            var userWardrobe = await _dynamicAvatarService.GetUserWardrobeAsync();

            if (userWardrobe?.Count > 0)
            {
                DynamicAvatarJsonModel model = new DynamicAvatarJsonModel();
                model.Layers = _mapper
                               .Map <ICollection <DynamicAvatarJsonModel.DynamicAvatarLayer> >(userWardrobe);
                DynamicAvatarViewModel viewModel = new DynamicAvatarViewModel()
                {
                    Layers           = userWardrobe,
                    GroupIds         = userWardrobe.Select(_ => _.GroupId).Distinct(),
                    DefaultLayer     = userWardrobe.Where(_ => _.DefaultLayer).Select(_ => _.Id).First(),
                    ImagePath        = _pathResolver.ResolveContentPath($"site{currentSite.Id}/dynamicavatars/"),
                    AvatarPiecesJson = Newtonsoft.Json.JsonConvert.SerializeObject(model)
                };
                return(View("DynamicIndex", viewModel));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }