public async Task <List <ApiGetProjectsVm> > GetProjects() { IQueryable <Project> allProgect = dbContext.Projects .Include(p => p.Skills) .Include(p => p.Attachments) .Include(p => p.ProjectType); var modelVm = allProgect.Select(pr => new ApiGetProjectsVm() { Id = pr.Id, Title = pr.Title, Description = pr.Description, Organization = pr.Organization, End = ParseDateForProject.GetDateTimeForProgect(pr),// pr.End.HasValue && !pr.End.Value.ToString().Contains("01.01.0001") ? pr.End.Value.ToString("dd.MM.yyyy hh:mm") : "", Start = pr.Start.HasValue ? pr.Start.Value.ToString("dd.MM.yyyy") : "", Role = pr.Role, Link = string.IsNullOrEmpty(pr.Link) ? "" : pr.Link, Skills = pr.Skills.Count != 0 ? string.Join(", ", pr.Skills.Select(s => s.Name).ToArray()) : "", Attachments = pr.Attachments.Count != 0 ? string.Join(", ", pr.Attachments.Select(s => s.File).ToArray()) : "", ProjectType = pr.ProjectType.NameType, Create = pr.Created.ToString("dd.MM.yyyy"), Update = pr.Updated.ToString("dd.MM.yyyy") }).ToList(); return(modelVm); }
public IActionResult EditProject(Guid Id) { var prAll = dbContext.Projects .Include(p => p.Attachments) .Include(p => p.ProjectType) .Include(p => p.Skills) .ToList(); var updatePr = prAll.FirstOrDefault(p => p.Id == Id); var allTypes = this.dbContext.Types.ToList(); var model = new EditProjectVm() { Id = updatePr.Id, Title = updatePr.Title, Description = updatePr.Description, Organization = updatePr.Organization, End = ParseDateForProject.GetDateTimeForProgect(updatePr), Start = updatePr.Start != null || updatePr.Start.HasValue ? updatePr.Start.Value.ToString("dd.MM.yyyy") : "", Role = updatePr.Role, Link = string.IsNullOrEmpty(updatePr.Link) ? "" : updatePr.Link, // Skills = updatePr.Skills != null || updatePr.Skills.Count != 0 ? string.Join(", ", updatePr.Skills.Select(s => s.Name).ToArray()) : "", AttachmentVm = updatePr.Attachments.Select(f => new FileVm() { Id = f.Id, File = f.File, FileName = f.FileName }).ToList(), SkillsVm = updatePr.Skills == null ? new List <SkillVm>() : updatePr.Skills.Select(s => new SkillVm() { Id = s.Id, SkillName = s.Name }).ToList(), ProjectType = updatePr.ProjectType.NameType, Create = updatePr.Created.ToString("dd.MM.yyyy"), Update = updatePr.Updated.ToString("dd.MM.yyyy"), Types = allTypes.Select(t => new SelectListItem { Value = t.Id.ToString(), Text = t.NameType }).ToList() }; return(View("/Views/Projects/EditProject.cshtml", model)); }
public ActionResult Index(string titleOrganizationType, int currentPage = 1) { // var roles = this.roleManager.Roles.ToList(); var rolesUser = new Roles(this.roleManager, this.userManager); var allUsers = dbContext.ListUsers.Include(u => u.AccountUser).ToList(); var userName = HttpContext.User.Identity.Name; string userRole = ""; if (!string.IsNullOrEmpty(userName)) { var curentuser = allUsers.FirstOrDefault(u => u.AccountUser.Email == userName); userRole = rolesUser.GetRole(curentuser.AccountUser); } // var skills = IQueryable <Project> allProgect = dbContext.Projects .Include(p => p.Skills) .Include(p => p.Attachments) .Include(p => p.ProjectType); if (!string.IsNullOrEmpty(titleOrganizationType)) { var foundProj = allProgect.Where(p => p.Title.Contains(titleOrganizationType) || (p.Organization != null && p.Organization.Contains(titleOrganizationType) || p.Organization.ToLower().Contains(titleOrganizationType)) || p.ProjectType.NameType.Contains(titleOrganizationType)); if (foundProj.Any()) { allProgect = foundProj; } } var count = allProgect.Count(); int pageSize = 6; allProgect = allProgect.Skip(pageSize * currentPage - pageSize).Take(pageSize); var model = new ProjectsViewModel() { UserRole = userRole, Pagination = new PaginationViewModel() { TotalCount = count, CurrentPage = currentPage, ControllerName = "Project", ActionName = "Index", ObjectParameter = new Dictionary <string, string> { { "", "" } } }, ProjectsVm = allProgect.Select(pr => new ProjectViewModel() { Id = pr.Id, Title = pr.Title, Description = pr.Description, Organization = pr.Organization, End = ParseDateForProject.GetDateTimeForProgect(pr),// pr.End.HasValue && !pr.End.Value.ToString().Contains("01.01.0001") ? pr.End.Value.ToString("dd.MM.yyyy hh:mm") : "", Start = pr.Start.HasValue ? pr.Start.Value.ToString("dd.MM.yyyy") : "", Role = pr.Role, Link = string.IsNullOrEmpty(pr.Link) ? "" : pr.Link, Skills = pr.Skills.Count != 0 ? string.Join(", ", pr.Skills.Select(s => s.Name).ToArray()) : "", Attachments = pr.Attachments.Count != 0 ? string.Join(", ", pr.Attachments.Select(s => s.File).ToArray()) : "", ProjectType = pr.ProjectType.NameType, Create = pr.Created.ToString("dd.MM.yyyy"), Update = pr.Updated.ToString("dd.MM.yyyy") }).ToList() }; return(View("/Views/Projects/Index.cshtml", model)); }