public List <LeaveOfAbsence> GetLeaveOfAbsences()
        {
            string query   = "SELECT * FROM LeaveOfAbsence";
            var    listLOA = new List <LeaveOfAbsence>();

            using (var conn = new SqlConnection(connectionstring))
            {
                using (var cmd = new SqlCommand(query, conn))
                {
                    conn.Open();
                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var LOA = new LeaveOfAbsence()
                            {
                                Id      = (int)reader["LeaveOfAbsenceId"],
                                ShiftId = (int)reader["Shift_Id"],
                                Reason  = (string)reader["Reason"]
                            };
                            listLOA.Add(LOA);
                        }

                        return(listLOA);
                    }
                }
            }
        }
 public Company(int id, string name, string description, string keyWords, Categories categorie, Owner owner, ICollection <Location> locations, ICollection <OpeningHours> openingHours, LeaveOfAbsence leaveOfAbsence, SocialMedia socialMedia, ICollection <Promotion> promotions)
 {
     Id             = id;
     Name           = name;
     Description    = description;
     KeyWords       = keyWords;
     Categorie      = categorie;
     Owner          = owner;
     Locations      = locations;
     OpeningHours   = openingHours;
     LeaveOfAbsence = leaveOfAbsence;
     SocialMedia    = socialMedia;
     Promotions     = promotions;
     Discounts      = new List <Discount>();
 }
        public List <LeaveOfAbsence> GetLeaveOfAbsencesWithApproval()
        {
            string query = "SELECT * FROM LeaveOfAbsence inner join Shift on LeaveOfAbsence.Shift_Id=Shift.Id inner join Department on Department_Id=Department.Id inner join User_LeaveOfAbsence on LeaveOfAbsence.LeaveOfAbsenceId=User_LeaveOfAbsence.LeaveOfAbsence_Id WHERE Approved IS NOT NULL";

            var leaveOfAbsences = new List <LeaveOfAbsence>();

            using (var conn = new SqlConnection(connectionstring))
            {
                using (var cmd = new SqlCommand(query, conn))
                {
                    conn.Open();

                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var LOA = new LeaveOfAbsence
                            {
                                Id         = (int)reader["LeaveOfAbsenceId"],
                                Reason     = (string)reader["Reason"],
                                IsApproved = (LeaveOfAbsence.Approved)reader["Approved"],
                                NewUserId  = (int)reader["NewUser_Id"],
                                Shift      = new Shift
                                {
                                    Id         = (int)reader["Shift_Id"],
                                    Date       = (DateTime)reader["Date"],
                                    StartTime  = (TimeSpan)reader["StartTime"],
                                    EndTime    = (TimeSpan)reader["EndTime"],
                                    Department = new Department()
                                    {
                                        Name = (string)reader["Name"]
                                    }
                                }
                            };
                            leaveOfAbsences.Add(LOA);
                        }

                        return(leaveOfAbsences);
                    }
                }
            }
        }