public Task AddTag(AsanaTag proj, Asana host) { Dictionary <string, object> Tag = new Dictionary <string, object>(); Tag.Add("tag", proj.ID); AsanaResponseEventHandler savedCallback = null; savedCallback = (s) => { // add it manually if (Tags == null) { Tags = new AsanaTag[1]; } else { AsanaTag[] lTags = Tags; Array.Resize(ref lTags, Tags.Length + 1); Tags = lTags; } Tags[Tags.Length - 1] = proj; Saving -= savedCallback; }; Saving += savedCallback; return(host.Save(this, AsanaFunction.GetFunction(Function.AddTagToTask), Tag)); }
/// <summary> /// Packs the data and into a response object and sends it to the callback /// </summary> /// <typeparam name="T"></typeparam> /// <param name="callback"></param> internal void PackAndSendResponse <T>(string rawData, AsanaResponseEventHandler callback) where T : AsanaObject { var u = AsanaObject.Create(typeof(T)); Parsing.Deserialize(GetDataAsDict(rawData), u, this); callback(u); }
public Task AddProject(AsanaProject proj, Asana host) { Dictionary <string, object> project = new Dictionary <string, object>(); project.Add("project", proj.ID); AsanaResponseEventHandler savedCallback = null; savedCallback = (s) => { // add it manually if (Projects == null) { Projects = new AsanaProject[1]; } else { AsanaProject[] lProjects = Projects; Array.Resize(ref lProjects, Projects.Length + 1); Projects = lProjects; } Projects[Projects.Length - 1] = proj; Saving -= savedCallback; }; Saving += savedCallback; return(host.Save(this, AsanaFunction.GetFunction(Function.AddProjectToTask), project)); }
public Task Get <AsanaT>(AsanaTask arg1, String arg2, AsanaResponseEventHandler callback) where AsanaT : AsanaObject { AsanaRequest request = default(AsanaRequest); if (typeof(AsanaT) == typeof(AsanaEvent)) { request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetEventsInTask), arg1, arg2); return(request.Go((o, h) => PackAndSendResponse <AsanaEvent>(o, callback), ErrorCallback)); } throw new TypeAccessException("Unknown type for this request: " + typeof(AsanaT).Name); }
public Task Get <AsanaT>(Int64 arg1, AsanaResponseEventHandler callback) where AsanaT : AsanaObject { AsanaRequest request = default(AsanaRequest); if (typeof(AsanaT) == typeof(AsanaUser)) { request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetUserById), arg1); return(request.Go((o, h) => PackAndSendResponse <AsanaUser>(o, callback), ErrorCallback)); } if (typeof(AsanaT) == typeof(AsanaWorkspace)) { request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetWorkspaceById), arg1); return(request.Go((o, h) => PackAndSendResponse <AsanaWorkspace>(o, callback), ErrorCallback)); } if (typeof(AsanaT) == typeof(AsanaTask)) { request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetTaskById), arg1); return(request.Go((o, h) => PackAndSendResponse <AsanaTask>(o, callback), ErrorCallback)); } if (typeof(AsanaT) == typeof(AsanaStory)) { request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetStoryById), arg1); return(request.Go((o, h) => PackAndSendResponse <AsanaStory>(o, callback), ErrorCallback)); } if (typeof(AsanaT) == typeof(AsanaProject)) { request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetProjectById), arg1); return(request.Go((o, h) => PackAndSendResponse <AsanaProject>(o, callback), ErrorCallback)); } if (typeof(AsanaT) == typeof(AsanaTag)) { request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetTagById), arg1); return(request.Go((o, h) => PackAndSendResponse <AsanaTag>(o, callback), ErrorCallback)); } throw new TypeAccessException("Unknown type for this request: " + typeof(AsanaT).Name); }
public Task RemoveTag(AsanaTag proj, Asana host) { Dictionary <string, object> Tag = new Dictionary <string, object>(); Tag.Add("tag", proj.ID); AsanaResponseEventHandler savedCallback = null; savedCallback = (s) => { // add it manually int index = Array.IndexOf(Tags, proj); AsanaTag[] lTags = new AsanaTag[Tags.Length - 1]; if (index != 0) { Array.Copy(Tags, lTags, index); } Array.Copy(Tags, index + 1, lTags, index, lTags.Length - index); Tags = lTags; Saving -= savedCallback; }; Saving += savedCallback; return(host.Save(this, AsanaFunction.GetFunction(Function.RemoveTagFromTask), Tag)); }
public Task RemoveProject(AsanaProject proj, Asana host) { Dictionary <string, object> project = new Dictionary <string, object>(); project.Add("project", proj.ID); AsanaResponseEventHandler savedCallback = null; savedCallback = (s) => { // add it manually int index = Array.IndexOf(Projects, proj); AsanaProject[] lProjects = new AsanaProject[Projects.Length - 1]; if (index != 0) { Array.Copy(Projects, lProjects, index); } Array.Copy(Projects, index + 1, lProjects, index, lProjects.Length - index); Projects = lProjects; Saving -= savedCallback; }; Saving += savedCallback; return(host.Save(this, AsanaFunction.GetFunction(Function.RemoveProjectFromTask), project)); }
public Task GetTagById(Int64 arg1, AsanaResponseEventHandler callback) { var request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetTagById), arg1); return request.Go((o, h) => PackAndSendResponse<AsanaTag>(o, callback), ErrorCallback); }
public Task GetMe(AsanaResponseEventHandler callback) { var request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetMe)); return request.Go((o, h) => PackAndSendResponse<AsanaUser>(o, callback), ErrorCallback); }
public void GetUserById(Int64 arg1, AsanaResponseEventHandler callback) { var request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetUserById), arg1); request.Go((o, h) => PackAndSendResponse <AsanaUser>(o, callback), ErrorCallback); }
public Task GetUserById(Int64 int64, AsanaResponseEventHandler callback) { var request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetUserById), int64); return(request.Go((o, h) => PackAndSendResponse <AsanaUser>(o, callback), ErrorCallback)); }
public Task GetEventsInTask(AsanaTask asanaTask, String string1, AsanaResponseEventHandler callback) { var request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetEventsInTask), asanaTask, string1); return(request.Go((o, h) => PackAndSendResponse <AsanaEvent>(o, callback), ErrorCallback)); }
public Task DuplicateProjectById(Int64 int64, AsanaDuplicateProjectSettings settings, AsanaResponseEventHandler callback) { var data = Parsing.Serialize(settings, true, false); var request = GetBaseRequestWithParams(AsanaFunction.GetFunction(Function.DuplicateProject), data, int64); return(request.Go((o, h) => PackAndSendResponse <AsanaDuplicateProjectJob>(o, callback), ErrorCallback)); }
public void GetStoryById(Int64 arg1, AsanaResponseEventHandler callback) { var request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetStoryById), arg1); request.Go((o, h) => PackAndSendResponse<AsanaStory>(o, callback), ErrorCallback); }
public Task GetWorkspaceById(Int64 arg1, AsanaResponseEventHandler callback) { var request = GetBaseRequest(AsanaFunction.GetFunction(Function.GetWorkspaceById), arg1); return(request.Go((o, h) => PackAndSendResponse <AsanaWorkspace>(o, callback), ErrorCallback)); }