/// <summary> /// Add new claims to the resource manager /// </summary> /// <param name="id">Resource Id</param> /// <param name="name">Claim Name</param> /// <returns><![CDATA[ (ResourceClaimVm Claim, bool IsSuccess,String Message) ]]></returns> public (ResourceClaimVm Claim, bool IsSuccess, String Message) AddClaim(int id, string name) { try { // Check if the claim already exists var dbCheck = ResourceDataAccess.ResourceClaim.Find(f => f.ResourceId == id && f.ClaimName.ToLower() == name.ToLower()); if (dbCheck != null) { return(null, false, ResourceManagerMessages.Error.CLAIM_ADD_ALREADY_EXISTS); } var dbClaim = (new ResourceClaimVm() { ClaimName = name }).ToEntityCreate(id); dbClaim = ResourceDataAccess.ResourceClaim.Create(dbClaim); ResourceDataAccess.Save(); return(new ResourceClaimVm(dbClaim), true, ResourceManagerMessages.Success.CLAIM_CREATED); } catch (DbEntityValidationException ex) { #if (DEBUG) // for debuging entity framework foreach (var error in ex.EntityValidationErrors.SelectMany(valError => valError.ValidationErrors)) { Console.WriteLine(error.ErrorMessage); } #endif throw; } }
/// <summary> /// Delete an existing resource claim /// </summary> /// <param name="id">Claim Id</param> /// <returns><![CDATA[ (bool IsSuccess, string Message) ]]></returns> public (bool IsSuccess, string Message) DeleteClaim(int id) { var dbClaim = ResourceDataAccess.ResourceClaim.GetById(id); if (dbClaim == null) { return(false, ResourceManagerMessages.Error.CLAIM_UPDATE_NOT_FOUND); } ResourceDataAccess.ResourceClaim.Delete(dbClaim); ResourceDataAccess.Save(); return(true, ResourceManagerMessages.Success.CLAIM_DELETED); }
/// <summary> /// Delete an existing resource manager /// </summary> /// <param name="id">Resource Manager Id</param> /// <returns><![CDATA[ (bool IsSuccess, string Message) ]]></returns> public (bool IsSuccess, string Message) DeleteManager(int id) { var dbResource = ResourceDataAccess.ResourceManager.GetById(id); if (dbResource == null) { return(false, ResourceManagerMessages.Error.RESOURCE_NOT_FOUND); } ResourceDataAccess.ResourceManager.Delete(dbResource); ResourceDataAccess.Save(); return(true, ResourceManagerMessages.Success.RESOURCE_DELETED); }
/*TODO : MAKE SURE THAT ALL THE TRANSACTION ON SET ARE LOGGED IN A TABLE*/ /// <summary> /// Create a new Resource Manager /// </summary> /// <param name="name">Resource Name</param> /// <param name="type">Resource Type</param> /// <param name="settings">Settings</param> /// <returns><![CDATA[ (ResourceVm Resource, ResourceSettingsVm Settings) ]]></returns> public (ResourceVm Resource, ResourceSettingsVm Settings, bool IsSuccess, String Message) Create(string name, ResourceType type, ResourceSettingsVm settings) { try { // Check if the claim already exists var dbCheck = ResourceDataAccess.ResourceClaim.Find(f => f.ClaimName.ToLower() == name.ToLower()); if (dbCheck != null) { return(null, null, false, ResourceManagerMessages.Error.RESOURCE_ALREADY_EXISTS); } // Create the Resource var dbView = (new ResourceVm() { Name = name }).ToEntityCreate(type); dbView = ResourceDataAccess.ResourceManager.Create(dbView); // Create the Resource Settings var dbSettings = settings.ToEntityCreate(dbView); dbSettings = ResourceDataAccess.ResourceSettings.Create(dbSettings); ResourceDataAccess.Save(); var res = new ResourceVm(dbView); settings = new ResourceSettingsVm(dbSettings); return(res, settings, true, ResourceManagerMessages.Success.RESOURCE_CREATED); } catch (DbEntityValidationException ex) { #if (DEBUG) // for debuging entity framework foreach (var error in ex.EntityValidationErrors.SelectMany(valError => valError.ValidationErrors)) { Console.WriteLine(error.ErrorMessage); } #endif throw; } catch { throw; } }
/// <summary> /// Update an existing resource claim /// </summary> /// <param name="claim">Resource Claim</param> /// <returns><![CDATA[ (ResourceClaimVm Claim, bool IsSuccess, String Message) ]]></returns> public (ResourceClaimVm Claim, bool IsSuccess, String Message) UpdateClaim(ResourceClaimVm claim) { // Check and make sure that the data exisits. var dbClaim = ResourceDataAccess.ResourceClaim.GetById(claim.Id); if (dbClaim == null) { return(null, false, ResourceManagerMessages.Error.RESOURCE_NOT_FOUND); } // Update the resource manager. dbClaim = claim.ToEntity(dbClaim); ResourceDataAccess.ResourceClaim.Update(dbClaim); ResourceDataAccess.Save(); claim = new ResourceClaimVm(dbClaim); return(claim, true, ResourceManagerMessages.Success.RESOUCE_UPDATED); }
/// <summary> /// Update the existing resource settings /// </summary> /// <param name="settings">ResourceSettingsVm</param> /// <returns><![CDATA[ (ResourceSettingsVm Settings, bool IsSuccess, String Message) ]]></returns> public (ResourceSettingsVm Settings, bool IsSuccess, String Message) UpdateSettings(ResourceSettingsVm settings) { // Check and make sure that the data exisits. var dbSettings = ResourceDataAccess.ResourceSettings.GetById(settings.Id); if (dbSettings == null) { return(null, false, ResourceManagerMessages.Error.RESOURCE_NOT_FOUND); } // Update the resource manager. dbSettings = settings.ToEntity(dbSettings); ResourceDataAccess.ResourceSettings.Update(dbSettings); ResourceDataAccess.Save(); settings = new ResourceSettingsVm(dbSettings); return(settings, true, ResourceManagerMessages.Success.RESOUCE_UPDATED); }
/// <summary> /// Update an existing resource /// </summary> /// <param name="resource">ResourceVm</param> /// <returns><![CDATA[ (ResourceVm Resource, bool IsSuccess, String Message) ]]></returns> public (ResourceVm Resource, bool IsSuccess, String Message) UpdateResource(ResourceVm resource) { // Check and make sure that the data exisits. var dbRes = ResourceDataAccess.ResourceManager.GetById(resource.Id); if (dbRes == null) { return(null, false, ResourceManagerMessages.Error.RESOURCE_NOT_FOUND); } // Update the resource manager. dbRes = resource.ToEntity(dbRes); ResourceDataAccess.ResourceManager.Update(dbRes); ResourceDataAccess.Save(); resource = new ResourceVm(dbRes); return(resource, true, ResourceManagerMessages.Success.RESOUCE_UPDATED); }