Exemple #1
0
        public static List <TeamsViewModel> GetAllMore180(int ProjectId)
        {
            using (var db = new ShlekenEntities3())
            {
                var datesProjects = DatesProjects(ProjectId);
                var Teams         = db.Teams
                                    .Where(i => i.Projects.AccountId == Userservice.AccountId)
                                    .ToList()
                                    .GroupBy(i => new { i.Users })
                                    .ToList();
                var listTeams = new List <TeamsViewModel>();
                foreach (var team in Teams)
                {
                    var item = new TeamsViewModel();
                    item.Name       = team.Key.Users.Name;
                    item.UserId     = team.Key.Users.Id;
                    item.UsersHours = new List <HourDate>();
                    var TeamsDate = team.GroupBy(i => i.Date);
                    foreach (var td in TeamsDate)
                    {
                        var sum = 0;
                        foreach (var t in td)
                        {
                            sum += t.Hours;
                        }
                        var UsersHours = new HourDate {
                            Date = td.Key.Date, Hour = sum, Usersname = item.Name
                        };
                        item.UsersHours.Add(UsersHours);
                    }

                    item.AllHours = new List <HourDate>();
                    foreach (var date in datesProjects)
                    {
                        var count = 1;
                        foreach (var hour in item.UsersHours)
                        {
                            if (hour.Date.Month == date.Date.Month && hour.Date.Year == date.Date.Year)
                            {
                                item.AllHours.Add(new HourDate {
                                    Hour = hour.Hour, Date = hour.Date, Id = hour.Id, Usersname = hour.Usersname
                                });
                            }
                            else
                            {
                                if (count == item.UsersHours.Count)
                                {
                                    item.AllHours.Add(new HourDate {
                                        Hour = 0, Date = date.Date, Id = 0, Usersname = hour.Usersname
                                    });
                                }
                                count++;
                            }
                        }
                    }
                    listTeams.Add(item);
                }
                return(listTeams);
            }
        }
Exemple #2
0
        public static List <TeamsViewModel> GetHoursUsers(TeamsearchViewModel search)
        {
            using (var db = new ShlekenEntities3())
            {
                var from  = search.FromDate;
                var to    = search.ToDate;
                var dates = DatesBySearch(from, to);
                var Teams = db.Teams
                            .Where(i => i.Projects.AccountId == Userservice.AccountId)
                            .ToList()
                            .GroupBy(i => new { i.Users })
                            .ToList();
                var listTeams = new List <TeamsViewModel>();
                foreach (var team in Teams)
                {
                    var item = new TeamsViewModel();
                    item.Name       = team.Key.Users.Name;
                    item.UsersHours = new List <HourDate>();
                    var TeamsDate = team.GroupBy(i => i.Date);
                    foreach (var td in TeamsDate)
                    {
                        var sum = 0;
                        foreach (var t in td)
                        {
                            sum += t.Hours;
                        }
                        var UsersHours = new HourDate {
                            Date = td.Key.Date, Hour = sum, Usersname = item.Name
                        };
                        item.UsersHours.Add(UsersHours);
                    }

                    item.AllHours = new List <HourDate>();
                    foreach (var date in dates)
                    {
                        var count = 1;
                        foreach (var hour in item.UsersHours)
                        {
                            if (hour.Date.Month == date.Date.Month && hour.Date.Year == date.Date.Year)
                            {
                                item.AllHours.Add(new HourDate {
                                    Hour = hour.Hour, Date = hour.Date, Id = hour.Id, Usersname = hour.Usersname
                                });
                            }
                            else
                            {
                                if (count == item.UsersHours.Count)
                                {
                                    item.AllHours.Add(new HourDate {
                                        Hour = 0, Date = date.Date, Id = 0, Usersname = hour.Usersname
                                    });
                                }
                                count++;
                            }
                        }
                    }
                    listTeams.Add(item);
                }
                return(listTeams.Where(i => (string.IsNullOrEmpty(search.Name) == true || i.Name.ToLower().Contains(search.Name.ToLower()))).ToList());
            }
        }
Exemple #3
0
        public static int GetHoursForMonth(DateTime date1, int project = -1)
        {
            using (var db = new ShlekenEntities3())
            {
                var from  = new DateTime(DateTime.Today.Year, date1.Month, 1);
                var to    = new DateTime(DateTime.Today.Year, date1.Month, DateTime.DaysInMonth(DateTime.Today.Year, date1.Month));
                var dates = DatesBySearch(from, to);
                var Teams = db.Teams
                            .ToList()
                            .GroupBy(i => new { i.Users })
                            .ToList();
                if (project != -1)
                {
                    Teams = db.Teams.Where(p => p.ProjectId == project)
                            .ToList()
                            .GroupBy(i => new { i.Users })
                            .ToList();
                }
                var listTeams = new List <TeamsViewModel>();
                foreach (var team in Teams)
                {
                    var item = new TeamsViewModel();
                    item.Name       = team.Key.Users.Name;
                    item.UsersHours = new List <HourDate>();
                    var TeamsDate = team.GroupBy(i => i.Date);
                    foreach (var td in TeamsDate)
                    {
                        var sum = 0;
                        foreach (var t in td)
                        {
                            sum += t.Hours;
                        }
                        var UsersHours = new HourDate {
                            Date = td.Key.Date, Hour = sum, Usersname = item.Name
                        };
                        item.UsersHours.Add(UsersHours);
                    }

                    item.AllHours = new List <HourDate>();
                    foreach (var date in dates)
                    {
                        var count = 1;
                        foreach (var hour in item.UsersHours)
                        {
                            if (hour.Date.Month == date.Date.Month && hour.Date.Year == date.Date.Year)
                            {
                                item.AllHours.Add(new HourDate {
                                    Hour = hour.Hour, Date = hour.Date, Id = hour.Id, Usersname = hour.Usersname
                                });
                            }
                            else
                            {
                                if (count == item.UsersHours.Count)
                                {
                                    item.AllHours.Add(new HourDate {
                                        Hour = 0, Date = date.Date, Id = 0, Usersname = hour.Usersname
                                    });
                                }
                                count++;
                            }
                        }
                    }
                    listTeams.Add(item);
                }
                return(listTeams.Sum(p => p.UsersHours.Where(u => u.Date.Month == date1.Month && u.Date.Year == date1.Year).Sum(u => u.Hour)));
            }
        }