Esempio n. 1
0
        public IQueryable <Project> SearchQuery(ProjectSearchModel query)
        {
            var Entities = this.GetAllDesc("Client");

            if (!string.IsNullOrEmpty(query.Search))
            {
                Entities = Entities.Where(w => w.Title.ToLower().Contains(query.Search.ToLower()));
            }

            if (query.ClientID > 0)
            {
                Entities = Entities.Where(w => w.ClientID == query.ClientID);
            }

            if (query.ProjectTypeID > 0)
            {
                Entities = Entities.Where(w => w.TypeID == query.ProjectTypeID);
            }

            if (query.Year > 0)
            {
                Entities = Entities.Where(w => w.Date_Creation.Year == query.Year);
            }

            return(Entities);
        }
        public ProjectSearchModel PrepareProjectSearchModel(ProjectSearchModel searchModel)
        {
            searchModel.AvailableFaculties.Add(new SelectListItem {
                Text = "--หน่วยงานหลัก--", Value = "", Selected = true
            });
            searchModel.AvailableFiscalYears.Add(new SelectListItem {
                Text = "--ปีงบประมาณ--", Value = "", Selected = true
            });
            searchModel.AvailablePageSizes = "10";
            searchModel.AvailableResearchStatuses.Add(new SelectListItem {
                Text = "--สถานะโครงการวิจัย--", Value = "", Selected = true
            });
            searchModel.AvailableProjectStatuses.Add(new SelectListItem {
                Text = "--สถานะโครงการ--", Value = "", Selected = true
            });
            var projectStatusOptionsIds = System.Enum.GetValues(typeof(ProjectStatus)).Cast <int>().ToList();

            foreach (var value in projectStatusOptionsIds)
            {
                searchModel.AvailableProjectStatuses.Add(new SelectListItem
                {
                    Text  = StringEnum.GetStringValue((ProjectStatus)value),
                    Value = value.ToString()
                });
            }

            return(searchModel);
        }
Esempio n. 3
0
        public ProjectsListUI()
        {
            InitializeComponent();
            ProjectSearchModel model = new ProjectSearchModel();

            SearchModel = model;
            Task task = Task.Run((Action)getProjectsInBackground);
        }
        public PagedViewModelsContainer GetSearchs(int ClientID, int Year, int Type = 0, string Search = "")
        {
            var Query     = new ProjectSearchModel(Search, Year, Type, ClientID);
            var ViewModel = new PagedViewModelsContainer();

            ViewModel.Items = Uow.ProjectRepository.SearchQuery(Query)
                              .ProjectsToViewModelsWithImage();

            return(ViewModel);
        }
 public ProjectSearchModel PrepareProjectSearchModel(ProjectSearchModel searchModel)
 {
     _baseAdminModelFactory.PrepareAgencies(searchModel.AvailableAgencies, true, "--หน่วยงาน--");
     _baseAdminModelFactory.PrepareFiscalYears(searchModel.AvailableFiscalYears, true, "--ปีงบประมาณ--");
     _baseAdminModelFactory.PrepareProjectStatuses(searchModel.AvailableProjectStatuses, true, "--สถานะผลการพิจารณา--");
     _baseAdminModelFactory.PrepareProgressStatuses(searchModel.AvailableProgressStatuses, true, "--สถานะโครงการวิจัย--");
     //prepare page parameters
     searchModel.SetGridPageSize();
     return(searchModel);
 }
Esempio n. 6
0
        public IQueryable <ProjectVM> QueryProjects(ProjectSearchModel search, Page page, bool flag, out int totalCount)
        {
            var query = from project in DataContext.System_Project
                        join bu in DataContext.System_BU_D on project.BU_D_UID equals bu.BU_D_UID
                        join bom in DataContext.System_OrganizationBOM on project.Organization_UID equals bom.ChildOrg_UID
                        join org in DataContext.System_Organization on bom.ParentOrg_UID equals org.Organization_UID
                        select new ProjectVM()
            {
                Project_UID       = project.Project_UID,
                Project           = project.Project_Name,
                MESProject        = project.MESProject_Name,
                Customer          = bu.BU_D_Name,
                Product_Phase     = project.Product_Phase,
                OP_TYPES          = project.OP_TYPES,
                Modified_Date     = project.Modified_Date,
                Modified_User     = project.System_Users.User_Name,
                OrgID             = project.Organization_UID,
                Organization_Name = bom.ParentOrg_UID,
                Plant             = org.Organization_Name
            };

            if (!string.IsNullOrWhiteSpace(search.Project))
            {
                query = query.Where(m => m.Project.Contains(search.Project));
            }
            if (!string.IsNullOrWhiteSpace(search.MESProject))
            {
                query = query.Where(m => m.MESProject.Contains(search.MESProject));
            }
            if (!string.IsNullOrWhiteSpace(search.Customer))
            {
                query = query.Where(m => m.Customer == search.Customer);
            }
            if (!string.IsNullOrWhiteSpace(search.Product_Phase))
            {
                query = query.Where(m => m.Product_Phase == search.Product_Phase);
            }
            if (search.Organization_UID != 0)
            {
                query = query.Where(m => m.OrgID == search.Organization_UID);
            }
            if (search.Organization_Name != 0)
            {
                query = query.Where(m => m.Organization_Name == search.Organization_Name);
            }
            if (!flag && search.OrgID > 0)
            {
                query = query.Where(p => p.OrgID == search.OrgID);
            }
            totalCount = query.Count();
            return(query.OrderByDescending(o => o.Modified_Date).GetPage(page));
        }
