//return all team leader
        public static List <User> GetAllTeamLeader()
        {
            string query = $"SELECT  * FROM truth_time_ct.users u join truth_time_ct.status_users s on u.idStatus = s.idStatus where s.statusName LIKE '%leader%'";
            Func <MySqlDataReader, List <User> > func = (reader) =>
            {
                List <User> Users = new List <User>();
                while (reader.Read())
                {
                    int p6 = 0;
                    int.TryParse(reader[6].ToString(), out p6);
                    bool p7 = reader.GetBoolean(7);
                    Users.Add(new User
                    {
                        IdUser       = (int)reader[0],
                        UserName     = (string)reader[1],
                        Password     = (string)reader[2],
                        IdStatus     = (int)reader[3],
                        EmailUser    = (string)reader[4],
                        SumHours     = (double)reader[5],
                        IdTeamLeader = p6,
                        IsActive     = p7
                    });
                }
                return(Users);
            };

            return(DBUse.RunReader(query, func));
        }
        public static bool AddUser(User user)
        {
            string query = $"INSERT INTO truth_time_ct.users VALUES (0,'{user.UserName}','{user.Password}'" +
                           $",{user.IdStatus},'{user.EmailUser}',{user.SumHours},{user.IdTeamLeader},{user.IsActive})";

            return(DBUse.RunNonQuery(query) == 1);
        }
        //all users by getting name of project
        public static List <User> GetUsersByNameOfProject(string nameProject)
        {
            string query = $"SELECT DISTINCT * FROM truth_time_ct.users u join truth_time_ct.users_projects up on u.idUser=up.idUser join truth_time_ct.projects p on up.idProject=p.idProject where p.projectName={nameProject}";
            Func <MySqlDataReader, List <User> > func = (reader) =>
            {
                List <User> Users = new List <User>();
                while (reader.Read())
                {
                    int p6 = 0;
                    int.TryParse(reader[6].ToString(), out p6);
                    bool p7 = reader.GetBoolean(7);
                    Users.Add(new User
                    {
                        IdUser   = (int)reader[0],
                        UserName = (string)reader[1],
                        Password = (string)reader[2],
                        IdStatus = (int)reader[3],
                        //StatusUserFK =s,
                        EmailUser    = (string)reader[4],
                        SumHours     = (double)reader[5],
                        IdTeamLeader = p6,
                        IsActive     = p7
                    });
                }
                return(Users);
            };

            return(DBUse.RunReader(query, func));
        }
Example #4
0
        public static bool AddUserProject(UserProject userProject)
        {
            string query = $"INSERT INTO truth_time_ct.users_projects VALUES (0,'{userProject.HoursProjectUser}'" +
                           $",{userProject.IdProject},{userProject.IdUser})";

            return(DBUse.RunNonQuery(query) == 1);
        }
Example #5
0
        //return all projects under specipic teamLeader
        public static List <Project> GetProjectsUnderTeamLeader(int idTeamLeader)
        {
            string query = $"SELECT * FROM truth_time_ct.Projects WHERE idTeamLeader={idTeamLeader}";

            Func <MySqlDataReader, List <Project> > func = (reader) =>
            {
                List <Project> Projects = new List <Project>();
                while (reader.Read())
                {
                    Projects.Add(new Project
                    {
                        IdProject          = (int)reader[0],
                        ProjectName        = (string)reader[1],
                        ClientName         = (string)reader[2],
                        IdTeamLeader       = (int)reader[3],
                        StartDate          = (DateTime)reader[4],
                        EndDate            = (DateTime)reader[5],
                        HoursForDevelopers = (double)reader[6],
                        HoursForQA         = (double)reader[7],
                        HoursForUI_UX      = (double)reader[8],
                        Active             = reader.GetBoolean(9)
                    });
                }
                return(Projects);
            };

            return(DBUse.RunReader(query, func));
        }
