Exemplo n.º 1
0
 protected void HollidaysType_SelectedIndexChanged(object sender, EventArgs e)
 {
     Base.HoolidaysType type = _hollidaysType.Find(delegate(Base.HoolidaysType ht)
     {
         return(HollidaysType.SelectedValue == ht.Title);
     });
     if (type == null)
     {
         return;
     }
     label1.Text = "выходной";
     if (type.Id == 1)
     {
         phHollidayDaysOfWeek.Visible = true;
         phHollidayPeriod.Visible     = false;
         phHollidaysPeriod2.Visible   = false;
         Connections.Visible          = false;
         WorkTime.Visible             = false;
         phClear.Visible        = false;
         phDaysHolliday.Visible = false;
     }
     else if (type.Id < 5)
     {
         phHollidayDaysOfWeek.Visible = false;
         phHollidayPeriod.Visible     = true;
         phHollidaysPeriod2.Visible   = false;
         Connections.Visible          = false;
         WorkTime.Visible             = false;
         phClear.Visible        = false;
         phDaysHolliday.Visible = false;
     }
     else if (type.Id == 9) // конкретное число
     {
         phHollidayDaysOfWeek.Visible = false;
         phHollidayPeriod.Visible     = false;
         phHollidaysPeriod2.Visible   = false;
         Connections.Visible          = false;
         WorkTime.Visible             = false;
         phClear.Visible        = false;
         phDaysHolliday.Visible = true;
     }
     else
     {
         if (type.Id == 5)
         {
             label1.Text = "рабочий день";
         }
         phHollidayDaysOfWeek.Visible = false;
         phHollidayPeriod.Visible     = false;
         phHollidaysPeriod2.Visible   = true;
         Connections.Visible          = false;
         WorkTime.Visible             = false;
         phClear.Visible        = false;
         phDaysHolliday.Visible = false;
     }
 }
Exemplo n.º 2
0
 protected void HollidayPeriodSave_Click(object sender, EventArgs e)
 {
     Base.PersonData pd = _workers.Find(delegate(Base.PersonData i)
     {
         return(i.Title == WorkerName.SelectedValue);
     });
     if (pd == null)
     {
         Msg.Text = "Ошибка сохранения";
         return;
     }
     Base.HoolidaysType bw = _hollidaysType.Find(delegate(Base.HoolidaysType i)
     {
         return(i.Title == HollidaysType.SelectedValue);
     });
     if (bw == null || bw.Id < 1)
     {
         Msg.Text = "Ошибка сохранения";
         return;
     }
     using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
     {
         conn.Open();
         SqlCommand cmd = new SqlCommand("delete from Holidays where " +
                                         "UserId=@userId and [Date] between @d1 and @d2", conn);
         cmd.Parameters.AddWithValue("userId", pd.Id);
         cmd.Parameters.AddWithValue("d1", HollidayStart.SelectedDate);
         cmd.Parameters.AddWithValue("d2", HollidayEnd.SelectedDate.AddDays(1).AddSeconds(-1));
         cmd.ExecuteNonQuery();
         for (DateTime date = HollidayStart.SelectedDate; date < HollidayEnd.SelectedDate.AddDays(1);
              date = date.AddDays(1))
         {
             cmd = new SqlCommand("insert into Holidays " +
                                  "(UserId, [Date], HollidaysTypeId) " +
                                  "values (@userId, @date, @type)", conn);
             cmd.Parameters.AddWithValue("userId", pd.Id);
             cmd.Parameters.AddWithValue("date", date);
             cmd.Parameters.AddWithValue("type", bw.Id);
             cmd.ExecuteNonQuery();
             Msg.Text = string.Empty;
         }
     }
 }
Exemplo n.º 3
0
        protected void H2_Click(object sender, EventArgs e)
        {
            Base.PersonData pd = _workers.Find(delegate(Base.PersonData i)
            {
                return(i.Title == WorkerName.SelectedValue);
            });
            if (pd == null)
            {
                Msg.Text = "Ошибка сохранения";
                return;
            }
            Base.HoolidaysType type = _hollidaysType.Find(delegate(Base.HoolidaysType ht)
            {
                return(HollidaysType.SelectedValue == ht.Title);
            });
            if (type == null)
            {
                Msg.Text = "Ошибка сохранения";
                return;
            }
            if (Calendar3.SelectedDate < Calendar1.SelectedDate || Calendar3.SelectedDate > Calendar2.SelectedDate)
            {
                Msg.Text = "Ошибка сохранения";
                return;
            }
            using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
            {
                conn.Open();
                switch (type.Id)
                {
                case 5:     // сутки через трое
                    for (DateTime date = Calendar3.SelectedDate.AddDays(1); date < Calendar2.SelectedDate.AddDays(1); date = date.AddDays(1))
                    {
                        for (int i = 0; date < Calendar2.SelectedDate.AddDays(1) && i < 3; date = date.AddDays(1))
                        {
                            SetHolliday(date, pd.Id);
                            ++i;
                        }
                    }
                    break;

                case 6:     // два через два
                    for (DateTime date = Calendar3.SelectedDate; date < Calendar2.SelectedDate.AddDays(1); date = date.AddDays(3))
                    {
                        SetHolliday(date, pd.Id);
                        date = date.AddDays(1);
                        if (date > Calendar2.SelectedDate)
                        {
                            break;
                        }
                        SetHolliday(date, pd.Id);
                    }
                    break;

                case 7:     // неделя через неделю
                    for (DateTime date = Calendar3.SelectedDate; date < Calendar2.SelectedDate.AddDays(1); date = date.AddDays(7))
                    {
                        for (int i = 0; date < Calendar2.SelectedDate.AddDays(1) && i < 7; date = date.AddDays(1))
                        {
                            SetHolliday(date, pd.Id);
                            ++i;
                        }
                    }
                    break;

                case 8:     // две недели через две недели
                    for (DateTime date = Calendar3.SelectedDate; date < Calendar2.SelectedDate.AddDays(1); date = date.AddDays(14))
                    {
                        for (int i = 0; date < Calendar2.SelectedDate.AddDays(1) && i < 14; date = date.AddDays(1))
                        {
                            SetHolliday(date, pd.Id);
                            ++i;
                        }
                    }
                    break;
                }
                Msg.Text = string.Empty;
            }
        }