public LearningGeneralViewModel(IEnumerable <ResourceType> allResourceTypes, IEnumerable <LocationType> locationTypes = null) { LocationTypes = new List <JsonLocationType>(); if (locationTypes == null) { return; } foreach (var locationType in locationTypes) { var locaitonTypeViewModle = new JsonLocationType(locationType); LocationTypes.Add(locaitonTypeViewModle); } LocationTypesSelectList = new SelectList(LocationTypes, "Id", " LocationTypeName"); if (allResourceTypes == null) { AllResourceTypes = new List <ResourceTypeViewModel>(); } else { AllResourceTypes = new List <ResourceTypeViewModel>(); foreach (var resourceType in allResourceTypes) { var resourceTypeViewModel = new ResourceTypeViewModel(resourceType); AllResourceTypes.Add(resourceTypeViewModel); } } }
public static MvcHtmlString DisplayResourcesOfType(this HtmlHelper helper, ResourceTypeViewModel resourceType, int locationId) { //figure out the current resources. for the locaiton var resources = resourceType.Resources.Where(x => x.LocaitonId == locationId).ToList(); return(helper.Partial(@"/Views/Partials/Resources/ResourcesTable.cshtml", resources)); }
/// <summary> /// If an resource was loaded (new or existing), the resource /// can be assigned to this view model /// </summary> private async Task AssignLoadedResource(ResourceModel resource) { IsBusy = true; try { // Load type from type tree var typeTreeModel = await ResourceServiceModel.GetTypeTree(); var flatTypeTree = typeTreeModel.DerivedTypes.Flatten(t => t.DerivedTypes).SingleOrDefault(t => t.Name == resource.Type); Type = new ResourceTypeViewModel(flatTypeTree); EditableObject = new ResourceViewModel(resource, Type); if (AspectUsage) { var typedAspects = Config.AspectConfigurations.FirstOrDefault(ac => ac.TypeName == resource.Type); List <AspectConfiguration> aspectConfigurations; if (typedAspects == null || typedAspects.Aspects.Count == 0) { aspectConfigurations = Config.DefaultAspects; } else { aspectConfigurations = typedAspects.Aspects; } var aspects = aspectConfigurations.Select(ca => (IResourceAspect)AspectFactory.Create(ca.PluginName)) .Where(a => a.IsRelevant(EditableObject)).ToArray(); var aspectLoadTask = new List <Task>(aspects.Select(aspect => aspect.Load(EditableObject))); await Task.WhenAll(aspectLoadTask); Aspects.Items.AddRange(aspects); } Logger.Log(LogLevel.Trace, "Loaded resource with id {0}.", EditableObject.Id); } catch (Exception e) { //TODO throw; } finally { IsBusy = false; } }
private static List <ResourceTypeViewModel> BindResources(List <ResourceType> allResourceTypes, int locationId) { if (allResourceTypes == null) { return(new List <ResourceTypeViewModel>()); } List <ResourceTypeViewModel> allResourceTypeViewModels = new List <ResourceTypeViewModel>(); foreach (var resourceType in allResourceTypes) { var resourceTypeViewModel = new ResourceTypeViewModel(resourceType, locationId); allResourceTypeViewModels.Add(resourceTypeViewModel); } return(allResourceTypeViewModels); }
private ICollection <ResourceTypeViewModel> GetResources() { _resourceManager = new ResourceManager(MainViewModel.PathName); var resources = new List <ResourceTypeViewModel>(); foreach (var type in _resourceManager.GetResourceTypes()) { var resourceType = new ResourceTypeViewModel(_resourceManager) { ResourceType = type }; MainViewModel.Container.SatisfyImportsOnce(resourceType); foreach (var resource in _resourceManager.GetResourceNames(type)) { var vm = resourceType.CreateResourceViewModel(resource); resourceType.Resources.Add(vm); } resources.Add(resourceType); } return(resources); }
public ActionResult PostResourceType(ResourceTypeViewModel resourceTypeView) { try { var duplicateCheck = _applicationContext.ResourceType.Where(c => c.Name == resourceTypeView.Name).FirstOrDefault(); if (duplicateCheck == null) { _applicationContext.Add(_mapper.Map <ResourceTypeModel>(resourceTypeView)); _applicationContext.SaveChanges(); return(Ok(string.Format("New Resource Type '{0}' created", resourceTypeView.Name))); } else { return(BadRequest(new { error = "Duplicate Entry Found" })); } } catch (Exception e) { return(BadRequest(new { ExceptionEncountered = e.Message })); throw; } }