public ActionResult EditResourceStructure(ResourceStructureModel model) { using (ResourceStructureManager rsManager = new ResourceStructureManager()) { //check name ResourceStructure temp = rsManager.GetResourceStructureByName(StringHelper.CutSpaces(model.Name)); if (temp != null && temp.Id != model.Id) { ModelState.AddModelError("NameExist", "Name already exist"); } ResourceStructure rs = rsManager.GetResourceStructureById(model.Id); if (rs == null) { ModelState.AddModelError("Errors", "ResourceStructure does not exist."); } if (rs.ResourceAttributeUsages.Select(a => a.ResourceStructureAttribute).ToList().Count() < 1) { ModelState.AddModelError("Errors", "Resource Structure has no attributes."); } if (rs.Parent != null) { if (rs.Parent.Id == rs.Id) { ModelState.AddModelError("Errors", "Parent resource structure can not be themselves."); } } if (ModelState.IsValid) { rs.Name = model.Name; rs.Description = model.Description; rsManager.Update(rs); return(RedirectToAction("ResourceStructure")); } else { return(View("_editResourceStructure", model)); } } }
public ActionResult Create(CreateResourceStructureModel model) { using (ResourceStructureManager rsManager = new ResourceStructureManager()) using (var pManager = new EntityPermissionManager()) using (var entityTypeManager = new EntityManager()) using (UserManager userManager = new UserManager()) { //check name ResourceStructure temp = rsManager.GetResourceStructureByName(StringHelper.CutSpaces(model.Name)); if (temp != null) { ModelState.AddModelError("NameExist", "Name already exist"); } if (ModelState.IsValid) { ResourceStructure rS = rsManager.Create(model.Name, model.Description, null, null); //Start -> add security ---------------------------------------- var userTask = userManager.FindByNameAsync(HttpContext.User.Identity.Name); userTask.Wait(); var user = userTask.Result; Entity entityType = entityTypeManager.FindByName("ResourceStructure"); //31 is the sum from all rights: Read = 1, Write = 4, Delete = 8, Grant = 16 int rights = (int)RightType.Read + (int)RightType.Write + (int)RightType.Delete + (int)RightType.Grant; pManager.Create(user, entityType, rS.Id, rights); //End -> add security ------------------------------------------ ResourceStructureModel rSmodel = new ResourceStructureModel(rS); rSmodel.FirstCreated = true; return(View("_editResourceStructure", rSmodel)); } else { return(View("_createResourceStructure", model)); } } }
public ActionResult AddResourceAttributeUsages(string rsId, string rsaIds) { using (ResourceStructureManager rsManger = new ResourceStructureManager()) using (ResourceStructureAttributeManager rsaManager = new ResourceStructureAttributeManager()) { ResourceStructure rs = rsManger.GetResourceStructureById(Convert.ToInt64(rsId)); string message = ""; if (rs != null) { if (!string.IsNullOrEmpty(rsaIds)) { var selectedRsa = rsaIds.Split(',').Select(n => int.Parse(n)).ToList(); foreach (int i in selectedRsa) { ResourceStructureAttribute rsa = rsaManager.GetResourceStructureAttributesById(i); if (!IsAttributeInStructure(rs, rsa)) { rsaManager.CreateResourceAttributeUsage(rsa, rs, false, false); } else { message += "Resource Structure Attribute " + rsa.Name + "is allready in the structure."; } } } ResourceStructureModel model = new ResourceStructureModel(rs); model.Message = message; return(View("_editResourceStructure", model)); } else { //rs don't exsits ?? return(View("_editResourceStructure")); } } }
public ActionResult AddResourceAttributeUsage(long rsId, long rsaId) { using (ResourceStructureManager rsManger = new ResourceStructureManager()) using (ResourceStructureAttributeManager rsaManager = new ResourceStructureAttributeManager()) { ResourceStructure rs = rsManger.GetResourceStructureById(rsId); ResourceStructureAttribute rsa = rsaManager.GetResourceStructureAttributesById(rsaId); string message = ""; if (!IsAttributeInStructure(rs, rsa)) { rsaManager.CreateResourceAttributeUsage(rsa, rs, false, false); } else { message += "Resource Structure Attribute " + rsa.Name + "is allready in the structure."; } ResourceStructureModel model = new ResourceStructureModel(rs); model.Message = message; return(View("_editResourceStructure", model)); } }
public EditResourceModel(R.SingleResource resource, List <ResourceStructureAttributeValueModel> valuesModel, List <TextValueModel> textValues, List <FileValueModel> fileValues) { Id = resource.Id; Name = resource.Name; Description = resource.Description; Quantity = resource.Quantity; ResourceStructure = new ResourceStructureModel(resource.ResourceStructure); ResourceStructureAttributeValues = valuesModel; ResourceStructures = new List <ResourceStructureModel>(); Color = resource.Color; WithActivity = resource.WithActivity; ResourceConstraints = new List <Resource.ResourceConstraintModel>(); DependencyConstraints = new List <DependencyConstraintModel>(); BlockingConstraints = new List <BlockingConstraintModel>(); QuantityConstraints = new List <QuantityConstraintModel>(); //TextValues = new List<TextValueModel>(); //FileValues = new List<FileValueModel>(); TextValues = textValues; FileValues = fileValues; //BookingTimeGranularity Duration = new TimeDuration(); Duration = resource.Duration.Self; TimeUnits = Enum.GetValues(typeof(SystemDefinedUnit)).Cast <SystemDefinedUnit>().ToList(); using (ResourceStructureManager manager = new ResourceStructureManager()) { foreach (RS.ResourceStructure rs in manager.GetAllResourceStructures().ToList()) { ResourceStructures.Add(new ResourceStructureModel(rs)); } } //BookingTimeGranularity = resource.BookingTimeGranularity; ResourceConstraintModel = new ResourceConstraintModel(); if (resource.ResourceConstraints != null) { foreach (ResourceConstraint c in resource.ResourceConstraints) { if (c is DependencyConstraint) { DependencyConstraintModel dcModel = new DependencyConstraintModel((DependencyConstraint)c); dcModel.Id = c.Id; dcModel.Index = c.Index; DependencyConstraints.Add(dcModel); ResourceConstraints.Add(dcModel); } if (c is BlockingConstraint) { BlockingConstraintModel bcModel = new BlockingConstraintModel((BlockingConstraint)c); bcModel.Id = c.Id; bcModel.Index = c.Index; BlockingConstraints.Add(bcModel); ResourceConstraints.Add(bcModel); } if (c is QuantityConstraint) { QuantityConstraintModel qcModel = new QuantityConstraintModel((QuantityConstraint)c); qcModel.Id = c.Id; qcModel.Index = c.Index; QuantityConstraints.Add(qcModel); ResourceConstraints.Add(qcModel); } } //Sort by Index ResourceConstraints = ResourceConstraints.OrderBy(x => x.Index).ToList(); } }