public IActionResult Index(int id) { Globals.HasError = null; var projects = _backingService.GetUserProjects(id); if (!projects.Success) { return(StatusCode((int)projects.ErrorCode, projects.ErrorText)); } var projectsToView = projects.Data.Select(p => new ProjectViewModel { ProjectId = p.ProjectId, Title = p.Title, Description = p.Description, Category = p.Category, MainImageUrl = p.MainImageUrl, DaysToGo = (p.DueTo - DateTime.Now).Days, Backings = _backingService.GetProjectBackingsCount(p.ProjectId).Data, BackingsAmount = _backingService.GetProjectBackingsAmount(p.ProjectId).Data, Goal = p.Goal, Progress = (int)((decimal)_backingService.GetProjectBackingsAmount(p.ProjectId).Data / p.Goal * 100) }); return(View(projectsToView)); }
public IActionResult Index() { Globals.UserId = HttpContext.Session.GetInt32("UserId"); var trendingProjects = _backingService.TrendingProjects(); if (!trendingProjects.Success) { return(StatusCode((int)trendingProjects.ErrorCode, trendingProjects.ErrorText)); } var trendingProjectsToView = trendingProjects.Data.Select(p => new ProjectViewModel { UserName = _projectService.GetOwnerName(p.ProjectId), ProjectId = p.ProjectId, Title = p.Title, Description = p.Description, Category = p.Category, MainImageUrl = p.MainImageUrl, DaysToGo = (p.DueTo - DateTime.Now).Days, Backings = _backingService.GetProjectBackingsCount(p.ProjectId).Data, BackingsAmount = _backingService.GetProjectBackingsAmount(p.ProjectId).Data, Goal = p.Goal, Progress = (int)((decimal)_backingService.GetProjectBackingsAmount(p.ProjectId).Data / p.Goal * 100) }); return(View(trendingProjectsToView)); }
public IActionResult Details(int id) { var project = _projectService.GetProjectById(id); if (!project.Success) { return(StatusCode((int)project.ErrorCode, project.ErrorText)); } var projectToView = new DetailsViewModel { UserName = _projectService.GetOwnerName(project.Data.ProjectId), ProjectId = project.Data.ProjectId, Title = project.Data.Title, Description = project.Data.Description, Category = project.Data.Category, DaysToGo = (project.Data.DueTo - DateTime.Now).Days, Goal = project.Data.Goal, MainImageUrl = project.Data.MainImageUrl, Medias = project.Data.Medias, Posts = project.Data.Posts.OrderByDescending(p => p.CreatedAt), RewardPackages = project.Data.RewardPackages.OrderBy(p => p.MinAmount), IsFirstImage = true, Backings = _backingService.GetProjectBackingsCount(id).Data, BackingsAmount = _backingService.GetProjectBackingsAmount(id).Data, Progress = (int)((decimal)_backingService.GetProjectBackingsAmount(id).Data / project.Data.Goal * 100), InterestingProjects = _projectService.GetAllProjects().Data.Where(p => p.ProjectId != id) .OrderBy(x => Guid.NewGuid()).Take(3) .Select(p => new InterestingProject { ProjectId = p.ProjectId, Category = p.Category, DaysToGo = (p.DueTo - DateTime.Now).Days, MainImageUrl = p.MainImageUrl, Title = p.Title, UserName = _projectService.GetOwnerName(p.ProjectId) }) }; return(View(projectToView)); }