/// <summary> /// Remove sharefile item /// </summary> private bool RemoveShareFileItem(ShareFileClient client, Item item) { Query<ODataObject> query = new Query<ODataObject>(client); query.HttpMethod = "DELETE"; query.Id(item.Id); query.From("Items"); try { client.Execute(query); } catch { return false; } return true; }
protected override void ProcessRecord() { if (Id != null && Uri != null) throw new Exception("Set only Id or Uri"); if (Action == null && Cast != null) Action = Cast; if (Action == null && Navigation != null) Action = Navigation; if (Method == null) Method = "GET"; Method = Method.ToUpper(); Query<ODataObject> query = new Query<ODataObject>(Client.Client); query.HttpMethod = Method; if (string.IsNullOrWhiteSpace(Filter) == false) query.Filter(AddFilter()); if (Entity != null) query = query.From(Entity); if (Action != null) query = query.Action(Action); if (Id != null) query = query.Id(Id); else if (Uri != null) query = query.Id(Uri.ToString()); if (Parameters != null) { foreach (var key in Parameters.Keys) { if (!(key is string)) throw new Exception("Use strings for parameter keys"); query = query.QueryString((string)key, Parameters[key].ToString()); } } if (Expand != null) query = query.Expand(Expand); if (Select != null) query = query.Select(Select); if (Body != null) { query.Body = Body; } else if (BodyText != null) { query.Body = BodyText; } try { var response = query.Execute(); if (response != null) { Type t = response.GetType(); if (t.IsGenericType) { if (t.GetGenericTypeDefinition() == typeof(ODataFeed<>)) { var feed = t.GetProperty("Feed").GetValue(response, null) as IEnumerable<ODataObject>; foreach (var o in feed) { WriteObject(o); } } } else { WriteObject(response); } } } catch (ODataException e) { WriteError(new ErrorRecord(new Exception(e.Code.ToString() + ": " + e.ODataExceptionMessage.Message), e.Code.ToString(), ErrorCategory.NotSpecified, query.GetEntity())); } catch(Exception e) { ShowSuggestion(Entity,Action,Parameters); throw; } }