예제 #1
0
 public List <IMappingProject> Get(
     string municipalityNumber,
     int officeId,
     MappingProjectState state,
     RelevantMappingProjectDeliveryType deliveryType,
     int year)
 {
     return(_repository.MappingProjects.Get(municipalityNumber, officeId, state, deliveryType, year));
 }
        public List <IMappingProject> Get(
            string municipalityNumber,
            int officeId,
            MappingProjectState state,
            RelevantMappingProjectDeliveryType deliveryType,
            int year)
        {
            IEnumerable <IMappingProject> projects = _dbContext.Set <DataAccess.Entities.KOS.MappingProject>()
                                                     .Include(p => p.MappingProjectMunicipalityLinks).ThenInclude(mpm => mpm.Municipality)
                                                     .Include(p => p.Office)
                                                     .Include(p => p.Deliveries).ThenInclude(d => d.Type)
                                                     .Include(p => p.ProjectActivities)
                                                     .AsEnumerable()
                                                     .Select(mp => Create(mp))
                                                     .Where(p => p.State != MappingProjectState.None);

            projects = projects.Where(d => d.Deliveries.Any());

            if (municipalityNumber != null)
            {
                projects = projects.Where(p => p.Municipalities.FirstOrDefault(m => m.Number == municipalityNumber) != default);
            }

            if (officeId != default)
            {
                projects = projects.Where(p => p.Office.Id == officeId);
            }

            if (state != default)
            {
                projects = projects.Where(p => p.State == state);
            }

            if (deliveryType != default)
            {
                projects = projects.Where(p => p.Deliveries.FirstOrDefault(d => d.Type == deliveryType) != default);
            }

            if (year != default)
            {
                projects = projects.Where(p => p.Year == year);
            }

            return(projects.ToList());
        }
예제 #3
0
        public IActionResult Index(
            string municipalityNumber,
            int officeId,
            MappingProjectState state,
            RelevantMappingProjectDeliveryType deliveryType,
            int year)
        {
            MappingProjectViewModel model = new MappingProjectViewModel(
                _mappingProjectService.Get(municipalityNumber, officeId, state, deliveryType, year),
                _municipalityService.Get(),
                _offices.Get(),
                municipalityNumber,
                officeId,
                state,
                deliveryType,
                year);

            return(View("Views/MappingProjects/Geovekst/Projects/Projects.cshtml", model));
        }
예제 #4
0
        public MappingProjectViewModel(
            List <IMappingProject> mappingProjects,
            List <IMunicipality> municipalities,
            List <IOffice> offices,
            string selectedMunicipality,
            int selectedOffice,
            MappingProjectState selectedState,
            RelevantMappingProjectDeliveryType selectedDeliveryType,
            int selectedYear)
        {
            foreach (IMappingProject project in mappingProjects)
            {
                MappingProjects.Add(new ProjectListItem(project));
            }

            Municipalities = municipalities;
            Municipalities.Sort((l, r) => l.Name.CompareTo(r.Name));
            SelectedMunicipality = selectedMunicipality;

            Offices = offices;
            Offices.Sort((l, r) => l.Name.CompareTo(r.Name));
            SelectedOffice = selectedOffice;

            foreach (var state in Enum.GetValues(typeof(MappingProjectState)).Cast <MappingProjectState>())
            {
                States.Add(new KeyValuePair <MappingProjectState, string>(state, ProjectListItem.GetStateName(state, false)));
            }
            SelectedState = selectedState;

            foreach (var deliveryType in Enum.GetValues(typeof(RelevantMappingProjectDeliveryType)).Cast <RelevantMappingProjectDeliveryType>())
            {
                DeliveryTypes.Add(new KeyValuePair <RelevantMappingProjectDeliveryType, string>(deliveryType, ProjectListItem.GetDeliveryTypeName(deliveryType, false)));
            }
            SelectedDeliveryType = selectedDeliveryType;

            const int startYear = 2010;

            Years        = Enumerable.Range(startYear, DateTime.Now.Year - startYear + 1).Reverse().ToList();
            SelectedYear = selectedYear;
        }
예제 #5
0
        public static string GetStateName(MappingProjectState state, bool defaultIsEmpty = true)
        {
            string name = null;

            switch (state)
            {
            case MappingProjectState.Delivered:
                name = "Levert";
                break;

            case MappingProjectState.Ongoing:
                name = "Pågående";
                break;

            case MappingProjectState.Closed:
                name = "Avsluttet";
                break;

            default:
                name = defaultIsEmpty ? "" : "Alle";
                break;
            }
            return(name);
        }
예제 #6
0
        private static string GetStateToolTip(MappingProjectState state)
        {
            string name;

            switch (state)
            {
            case MappingProjectState.Delivered:
                name = "Alle data er levert og tilgjengeliggjort, men prosjektet er ikke formelt avsluttet.";
                break;

            case MappingProjectState.Ongoing:
                name = "Prosjektet er pågående.";
                break;

            case MappingProjectState.Closed:
                name = "Prosjektet er avsluttet.";
                break;

            default:
                name = "";
                break;
            }
            return(name);
        }