Example #6
0
        //return how many hours the users worked on spesipic project
        public static int GetHoursThatWorkedOfProject(int idProject)
        {
            //get the hours by dateDiff between start and end date
            string query = $"SELECT sum(SELECT DATEDIFF(hour, startDatePresence, endDatePresence) FROM truth_time_ct.daily_presence WHERE idProject={idProject}) from truth_time_ct.daily_presence";

            return(int.Parse(DBUse.RunScalar(query).ToString()));
        }
        //get user by idUser
        public static User GetUserByIdUser(int idUser)
        {
            string query = $"SELECT * FROM truth_time_ct.users WHERE idUser={idUser}";
            Func <MySqlDataReader, List <User> > func = (reader) =>
            {
                List <User> users = new List <User>();
                while (reader.Read())
                {
                    int p6 = 0;
                    int.TryParse(reader[6].ToString(), out p6);
                    bool p7 = reader.GetBoolean(7);
                    users.Add(new User
                    {
                        IdUser       = (int)reader[0],
                        UserName     = (string)reader[1],
                        Password     = (string)reader[2],
                        IdStatus     = (int)reader[3],
                        EmailUser    = (string)reader[4],
                        SumHours     = (double)reader[5],
                        IdTeamLeader = p6,
                        IsActive     = p7
                    });
                }
                return(users);
            };
            User myUser = DBUse.RunReader(query, func)[0];

            return(myUser);
        }
Example #8
0
        //return all names of users and userprojects under teamleader
        public static List <UserProjectHelp> GetAllUserProjectUnderTeamLeaderWithNames(int idTeamLeader)
        {
            string         query = $"SELECT up.* FROM truth_time_ct.users_projects up join truth_time_ct.projects p on up.idProject=p.idProject and p.idTeamLeader={idTeamLeader} where p.active=true;";
            List <User>    allUsersUnderTeamLeader               = LogicUsers.GetAllUsersUnderTeamLeader(idTeamLeader);
            List <Project> allProjectUnderTeamLeader             = LogicProjects.GetProjectsUnderTeamLeader(idTeamLeader);
            Func <MySqlDataReader, List <UserProjectHelp> > func = (reader) =>
            {
                List <UserProjectHelp> users_projects_help = new List <UserProjectHelp>();
                while (reader.Read())
                {
                    users_projects_help.Add(new UserProjectHelp
                    {
                        IdUserProject    = (int)reader[0],
                        HoursProjectUser = (int)reader[1],
                        IdProject        = (int)reader[2],
                        IdUser           = (int)reader[3],
                        NameProject      = allProjectUnderTeamLeader.FirstOrDefault(p => p.IdProject == (int)reader[2]).ProjectName,
                        NameUser         = allUsersUnderTeamLeader.FirstOrDefault(p => p.IdUser == (int)reader[3]).UserName
                    });
                }
                return(users_projects_help);
            };

            return(DBUse.RunReader(query, func));
        }
Example #9
0
        //return all deatails of specipic user project//change
        public static List <UserProjectHelp> AllDetailsUserProjectOfSpecipicUser(int idUser)
        {
            string query = $"" +
                           $"SELECT p.projectName,p.startDate,p.endDate ,up.hoursProjectUser,u.userName FROM truth_time_ct.Projects p join truth_time_ct.users_projects up on p.idProject = up.idProject" +
                           $" join truth_time_ct.users u on p.idTeamLeader = u.idUser" +
                           $" WHERE up.idUser = {idUser}";

            Func <MySqlDataReader, List <UserProjectHelp> > func = (reader) =>
            {
                List <UserProjectHelp> userProjectHelp = new List <UserProjectHelp>();
                while (reader.Read())
                {
                    userProjectHelp.Add(new UserProjectHelp
                    {
                        NameProject      = (string)reader[0],
                        StartDate        = (DateTime)reader[1],
                        EndDate          = (DateTime)reader[2],
                        HoursProjectUser = (int)reader[3],
                        NameTeamLeader   = (string)reader[4]
                    });
                }
                return(userProjectHelp);
            };

            return(DBUse.RunReader(query, func));
        }
Example #10
0
        //sum hours that user worked on spesipic project on specipic month
        public static int SumHoursUserWorkedProjectOnSpecipicMonth(int idProject, int idUser, int?month)
        {
            string myMonth = DateTime.Now.Month.ToString();

            if (month != null)//or hasValue
            {
                myMonth = month.ToString();
            }
            string query = $"SELECT sum(SELECT DATEDIFF(hour, startDatePresence, endDatePresence) FROM truth_time_ct.daily_presence WHERE idProject={idProject} and idUser={idUser} and MONTH(startDatePresence)=myMonth)";

            return(int.Parse(DBUse.RunScalar(query).ToString()));
        }
