public TeamMemberResponse CreateTeamMembereInvite(TeamMember member) { Initialize(); var user = userLogic.GetUserByEmail(member.InviteeEmail); TeamMemberResponse teamMemResObj = new TeamMemberResponse(); string password = System.Configuration.ConfigurationManager.AppSettings.Get("TeamMemberDefaultPassword"); if (user == null) { Registration reg = new Registration() { Email = member.InviteeEmail, Password = password }; var status = userLogic.CreateUser(reg, "TeamMember"); if (status) { user = userLogic.GetUserByEmail(member.InviteeEmail); } else { ErrorMessage = userLogic.ErrorMessage; return(null); } } member.InviteeUserId = user.UserId; var teamMemObj = logic.CreateInvite(member); if (teamMemObj != null) { teamMemResObj.UserId = user.UserId; teamMemResObj.UserName = user.UserName; teamMemResObj.Password = password; teamMemResObj.TeamMemberId = teamMemObj.Id; return(teamMemResObj); } else { ErrorMessage = logic.ErrorMessage; } return(null); }
public TeamMemberResponse GetTeamMember(int id) { const string ConString = "Data Source=db-mssql;Initial Catalog=s18985;Integrated Security=True"; TeamMemberResponse response = new TeamMemberResponse(); response.IdTeamMember = id; using (var con = new SqlConnection(ConString)) using (var com = new SqlCommand()) { com.Connection = con; con.Open(); com.CommandText = "select * from task inner join teammember on task.idassignedto = teammember.idteammember inner join TaskType on task.IdTaskType = TaskType.IdTaskType where idteammember = @id"; com.Parameters.AddWithValue("id", id); var dr = com.ExecuteReader(); while (dr.Read()) { Task task = new Task(); task.IdTask = (int)dr["IdTask"]; task.TaskType = dr["Name"].ToString(); if ((int)dr["idassignedto"] == (int)dr["idcrator"]) { task.Creator = true; } else { task.Creator = false; } response.Tasks.Add(task); } } return(response); }
public TeamMemberResponse GetTeamMember(int idMember) { var response = new TeamMemberResponse(); using (var con = new SqlConnection(_dbConString)) using (var com = con.CreateCommand()) { com.Connection = con; con.Open(); com.CommandText = "SELECT * FROM TeamMember WHERE IdTeamMember = @IdMember"; com.Parameters.AddWithValue("IdMember", idMember); var dr = com.ExecuteReader(); if (!dr.Read()) { throw new Exception($"Member with id:{idMember} does not exist"); } response.IdTeamMember = Int32.Parse(dr["IdTeamMember"].ToString()); response.FirstName = dr["FirstName"].ToString(); response.LastName = dr["LastName"].ToString(); response.Email = dr["Email"].ToString(); response.AssignedTasks = new List <TaskResponse>(); response.CreatedTasks = new List <TaskResponse>(); dr.Close(); com.CommandText = $"SELECT Task.Name, Task.Description, Task.Deadline, Project.Name, TaskType.Name " + $"FROM Task " + $"INNER JOIN Project ON Project.IdTeam = Task.IdTeam " + $"INNER JOIN TaskType ON TaskType.IdTaskType = Task.IdTaskType " + $"WHERE IdAssignedTo = @IdMember " + $"ORDER BY Task.Deadline DESC"; dr = com.ExecuteReader(); while (dr.Read()) { var task = new TaskResponse(); task.Name = dr["Task.Name"].ToString(); task.Description = dr["Task.Description"].ToString(); task.Deadline = DateTime.Parse(dr["Task.Deadline"].ToString()); task.TeamName = dr["Project.Name"].ToString(); task.TasktypeName = dr["TaskType.Name"].ToString(); response.AssignedTasks.Add(task); } dr.Close(); com.CommandText = $"SELECT Task.Name, Task.Description, Task.Deadline, Project.Name, TaskType.Name " + $"FROM Task " + $"INNER JOIN Project ON Project.IdTeam = Task.IdTeam " + $"INNER JOIN TaskType ON TaskType.IdTaskType = Task.IdTaskType " + $"WHERE IdCreator = @IdMember " + $"ORDER BY Task.Deadline DESC"; dr = com.ExecuteReader(); while (dr.Read()) { var task = new TaskResponse(); task.Name = dr["Task.Name"].ToString(); task.Description = dr["Task.Description"].ToString(); task.Deadline = DateTime.Parse(dr["Task.Deadline"].ToString()); task.TeamName = dr["Project.Name"].ToString(); task.TasktypeName = dr["TaskType.Name"].ToString(); response.CreatedTasks.Add(task); } dr.Close(); } return(response); }
public IActionResult getTeamMemberAndHisTasks(int id) { using (var con = new SqlConnection(@"Data Source=db-mssql;Initial Catalog=s19515;Integrated Security=True")) { using (var com = new SqlCommand()) { com.Connection = con; con.Open(); //Check if all required data has been delivered. if (string.IsNullOrWhiteSpace(id.ToString())) { return(BadRequest("You need to provide the id")); } //check if team member exists com.CommandText = "Select IdTeamMember from TeamMember where IdTeamMember=@Index1"; com.Parameters.AddWithValue("index1", id); var dr = com.ExecuteReader(); if (!dr.Read()) { dr.Close(); return(StatusCode(401)); } //if he exists, return information about him dr.Close(); com.CommandText = "Select * from TeamMember where IdTeamMember=@Index2"; com.Parameters.AddWithValue("index2", id); dr = com.ExecuteReader(); var _teamMemberResponse = new TeamMemberResponse(); _teamMemberResponse.tasksListAssigned = new List <MojTask>(); _teamMemberResponse.tasksListCreated = new List <MojTask>(); while (dr.Read()) { var t = new TeamMember { IdTeamMember = int.Parse(dr["IdTeamMember"].ToString()), FirstName = dr["FirstName"].ToString(), LastName = dr["LastName"].ToString(), Email = dr["Email"].ToString() }; _teamMemberResponse.teammember = t; } dr.Close(); //Tasks assigned to him com.CommandText = "SELECT t.IdTask, t.Name, t.Description, t.Deadline, tt.Name ,p.Name from Task t join TaskType tt on t.IdTaskType = tt.IdTaskType join Project p on t.IdProject = p.IdProject where t.IdAssignedTo = @id3 order by t.Deadline DESC;"; com.Parameters.AddWithValue("id3", id); dr = com.ExecuteReader(); //check if there are any tasks assgined if (!dr.Read()) { dr.Close(); } else { while (dr.Read()) { var mt = new MojTask { IdTask = (int)dr[0], Name = dr[1].ToString(), Description = dr[2] as string, Deadline = (DateTime)dr[3], TaskType = dr[4] as string, ProjectName = dr[5] as string }; if (mt != null) { _teamMemberResponse.tasksListAssigned.Add(mt); } else { Console.WriteLine("mt empty"); } } } dr.Close(); //Tasks created by him com.CommandText = "SELECT t.IdTask, t.Name, t.Description, t.Deadline, tt.Name ,p.Name from Task t join TaskType tt on t.IdTaskType = tt.IdTaskType join Project p on t.IdProject = p.IdProject where t.IdCreator = @id4 order by t.Deadline DESC;"; com.Parameters.AddWithValue("id4", id); dr = com.ExecuteReader(); while (dr.Read()) { var mt = new MojTask { IdTask = (int)dr[0], Name = dr[1].ToString(), Description = dr[2] as string, Deadline = (DateTime)dr[3], TaskType = dr[4] as string, ProjectName = dr[5] as string }; if (mt != null) { _teamMemberResponse.tasksListCreated.Add(mt); } else { Console.WriteLine("mt empty"); } } return(Ok(_teamMemberResponse)); } } }