예제 #1
0
    public AppDetailViewModel CreateInstance(this SomeModel model)
    {
        var viewModel = new AppDetailViewModel();

        // here you create viewmodel object from model with logic
        return(viewModel);
    }
예제 #2
0
        public async Task <ActionResult> ViewFromFeed(string appId)
        {
            var preferredLanguage = Thread.CurrentThread.GetLanguageCode();
            var submission        = await _appService.GetSubmissionFromFeedAsync(appId, preferredLanguage);

            if (submission == null)
            {
                return(View("ResourceNotFound"));
            }

            var model = new AppDetailViewModel
            {
                Submission = submission,
                Metadata   = await _appService.GetMetadataFromFeedAsync(appId, preferredLanguage)
            };

            return(View("Preview", model));
        }
예제 #3
0
        public async Task <ActionResult> Preview(int?submissionId)
        {
            if (!submissionId.HasValue)
            {
                return(View("ResourceNotFound"));
            }

            var submission = await _appService.GetSubmissionAsync(submissionId.Value);

            if (submission == null)
            {
                return(View("ResourceNotFound"));
            }

            if (!User.IsSuperSubmitter() && !(await _submitterService.IsOwnerAsync(User.GetSubmittership().SubmitterID, submissionId.Value)))
            {
                return(RedirectToRoute(SiteRouteNames.Portal));
            }

            var metadata = await _appService.GetMetadataAsync(submission.SubmissionID);

            if (metadata.Count() == 0)
            {
                return(View("NeedAppNameAndDescription", submission.SubmissionID));
            }

            var preferredLanguage = Thread.CurrentThread.GetLanguageCode();

            submission.Categories = await _appService.LocalizeCategoriesAsync(await _appService.GetSubmissionCategoriesAsync(submission.SubmissionID), preferredLanguage);

            var model = new AppDetailViewModel
            {
                IsPreview  = true,
                Submission = submission,
                Metadata   = await _appService.GetLocalizedMetadataAsync(await _appService.GetMetadataAsync(submissionId.Value), preferredLanguage)
            };

            return(View(model));
        }