Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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));
                }
            }
        }