Esempio n. 7
0
        //
        // GET: /Project/

        public ActionResult Index(ProjectSearchModel searchModel)
        {
            var listProjects = new List <ProjectDisplayModel>();

            if (searchModel == null)
            {
                searchModel = new ProjectSearchModel
                {
                    StartDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToString(Helper.FormatDate),
                    EndDate   = new DateTime(DateTime.Now.Year, DateTime.Now.Month + 1, 1).AddDays(-1).ToString(Helper.FormatDate),
                };
            }
            DateTime sdate;
            DateTime edate;

            DateTime.TryParseExact(searchModel.StartDate, Helper.FormatDate,
                                   new CultureInfo("en-US"),
                                   DateTimeStyles.None,
                                   out sdate);
            DateTime.TryParseExact(searchModel.EndDate, Helper.FormatDate,
                                   new CultureInfo("en-US"),
                                   DateTimeStyles.None,
                                   out edate);

            var projects = ProjectBO.Search(searchModel.Name, sdate, edate);

            foreach (var item in projects)
            {
                var project = ProjectBO.GetById(item.Id);
                var model   = new ProjectDisplayModel
                {
                    Id          = item.Id,
                    Name        = item.Name,
                    Description = item.Description,
                    StartDate   = item.StartDate,
                    EndDate     = item.EndDate,
                    CreatedDate = item.CreateDate == null ? string.Empty : ((DateTime)item.CreateDate).ToString(Helper.FormatDate),
                };

                if (CurrentUser.IsManager)
                {
                    listProjects.Add(model);
                }
            }
            searchModel.Projects = listProjects;
            return(View(searchModel));
        }
        public ActionResult SearchProject([FromBody] ProjectSearchModel f)
        {
            DateTime start = f.StartDate;
            DateTime end   = f.EndDate;

            if (f.StartDate.Ticks == 0)
            {
                start = DateTime.Now;
            }
            if (f.EndDate.Ticks == 0)
            {
                end = DateTime.Now.AddMonths(2);
            }
            List <ProjectViewModel> data = new DataFeeder().GetProjectScheduleViewData(start, end);

            return(Json(data));
        }
        /// <summary>
        /// Prepare paged project list model
        /// </summary>
        /// <param name="searchModel">Project search model</param>
        /// <returns>Project list model</returns>
        public ProjectListModel PrepareProjectListModel(ProjectSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }
            string userName = string.Empty;

            if (_workContext.CurrentUser.UserTypeId == 2) //Researchers Role will see only owner projects
            {
                userName = _workContext.CurrentUser.UserName;
            }
            var projects = _projectService.GetAllProjects(projectNameTH: searchModel.SearchProjectName,
                                                          fiscalYear: searchModel.FiscalScheduleId,
                                                          projectStatusId: searchModel.ProjectStatusId,
                                                          agencyId: searchModel.AgencyId,
                                                          progressStatusId: searchModel.ProgressStatusId,
                                                          createdBy: userName,
                                                          pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //prepare list model
            var model = new ProjectListModel
            {
                Data = projects.Select(project =>
                {
                    // fill in model values from the entity

                    var projectModel = new ProjectModel
                    {
                        Id                   = project.Id,
                        FiscalYear           = project.FiscalYear,
                        ProjectCode          = project.ProjectCode,
                        ProjectNameTh        = project.ProjectNameTh,
                        ProjectStartDateName = CommonHelper.ConvertToThaiDate(project.ProjectStartDate),
                        ProgressStatusName   = project.ProjectProgresses.LastOrDefault() != null ? project.ProjectProgresses.LastOrDefault().ProgressStatus.GetAttributeOfType <EnumMemberAttribute>().Value : string.Empty,
                        ProjectStatusName    = (int)project.ProjectStatus != 0 ? project.ProjectStatus.GetAttributeOfType <EnumMemberAttribute>().Value : string.Empty,
                    };

                    return(projectModel);
                }),
                Total = projects.TotalCount
            };

            return(model);
        }
        public ActionResult GetProject(ParamRequest paramRequest)
        {
            var query = new List <Project>();

            if (string.IsNullOrEmpty(paramRequest.SearchString))
            {
                query = ListProject;
            }
            else
            {
                query = ListProject.Where(x => x.Name.Contains(paramRequest.SearchString)).ToList();
            }


            var totalItem = query.Count;

            var result = query.Skip(paramRequest.CurrentPage * paramRequest.ItemPerPage).Take(paramRequest.ItemPerPage);

            switch (paramRequest.ColumnSort)
            {
            case 1:
                result = paramRequest.DirectionSort == "asc" ? result.OrderBy(x => x.Name) : result.OrderByDescending(x => x.Name);
                break;

            case 2:
                result = paramRequest.DirectionSort == "asc" ? result.OrderBy(x => x.Number) : result.OrderByDescending(x => x.Number);
                break;

            case 3:
                result = paramRequest.DirectionSort == "asc" ? result.OrderBy(x => x.Customer) : result.OrderByDescending(x => x.Customer);
                break;
            }
            var projectSearchModel = new ProjectSearchModel
            {
                Page = new Paging
                {
                    CurrentPage = paramRequest.CurrentPage,
                    Total       = totalItem / paramRequest.ItemPerPage
                },
                Projects = result.ToList()
            };

            return(PartialView("_ListProject", projectSearchModel));
        }
        //Main view

        public ActionResult ManageProjects(ProjectSearchModel model)
        {
            try
            {
                if (String.IsNullOrEmpty(model.queryString))
                {
                    model.queryString = ""; //keeps the paged list from being empty
                }
                model.SearchResults = Repository.GetProjectPageWithFilter(model.Page, model.statusChoice, model.queryString, model.categorySelection);
                // model.Page = model.SearchResults.PageNumber;
                model.Page = 1;

                return(View(model));
            }
            catch
            {
                return(View("Error"));
            }
        }
