public void UpdateResource(string id, ResourceUpdateRequest request) { try { ResourceManagementWebServicev1.ValidateID(id); CultureInfo locale = GetLocaleFromParameters(); ResourceObject resource = Global.Client.GetResource(id, locale); foreach (AttributeValueUpdate kvp in request.Attributes) { if (kvp.Value.Length > 1) { resource.Attributes[kvp.Name].SetValue(kvp.Value); } else if (kvp.Value.Length == 1) { resource.Attributes[kvp.Name].SetValue(kvp.Value[0]); } else { resource.Attributes[kvp.Name].RemoveValues(); } } Global.Client.SaveResource(resource, locale); } catch (WebFaultException) { throw; } catch (WebFaultException <ExceptionData> ) { throw; } catch (AuthorizationRequiredException ex) { throw WebExceptionHelper.CreateWebException(ex); } catch (ResourceNotFoundException) { throw WebExceptionHelper.CreateWebException(HttpStatusCode.NotFound); } catch (ResourceManagementException ex) { throw WebExceptionHelper.CreateWebException(HttpStatusCode.BadRequest, ex); } catch (ArgumentException ex) { throw WebExceptionHelper.CreateWebException(HttpStatusCode.BadRequest, ex); } catch (Exception ex) { throw WebExceptionHelper.CreateWebException(HttpStatusCode.InternalServerError, ex); } }
public void UpdateResource(string id, ResourceUpdateRequest request) { try { ResourceManagementWebServicev2.ValidateID(id); CultureInfo locale = WebResponseHelper.GetLocale(); ResourceObject resource = Global.Client.GetResource(id, locale); foreach (AttributeValueUpdate kvp in request.Attributes) { if (kvp.Value.Length > 1) { resource.Attributes[kvp.Name].SetValue(kvp.Value); } else if (kvp.Value.Length == 1) { resource.Attributes[kvp.Name].SetValue(kvp.Value[0]); } else { resource.Attributes[kvp.Name].RemoveValues(); } } Global.Client.SaveResource(resource, locale); } catch (WebFaultException) { throw; } catch (WebFaultException <Error> ) { throw; } catch (Exception ex) { ResourceManagementWebServicev2.HandleException(ex); throw; } }
public IActionResult ResourceUpdate(ResourceUpdateRequest request) { ValidateEntity(request); Guid resourceId = Guid.Parse(request.Id); Guid domainId = Guid.Parse(request.Domain); using (SqlConnection connection = new SqlConnection(Settings.Current.StorageSource)) { connection.Open(); using (SqlCommand command = new SqlCommand("Zesty_Resource_Update", connection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.Add(new SqlParameter() { ParameterName = "@resourceId", Value = resourceId }); command.Parameters.Add(new SqlParameter() { ParameterName = "@url", Value = request.Url.Trim() }); command.Parameters.Add(new SqlParameter() { ParameterName = "@ParentId", Value = !string.IsNullOrEmpty(request.ParentId) ? Guid.Parse(request.ParentId) : (Object)DBNull.Value }); command.Parameters.Add(new SqlParameter() { ParameterName = "@isPublic", Value = request.IsPublic ? 1 : 0 }); command.Parameters.Add(new SqlParameter() { ParameterName = "@requireToken", Value = request.RequireToken ? 1 : 0 }); command.Parameters.Add(new SqlParameter() { ParameterName = "@order", Value = request.Order }); command.Parameters.Add(new SqlParameter() { ParameterName = "@label", Value = !string.IsNullOrEmpty(request.Label) ? request.Label.Trim() : (Object)DBNull.Value }); command.Parameters.Add(new SqlParameter() { ParameterName = "@title", Value = !string.IsNullOrEmpty(request.Title) ? request.Title.Trim() : (Object)DBNull.Value }); command.Parameters.Add(new SqlParameter() { ParameterName = "@image", Value = !string.IsNullOrEmpty(request.Image) ? request.Image.Trim() : (Object)DBNull.Value }); command.Parameters.Add(new SqlParameter() { ParameterName = "@type", Value = !string.IsNullOrEmpty(request.Type) ? request.Type.Trim() : (Object)DBNull.Value }); command.Parameters.Add(new SqlParameter() { ParameterName = "@domain", Value = domainId }); command.ExecuteNonQuery(); } } return(GetOutput(204)); }
public string CreateResource(ResourceUpdateRequest request) { try { AttributeValueUpdate objectTypeUpdate = request.Attributes.FirstOrDefault(t => t.Name == AttributeNames.ObjectType); if (objectTypeUpdate == null) { throw new ArgumentException("An object type must be specified"); } string objectType = objectTypeUpdate.Value?[0] as string; if (objectType == null) { throw new ArgumentException("An object type must be specified"); } ResourceObject resource = Global.Client.CreateResource(objectType); foreach (AttributeValueUpdate kvp in request.Attributes) { if (kvp.Value.Length > 1) { resource.Attributes[kvp.Name].SetValue(kvp.Value); } else if (kvp.Value.Length == 1) { resource.Attributes[kvp.Name].SetValue(kvp.Value[0]); } else { resource.Attributes[kvp.Name].RemoveValues(); } } Global.Client.SaveResource(resource); return(resource.ObjectID.ToString(false)); } catch (WebFaultException) { throw; } catch (WebFaultException <ExceptionData> ) { throw; } catch (AuthorizationRequiredException ex) { throw WebExceptionHelper.CreateWebException(ex); } catch (ResourceManagementException ex) { throw WebExceptionHelper.CreateWebException(HttpStatusCode.BadRequest, ex); } catch (ArgumentException ex) { throw WebExceptionHelper.CreateWebException(HttpStatusCode.BadRequest, ex); } catch (Exception ex) { throw WebExceptionHelper.CreateWebException(HttpStatusCode.InternalServerError, ex); } }
public Stream CreateResource(ResourceUpdateRequest request) { try { AttributeValueUpdate objectTypeUpdate = request.Attributes.FirstOrDefault(t => t.Name == AttributeNames.ObjectType); if (objectTypeUpdate == null) { throw new ArgumentException("An object type must be specified"); } string objectType = objectTypeUpdate.Value?[0] as string; if (objectType == null) { throw new ArgumentException("An object type must be specified"); } ResourceObject resource = Global.Client.CreateResource(objectType); foreach (AttributeValueUpdate kvp in request.Attributes) { if (kvp.Value.Length > 1) { resource.Attributes[kvp.Name].SetValue(kvp.Value); } else if (kvp.Value.Length == 1) { resource.Attributes[kvp.Name].SetValue(kvp.Value[0]); } else { resource.Attributes[kvp.Name].RemoveValues(); } } Global.Client.SaveResource(resource); string bareID = resource.ObjectID.ToString().Replace("urn:uuid:", string.Empty); Uri url = new Uri(WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri, bareID); WebOperationContext.Current.OutgoingResponse.Headers.Add(HttpResponseHeader.Location, url.ToString()); WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Created; if (WebResponseHelper.RequestNoBody()) { return(null); } else { resource.Refresh(); return(WebResponseHelper.GetResponse(resource, false)); } } catch (WebFaultException) { throw; } catch (WebFaultException <Error> ) { throw; } catch (Exception ex) { ResourceManagementWebServicev2.HandleException(ex); throw; } }