Example #11
0
        //get dictionary of days and the hours that users worked in this day on any project
        public static Dictionary <string, double> GetHoursWorkedOnProjectByDays(int idProject, int month)
        {
            //select days and for every day the sum of hours that the users worked on specipic project on specipic month
            string query = $"SELECT DAY(d.startDatePresence),sum(SELECT DATEDIFF(hour,startDatePresence,endDatePresence) FROM truth_time_ct.daily_presence d WHERE idProject={idProject} and month(startDatePresence)={month} group by(DAY(startDatePresence))) ";

            Func <MySqlDataReader, Dictionary <string, double> > func = (reader) =>
            {
                Dictionary <string, double> DailySupply = new Dictionary <string, double>();
                while (reader.Read())
                {
                    DailySupply.Add(
                        (string)reader[0],
                        (double)reader[1]);
                }
                return(DailySupply);
            };

            return(DBUse.RunReaderDictionary(query, func));
        }
Example #12
0
        public static UserProject GetSpesipicUserProject(int idUser, int idProject)
        {
            string query = $"SELECT * FROM truth_time_ct.users_projects where idUser={idUser} and idProject={idProject}";

            Func <MySqlDataReader, List <UserProject> > func = (reader) =>
            {
                List <UserProject> UserProject = new List <UserProject>();
                UserProject.Add(new UserProject
                {
                    IdUserProject    = (int)reader[0],
                    HoursProjectUser = (int)reader[1],
                    IdProject        = (int)reader[2],
                    IdUser           = (int)reader[3]
                });
                return(UserProject);
            };

            return(DBUse.RunReader(query, func)[0]);
        }
Example #13
0
        //return all project under user()
        public static List <Project> AllProjectOfSpecipicUser(int idUser)
        {
            string query = $"SELECT * FROM truth_time_ct.Projects p join truth_time_ct.users_projects up on p.idProject=up.idProject WHERE up.idUser={idUser}";

            Func <MySqlDataReader, List <Project> > func = (reader) =>
            {
                List <Project> Projects = new List <Project>();
                while (reader.Read())
                {
                    Projects.Add(new Project
                    {
                        IdProject    = (int)reader[0],
                        ProjectName  = (string)reader[1],
                        IdTeamLeader = (int)reader[2],
                    });
                }
                return(Projects);
            };

            return(DBUse.RunReader(query, func));
        }
Example #14
0
        //why not * up.idUserProject,up.hoursProjectUser,up.idUser,up.idProject
        //return dictionary of userProject and the hours that the user worked to this userProject;
        public static Dictionary <UserProject, double> GetDictionaryOfHoursThatUserWorkedOnProjectInPrecent(int idUser)
        {
            //for user select all data of userProjects of him with the time that he worked for that project;
            string query = $"SELECT *,sum(SELECT DATEDIFF(hour, startDatePresence, endDatePresence) FROM truth_time_ct.daily_presence WHERE idProject=up.idProject and idUser={idUser}) from truth_time_ct.users_projects up WHERE up.idUser={idUser} Group By up.idUserProject,up.hoursProjectUser,up.idUser,up.idProject";
            Func <MySqlDataReader, Dictionary <UserProject, double> > func = (reader) =>
            {
                Dictionary <UserProject, double> myDictionary = new Dictionary <UserProject, double>();
                while (reader.Read())
                {
                    myDictionary.Add(new UserProject
                    {
                        IdUserProject    = (int)reader[0],
                        HoursProjectUser = (int)reader[1],
                        IdUser           = (int)reader[2],
                        IdProject        = (int)reader[3]
                    }, (int)reader[4]);
                }
                return(myDictionary);
            };

            return(DBUse.RunReaderDictionary(query, func));
        }