Esempio n. 12
0
        public ProjectSearchModel PreaperProjectSearchModel(ProjectSearchModel searchModel)
        {
            searchModel.Published.Add(new SelectListItem
            {
                Text  = "All",
                Value = "0"
            });
            searchModel.Published.Add(new SelectListItem
            {
                Value = "1",
                Text  = "PublihsedOnly"
            });
            searchModel.Published.Add(new SelectListItem
            {
                Value = "2",
                Text  = "UnPublishedOnly"
            });

            return(searchModel);
        }
Esempio n. 13
0
        public ProjectListModel PreaperProjectListModel(ProjectSearchModel projectSearchModel)
        {
            var projects = _projectService.SearchProjects(published: projectSearchModel.PublishId,
                                                          name: projectSearchModel.Name,
                                                          shortDescription: projectSearchModel.ShortDescription);

            var model = new ProjectListModel().PrepareToGrid(projectSearchModel, projects, () =>
            {
                return(projects.Select(p =>
                {
                    var projectModel = GetModelFromProject(p);

                    projectModel.FullDescription = null;
                    projectModel.SeName = _urlRecordService.GetSeName(p);
                    return projectModel;
                }));
            });

            return(model);
        }
Esempio n. 14
0
        public async Task <IQueryable <Project> > FindProjects(ProjectSearchModel model)
        {
            var all = _projects.GetAll();

            if (model == null)
            {
                return(all);
            }

            if (model.Name != null)
            {
                all = all.Where(x => EF.Functions.Like(x.Name, model.Name));
            }

            all = await FilterBySpheres(all, model);

            all = await FilterBySpecialization(all, model);

            all = await FilterByTags(all, model);

            return(all);
        }
        public ActionResult ProjectList(ProjectSearchModel searchModel)
        {
            var data  = _projectService.GetGridAll().ToList();
            var model = new ProjectListModel();

            model.Data   = data;
            model.Total  = data.Count;
            model.Errors = "";
            return(Json(model));

            //try
            //{
            //    // Initialization.
            //    string search = Request.Form["search[value]"][0];
            //    string draw = Request.Form["draw"][0];
            //    string order = Request.Form["order[0][column]"][0];
            //    string orderDir = Request.Form["order[0][dir]"][0];
            //    int startRec = Convert.ToInt32(Request.Form["start"][0]);
            //    int pageSize = Convert.ToInt32(Request.Form["length"][0]);

            //    _logger.LogInformation("Call GetGridAll()");
            //    // Loading.
            //    List<ProjectGridViewModel> data = _projectService.GetGridAll().ToList();

            //    // Total record count.
            //    int totalRecords = data.Count;

            //    // Verification.
            //    //if (!string.IsNullOrEmpty(search) &&
            //    //    !string.IsNullOrWhiteSpace(search))
            //    //{
            //    //    // Apply search
            //    //    data = data.Where(p => p.sr.ToString().ToLower().Contains(search.ToLower()) ||
            //    //                           p.ordertracknumber.ToLower().Contains(search.ToLower()) ||
            //    //                           p.quantity.ToString().ToLower().Contains(search.ToLower()) ||
            //    //                           p.productname.ToLower().Contains(search.ToLower()) ||
            //    //                           p.specialoffer.ToLower().Contains(search.ToLower()) ||
            //    //                           p.unitprice.ToString().ToLower().Contains(search.ToLower()) ||
            //    //                           p.unitpricediscount.ToString().ToLower().Contains(search.ToLower())).ToList();
            //    //}

            //    // Sorting.
            //    //data = this.SortByColumnWithOrder(order, orderDir, data);

            //    // Filter record count.
            //    int recFilter = data.Count;

            //    // Apply pagination.
            //    data = data.Skip(startRec).Take(pageSize).ToList();

            //    // Loading drop down lists.
            //    var result = this.Json(new { draw = Convert.ToInt32(draw), recordsTotal = totalRecords, recordsFiltered = recFilter, data = data });
            //    return result;
            //}
            //catch (Exception ex)
            //{
            //    // Info
            //    Console.Write(ex);
            //    return null;
            //}
        }
