public int updateIssue(Issue issue) { User user = SecurityModel.getInstance().AuthenticatedUser; var req = WebRequest.Create(Server.ApiUrl + "/issues/put/" + user.UserId + "/" + issue.IssueId); req.Method = "POST"; req.ContentType = "application/json"; String contentData = "{\"title\":\"" + issue.IssueName + "\"," + "\"description\":\"" + issue.Description + "\"," + "\"state\":\"" + issue.State + "\"," + "\"serverity\":\"" + issue.Serverity + "\"," + "\"priority\":\"" + issue.Priority + "\"," + "\"personInChargeId\":\"" + issue.PersonInChargeId + "\"}"; using (var writer = new StreamWriter(req.GetRequestStream())) { writer.Write(contentData); } var resp = (HttpWebResponse)req.GetResponse(); using (var reader = new StreamReader(resp.GetResponseStream())) { var issueData = reader.ReadToEnd(); dynamic issueApiModel = JsonConvert.DeserializeObject <dynamic>(issueData); issue.IssueId = formatStateToIssueId((String)issueApiModel.state, (String)issueApiModel.issueId); } Notify(); return(issue.IssueId); }
public List <ProjectMember> getMemberByProjectId(int projectId, bool joined) { List <ProjectMember> memberList = new List <ProjectMember>(); var req = WebRequest.Create(Server.ApiUrl + "/members/list/" + SecurityModel.getInstance().AuthenticatedUser.UserId + "/" + projectId); req.Method = "GET"; var resp = (HttpWebResponse)req.GetResponse(); using (var reader = new StreamReader(resp.GetResponseStream())) { var membertData = reader.ReadToEnd(); dynamic memberApiModel = JsonConvert.DeserializeObject <dynamic>(membertData); int state = memberApiModel.state; if (state == 0) { foreach (dynamic o in memberApiModel.member) { ProjectMember projectMember = new ProjectMember(); projectMember.UserId = o.userId; projectMember.Role = o.role; int temp = BooltoString(joined); if (int.Parse((String)o.isJoined) == temp) { memberList.Add(projectMember); } } } } return(memberList); }
public static SecurityModel getInstance() { if (securityModel == null) { securityModel = new SecurityModel(); } return(securityModel); }
public List <Issue> getAllIssueList() { List <Issue> issueList = new List <Issue>(); User user = SecurityModel.getInstance().AuthenticatedUser; var req = WebRequest.Create(Server.ApiUrl + "/issues/" + user.UserId); req.Method = "GET"; req.ContentType = "application/json"; var resp = (HttpWebResponse)req.GetResponse(); using (var reader = new StreamReader(resp.GetResponseStream())) { var issueData = reader.ReadToEnd(); dynamic issueApiModel = JsonConvert.DeserializeObject <dynamic>(issueData); if ((int)issueApiModel.state == 0) { foreach (dynamic o in issueApiModel.list) { Issue issue = new Issue(); issue.IssueId = o.issueId; issue.IssueGroupId = o.issueGroupId; issue.State = o.state; issue.IssueName = o.title; issue.Description = o.description; issue.Serverity = o.serverity; issue.Priority = o.priority; issue.ReporterId = o.reporterId; issue.ReportDate = formatDateToDateTime((long)o.reportTime); issue.PersonInChargeId = o.personInChargeId; if (issue.State == "已完成") { issue.FinishDate = issue.ReportDate; } else { issue.FinishDate = (o.finishTime == null) ? DateTime.MaxValue : formatDateToDateTime((long)o.finishTime); } issue.ProjectId = o.projectId; issueList.Add(issue); } } } return(issueList); }
public Issue getIssueInfo(int issueId) { Issue issue = new Issue(); User user = SecurityModel.getInstance().AuthenticatedUser; var req = WebRequest.Create(Server.ApiUrl + "/issues/" + user.UserId + "/" + issueId); req.Method = "GET"; var resp = (HttpWebResponse)req.GetResponse(); using (var reader = new StreamReader(resp.GetResponseStream())) { var issueData = reader.ReadToEnd(); dynamic issueApiModel = JsonConvert.DeserializeObject <dynamic>(issueData); if (int.Parse((String)issueApiModel.state) == 0) { issue.IssueId = int.Parse((String)issueApiModel.issue.issueId); issue.IssueGroupId = issueApiModel.issue.issueGroupId; issue.ProjectId = issueApiModel.issue.projectId; issue.State = issueApiModel.issue.state; issue.IssueName = issueApiModel.issue.title; issue.Description = issueApiModel.issue.description; issue.Priority = issueApiModel.issue.priority; issue.Serverity = issueApiModel.issue.serverity; issue.ReporterId = issueApiModel.issue.reporterId; issue.ReportDate = formatDateToDateTime((long)issueApiModel.issue.reportTime); issue.PersonInChargeId = issueApiModel.issue.personInChargeId; if (issue.State == "已完成") { issue.FinishDate = issue.ReportDate; } else { issue.FinishDate = (issueApiModel.issue.finishTime == null) ? DateTime.MaxValue : formatDateToDateTime((long)issueApiModel.issue.finishTime); } } else { issue.IssueId = -int.Parse((String)issueApiModel.state); } } return(issue); }
public int deleteUser(int userId) { User user = SecurityModel.getInstance().AuthenticatedUser; var req = WebRequest.Create(Server.ApiUrl + "/users/delete/" + user.UserId + "/" + userId); req.Method = "GET"; String state; var resp = (HttpWebResponse)req.GetResponse(); using (var reader = new StreamReader(resp.GetResponseStream())) { var userData = reader.ReadToEnd(); state = userData; if (int.Parse(state) == 0) { Notify(); } } Notify(); return(int.Parse(state)); }
public List <User> getUserList() { List <User> userList = new List <User>(); var req = WebRequest.Create(Server.ApiUrl + "/users/list/" + SecurityModel.getInstance().AuthenticatedUser.UserId); req.Method = "GET"; var resp = (HttpWebResponse)req.GetResponse(); using (var reader = new StreamReader(resp.GetResponseStream())) { var userData = reader.ReadToEnd(); dynamic userApiModel = new JDynamic(userData); if (userApiModel.state == 0) { foreach (dynamic o in userApiModel.list) { User user = new User(); user.Authority = formatUserRoleToAuthority(o.userRole); user.UserId = o.userId; user.UserName = o.name; user.EmailAddress = o.emailAddress; user.JoinedProjects = getJoinedProjectsByUser(user.UserId); user.InvitedProjects = getInvitedProjectsByUser(user.UserId); user.Issues = getIssuesByUser(user.UserId); userList.Add(user); } } else { userList = null; } } return(userList); }
public void updateAuthenticatedUser(int userId) { User user = getUserInfo(userId); SecurityModel.getInstance().AuthenticatedUser = user; }