Example #15
0
        //get userProject ById
        public static UserProject GetUserProjectById(int idUserProject)
        {
            string query = $"SELECT * FROM truth_time_ct.users_projects WHERE idUserProject={idUserProject}";
            Func <MySqlDataReader, List <UserProject> > func = (reader) =>
            {
                List <UserProject> UserProjects = new List <UserProject>();
                while (reader.Read())
                {
                    UserProjects.Add(new UserProject
                    {
                        IdUserProject    = (int)reader[0],
                        HoursProjectUser = (int)reader[1],
                        IdProject        = (int)reader[2],
                        IdUser           = (int)reader[3]
                    });
                }
                return(UserProjects);
            };
            UserProject userProject = DBUse.RunReader(query, func)[0];

            return(userProject);
        }
Example #16
0
        //return x days and y hours that user worked on specipic project
        public static List <HoursOfUserProjectByDays> GetDaysAndHoursUserWorkedOnProject(int idProject, int idUser)
        {
            string query = $"SELECT  d.Day(startDatePresence),sum(SELECT DATEDIFF(hour, startDatePresence, endDatePresence)" +
                           $" FROM truth_time_ct.daily_presence WHERE idProject={idProject} and idUser={idUser} and DAY(startDatePresence)=d.Day(startDatePresence)) " +
                           $"from truth_time_ct.daily_presence d";

            Func <MySqlDataReader, List <HoursOfUserProjectByDays> > func = (reader) =>
            {
                List <HoursOfUserProjectByDays> hoursOfUserProjectByDays = new List <HoursOfUserProjectByDays>();
                while (reader.Read())
                {
                    hoursOfUserProjectByDays.Add(new HoursOfUserProjectByDays
                    {
                        Day   = (string)reader[0],
                        hours = (int)reader[1]
                    });
                }
                return(hoursOfUserProjectByDays);
            };

            return(DBUse.RunReader(query, func));
        }
Example #17
0
        public static List <UserProject> GetAllUserProject()
        {
            string query = $"SELECT * FROM truth_time_ct.users_projects";

            Func <MySqlDataReader, List <UserProject> > func = (reader) =>
            {
                List <UserProject> users_projects = new List <UserProject>();
                while (reader.Read())
                {
                    users_projects.Add(new UserProject
                    {
                        IdUserProject    = (int)reader[0],
                        HoursProjectUser = (int)reader[1],
                        IdProject        = (int)reader[2],
                        IdUser           = (int)reader[3]
                    });
                }
                return(users_projects);
            };

            return(DBUse.RunReader(query, func));
        }
        public static List <User> GetAllUsers()
        {
            string query = $"SELECT * FROM truth_time_ct.users";
            Func <MySqlDataReader, List <User> > func = (reader) =>
            {
                List <User> users = new List <User>();
                while (reader.Read())
                {
                    int    p  = (int)reader[0];
                    string p1 = (string)reader[1];
                    string p2 = (string)reader[2];
                    int    p3 = (int)reader[3];
                    string p4 = (string)reader[4];
                    double p5 = (double)reader[5];
                    int    p6 = 0;
                    int.TryParse(reader[6].ToString(), out p6);
                    bool p7 = reader.GetBoolean(7);


                    //StatusUser s = new StatusUser() { IdStatus = p3, StatusName = LogicStatusUsers.GetStatusName(p3) };
                    users.Add(new User
                    {
                        IdUser       = p,
                        UserName     = p1,
                        Password     = p2,
                        IdStatus     = p3,
                        EmailUser    = p4,
                        SumHours     = p5,
                        IdTeamLeader = p6,
                        IsActive     = p7
                    });
                }
                return(users);
            };

            return(DBUse.RunReader(query, func));
        }
Example #19
0
        //return the hours that users worked on that project;
        public static int GetHoursThatWorkedOnProject(int idProject)
        {
            string query = $"SELECT sum(SELECT DATEDIFF(hour, startDatePresence, endDatePresence) FROM truth_time_ct.daily_presence WHERE idProject={idProject})";

            return(int.Parse(DBUse.RunScalar(query).ToString()));
        }
Example #20
0
        //return hours that defined for project
        public static int GetHoursOfProject(int idProject)
        {
            string query = $"SELECT hoursForProject FROM truth_time_ct.projects WHERE idProject={idProject}";

            return(int.Parse(DBUse.RunScalar(query).ToString()));
        }