private void SendMessageFromSupervisor(List <Person> recipients)
        {
            var countyGardens =
                new KindergardenQuery {
                City = ((Supervisor)_messageSender).City
            }.GetByFilter().ToList();

            switch (Who.SelectedValue)
            {
            case "גננת":
                var teacher = new PersonQuery().Get(int.Parse(Where.SelectedValue));

                if (teacher != null)
                {
                    recipients.Add(teacher);
                }
                break;

            case "גננות המחוז":

                recipients.AddRange(countyGardens.Select(c => c.Teacher).ToList());
                break;

            case "ילדי המחוז":
                foreach (var kindergarden in countyGardens)
                {
                    recipients.AddRange(kindergarden.Children);
                }
                break;
            }
        }
        protected void SelectedWho(object sender, EventArgs e)
        {
            if (_messageSender is Teacher)
            {
                if (Who.SelectedValue == "ילד ספציפי")
                {
                    var garden = new KindergardenQuery {
                        TeacherId = _messageSender.Id
                    }.GetByFilter();

                    if (garden != null)
                    {
                        WhereLabel.Visible   = true;
                        Where.Visible        = true;
                        Where.DataSource     = garden.SelectMany(x => x.Children).ToList();
                        Where.DataTextField  = "FullName";
                        Where.DataValueField = "id";
                        Where.DataBind();
                    }
                }
                else
                {
                    Where.Visible      = false;
                    WhereLabel.Visible = false;
                }
            }
            if (_messageSender is Supervisor)
            {
                if (Who.SelectedValue == "גננת")
                {
                    var countyGardens =
                        new KindergardenQuery {
                        City = ((Supervisor)_messageSender).City
                    }.GetByFilter().ToList();

                    var teachers = countyGardens.Select(c => new { name = c.Teacher.FullName, id = c.Teacher.Id });
                    WhereLabel.Visible   = true;
                    Where.Visible        = true;
                    Where.DataSource     = teachers;
                    Where.DataTextField  = "name";
                    Where.DataValueField = "id";
                    Where.DataBind();
                }
                else
                {
                    Where.Visible      = false;
                    WhereLabel.Visible = false;
                }
            }
            if (_messageSender is Child)
            {
                Where.Visible      = false;
                WhereLabel.Visible = false;
            }
        }
        protected void SelectedWho(object sender, EventArgs e)
        {
            if (_messageSender is Teacher)
            {
                if (Who.SelectedValue == "ילד ספציפי")
                {
                    var garden = new KindergardenQuery { TeacherId = _messageSender.Id }.GetByFilter();

                    if (garden != null)
                    {
                        WhereLabel.Visible = true;
                        Where.Visible = true;
                        Where.DataSource = garden.SelectMany(x => x.Children).ToList();
                        Where.DataTextField = "FullName";
                        Where.DataValueField = "id";
                        Where.DataBind();
                    }
                }
                else
                {
                    Where.Visible = false;
                    WhereLabel.Visible = false;
                }
            }
            if (_messageSender is Supervisor)
            {
                if (Who.SelectedValue == "גננת")
                {
                    var countyGardens =
                        new KindergardenQuery { City = ((Supervisor)_messageSender).City }.GetByFilter().ToList();

                    var teachers = countyGardens.Select(c => new { name = c.Teacher.FullName, id = c.Teacher.Id });
                    WhereLabel.Visible = true;
                    Where.Visible = true;
                    Where.DataSource = teachers;
                    Where.DataTextField = "name";
                    Where.DataValueField = "id";
                    Where.DataBind();
                }
                else
                {
                    Where.Visible = false;
                    WhereLabel.Visible = false;
                }
            }
            if (_messageSender is Child)
            {
                Where.Visible = false;
                WhereLabel.Visible = false;
            }
        }
        private void SendMessageFromSupervisor(List<Person> recipients)
        {
            var countyGardens =
                new KindergardenQuery {City = ((Supervisor) _messageSender).City}.GetByFilter().ToList();

            switch (Who.SelectedValue)
            {
                case "גננת":
                    var teacher = new PersonQuery().Get(int.Parse(Where.SelectedValue));

                    if (teacher != null)
                    {
                        recipients.Add(teacher);
                    }
                    break;
                case "גננות המחוז":

                    recipients.AddRange(countyGardens.Select(c => c.Teacher).ToList());
                    break;
                case "ילדי המחוז":
                    foreach (var kindergarden in countyGardens)
                    {
                        recipients.AddRange(kindergarden.Children);
                    }
                    break;
            }
        }