예제 #1
0
        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);
        }
예제 #2
0
        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));
        }
예제 #3
0
        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));
        }