Exemple #1
0
        /// <summary>
        /// Create new object
        /// </summary>
        /// <param name="locationid">Location id where you want object create</param>
        /// <param name="name">Name of object</param>
        /// <param name="description">Description object</param>
        /// <returns>Created object</returns>
        public static T Create(T value)
        {
            AOperational <T> obj = (value as AOperational <T>);

            if (string.IsNullOrEmpty(obj.ParentId))
            {
                obj.ParentId = "me/skydrive";
            }
            //string data = JSONDataBuilder.Build(obj); //"{\"name\": \"" + name + "\",\r\n \"description\": \"" + description + "\"}";
            string data = Newtonsoft.Json.JsonConvert.SerializeObject(obj, AGetOpConverter <T> .Settings);

            try
            {
                RequestObject ro = new RequestObject {
                    Url = UrlBuilder1.Build(obj.ParentId), Method = WebRequestMethods.Http.Post, ContentType = ContentType.ApplicationJson
                };
                ro.SetData(data);
                return(Requester.Request <T>(ro).ElementAt(0));
            }
            catch
            {
                throw;
            }
        }
Exemple #2
0
 /// <summary>
 /// Copy object into new location.
 /// </summary>
 /// <param name="newLocationId">Location id where you want to copy object.</param>
 public virtual void Copy(string newLocationId)
 {
     if (string.IsNullOrEmpty(newLocationId))
     {
         newLocationId = "me/skydrive";
     }
     try
     {
         WLDestination dest = new WLDestination {
             Destination = newLocationId
         };
         string        data = Newtonsoft.Json.JsonConvert.SerializeObject(dest, AGetOpConverter <T> .Settings);
         RequestObject ro   = new RequestObject {
             Url = UrlBuilder1.Build(Id.ToString()), Method = WebRequestMethods.Http.Copy, ContentType = ContentType.ApplicationJson
         };
         //ro.SetData("{ \"destination\": \"" + newLocationId + "\"}");
         ro.SetData(data);
         Requester.Request <T>(ro);
     }
     catch
     {
         throw;
     }
 }
Exemple #3
0
        /// <summary>
        /// Gets folders or subfolders of current user
        /// </summary>
        /// <param name="option">Option if you want to folders with subfolders or not</param>
        /// <returns>List of folders or subfolders of current user</returns>
        public IEnumerable <Folder> GetFolders(System.IO.SearchOption option)
        {
            if (string.IsNullOrEmpty(Id))
            {
                Id = "me";
            }
            Filter          f  = new Filter(FilterTypes.Folder);
            QueryParameters qp = new QueryParameters();

            qp.Add("filter", f.GetTypesForQuery);
            try
            {
                if (option == System.IO.SearchOption.TopDirectoryOnly)
                {
                    return(Requester.Request <Folder>(new RequestObject {
                        Url = UrlBuilder1.Build(Id + "/skydrive/files", qp)
                    }).ToList());
                }
                else
                {
                    List <Folder> k = new List <Folder>();
                    foreach (Folder folder in Requester.Request <Folder>(new RequestObject {
                        Url = UrlBuilder1.Build(Id + "/files", qp)
                    }))
                    {
                        k.Add(folder);
                        k.AddRange(folder.GetFolders(option));
                    }
                    return(k);
                }
            }
            catch
            {
                throw;
            }
        }