Esempio n. 16
0
        public ActionResult List(ProjectSearchModel searchModel)
        {
            var model = _projectModelFactory.PrepareProjectListModel(searchModel);

            return(Json(model));
        }
Esempio n. 17
0
        public IActionResult ProjectList(ProjectSearchModel projectSearchModel)
        {
            var model = _projectModelFactory.PreaperProjectListModel(projectSearchModel);

            return(Json(model));
        }
Esempio n. 18
0
        private async Task <IQueryable <Project> > FilterByTags(IQueryable <Project> projects, ProjectSearchModel model)
        {
            if (model.Tags == null)
            {
                return(projects);
            }
            if (projects.Count() == 0)
            {
                return(projects);
            }

            var result = _projects.GetAllTags()
                         .Join(projects, x => x.ProjectId, y => y.Id, (x, y) => x)
                         .Where(x => model.Tags.Contains(x.Name))
                         .Include(x => x.Project)
                         .Select(x => x.Project);

            return(result);
        }
Esempio n. 19
0
        private async Task <IQueryable <Project> > FilterBySpecialization(IQueryable <Project> projects, ProjectSearchModel model)
        {
            if (model.SpecializationId == null)
            {
                return(projects);
            }
            if (projects.Count() == 0)
            {
                return(projects);
            }

            var projectJoin = _projects.GetAllNeedMembers()
                              .Join(projects, x => x.ProjectId, y => y.Id, (x, y) => x)
                              .Where(x => x.SpecializationId == x.SpecializationId)
                              .Include(x => x.Project)
                              .Select(x => x.Project);

            return(projectJoin);
        }
Esempio n. 20
0
        //private async Task<IQueryable<User>> FilterByReadyToWork(IQueryable<User> users, ProfileSearchModel model)
        //{
        //    if (model.SphereId == null) return users;
        //    if (users.Count() == 0) return users;

        //    var result =
        //}

        private async Task <IQueryable <Project> > FilterBySpheres(IQueryable <Project> projects, ProjectSearchModel model)
        {
            if (model.SphereId == null)
            {
                return(projects);
            }
            if (projects.Count() == 0)
            {
                return(projects);
            }

            var projectJoin = _projects.GetAllProjectsSpheres()
                              .Where(x => x.SphereId == model.SphereId)
                              .Join(projects, x => x.ProjectId, p => p.Id, (p, x) => x);

            return(projectJoin);
        }
 public virtual IActionResult ExportExcelAll(ProjectSearchModel model)
 {
     return(View());
 }