public AppDetailViewModel CreateInstance(this SomeModel model) { var viewModel = new AppDetailViewModel(); // here you create viewmodel object from model with logic return(viewModel); }
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)); }
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)); }