Ejemplo n.º 1
0
        private static List <GroupSchedule> GetSchedules(int group, bool?access, DayOfWeek?day_week)
        {
            var listSchedule = new List <GroupSchedule>();

            StringBuilder cmdQuery = new StringBuilder();

            cmdQuery.Append(SelectCmd);
            if (access.HasValue)
            {
                cmdQuery.Append(" AND Access=?");
            }

            if (day_week.HasValue)
            {
                switch (day_week.Value)
                {
                case DayOfWeek.Monday:
                    cmdQuery.Append(" AND Mondays=1");
                    break;

                case DayOfWeek.Tuesday:
                    cmdQuery.Append(" AND Tuesdays=1");
                    break;

                case DayOfWeek.Wednesday:
                    cmdQuery.Append(" AND Wednesdays=1");
                    break;

                case DayOfWeek.Thursday:
                    cmdQuery.Append(" AND Thursdays=1");
                    break;

                case DayOfWeek.Friday:
                    cmdQuery.Append(" AND Fridays=1");
                    break;

                case DayOfWeek.Saturday:
                    cmdQuery.Append(" AND Saturdays=1");
                    break;

                case DayOfWeek.Sunday:
                    cmdQuery.Append(" AND Sundays=1");
                    break;
                }
            }


            using (var con = new OdbcConnection(ConnString))
                using (var cmd = new OdbcCommand(cmdQuery.ToString(), con))
                {
                    cmd.Parameters.AddWithValue("GroupID", group);
                    if (access.HasValue)
                    {
                        cmd.Parameters.AddWithValue("Access", access.Value);
                    }

                    try
                    {
                        con.Open();
                        using (var db = cmd.ExecuteReader())
                        {
                            while (db.Read())
                            {
                                DateTime?date_from;
                                if (Convert.IsDBNull(db["DateFrom"]))
                                {
                                    date_from = null;
                                }
                                else
                                {
                                    date_from = (DateTime)db["DateFrom"];
                                }

                                DateTime?date_to;
                                if (Convert.IsDBNull(db["DateTo"]))
                                {
                                    date_to = null;
                                }
                                else
                                {
                                    date_to = (DateTime)db["DateTo"];
                                }

                                TimeSpan?time_from;
                                if (Convert.IsDBNull(db["TimeFrom"]))
                                {
                                    time_from = null;
                                }
                                else if (db["TimeFrom"] is TimeSpan)
                                {
                                    time_from = (TimeSpan)db["TimeFrom"];
                                }
                                else
                                {
                                    time_from = null;
                                }

                                TimeSpan?time_to;
                                if (Convert.IsDBNull(db["TimeTo"]))
                                {
                                    time_to = null;
                                }
                                else if (db["TimeTo"] is TimeSpan)
                                {
                                    time_to = (TimeSpan)db["TimeTo"];
                                }
                                else
                                {
                                    time_to = null;
                                }

                                var schedule = new GroupSchedule(Convert.ToInt32(db["GroupID"]),
                                                                 db["Name"].ToString(),
                                                                 Convert.ToBoolean(db["Access"]),
                                                                 date_from,
                                                                 date_to,
                                                                 time_from,
                                                                 time_to,
                                                                 Convert.ToBoolean(db["Mondays"]),
                                                                 Convert.ToBoolean(db["Tuesdays"]),
                                                                 Convert.ToBoolean(db["Wednesdays"]),
                                                                 Convert.ToBoolean(db["Thursdays"]),
                                                                 Convert.ToBoolean(db["Fridays"]),
                                                                 Convert.ToBoolean(db["Saturdays"]),
                                                                 Convert.ToBoolean(db["Sundays"]));

                                listSchedule.Add(schedule);
                            }
                        }
                    }
                    catch
                    {
                    }
                }

            return(listSchedule);
        }
Ejemplo n.º 2
0
        public static void UpdateSchedule(GroupSchedule schedule)
        {
            using (var con = new OdbcConnection(ConnString))
                using (var cmd = new OdbcCommand(UpdateCmd, con))
                {
                    cmd.Parameters.AddWithValue("Name", schedule.Name);
                    cmd.Parameters.AddWithValue("Access", schedule.Access);

                    if (schedule.DateFrom.HasValue)
                    {
                        cmd.Parameters.AddWithValue("DateFrom", schedule.DateFrom.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("DateFrom", null);
                    }

                    if (schedule.DateTo.HasValue)
                    {
                        cmd.Parameters.AddWithValue("DateTo", schedule.DateTo.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("DateTo", null);
                    }

                    if (schedule.TimeFrom.HasValue)
                    {
                        cmd.Parameters.AddWithValue("TimeFrom", schedule.TimeFrom.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("TimeFrom", null);
                    }

                    if (schedule.TimeTo.HasValue)
                    {
                        cmd.Parameters.AddWithValue("TimeTo", schedule.TimeTo.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("TimeTo", null);
                    }

                    cmd.Parameters.AddWithValue("Mondays", schedule.Mondays);
                    cmd.Parameters.AddWithValue("Tuesdays", schedule.Tuesdays);
                    cmd.Parameters.AddWithValue("Wednesdays", schedule.Wednesdays);
                    cmd.Parameters.AddWithValue("Thursdays", schedule.Thursdays);
                    cmd.Parameters.AddWithValue("Fridays", schedule.Fridays);
                    cmd.Parameters.AddWithValue("Saturdays", schedule.Saturdays);
                    cmd.Parameters.AddWithValue("Sundays", schedule.Sundays);

                    cmd.Parameters.AddWithValue("GroupID", schedule.GroupID);

                    try
                    {
                        con.Open();
                        cmd.ExecuteNonQuery();
                    }
                    catch
                    {
                    }
                }
        }