//Отказать в отпуске protected void btReject_Click(object sender, EventArgs e) { try { if (DBConnection.idRecord != 0) { int selectedRow = gvVacation.SelectedRow.RowIndex; GridViewRow rows = gvVacation.SelectedRow; int vacationDays = Convert.ToInt32(rows.Cells[9].Text.ToString()); int cardID = Convert.ToInt32(rows.Cells[3].Text.ToString()); int cardDays = Convert.ToInt32(rows.Cells[15].Text.ToString()); int daysAmount = cardDays + vacationDays; DataProcedures procedures = new DataProcedures(); procedures.VacationList_Status_Update(DBConnection.idRecord, "Отклонен"); procedures.Days_Amount_Update(daysAmount, cardID); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Отпуск успешно отклонен.')", true); gvFill(QR); Cleaner(); btConfirm.Visible = false; btReject.Visible = false; DBConnection.idRecord = 0; } } catch { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Не удалось выполнить :(')", true); } }
protected void btDelete_Click(object sender, EventArgs e) { int days; //Дни для добавления к дням отпуска try { DataProcedures procedures = new DataProcedures(); //Количество дней GridViewRow rows = gvVacation.SelectedRow; days = Convert.ToInt32(rows.Cells[5].Text.ToString()); days += Convert.ToInt32(lbldaysAvailable.Text); ddlType.SelectedValue = rows.Cells[1].Text.ToString(); procedures.Days_Amount_Update(days, DBConnection.idUser); procedures.VacationList_Delete(DBConnection.idRecord); Cleaner(); gvFill(QR); pageDataFill(); Response.Redirect(Request.Url.AbsoluteUri); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Запись успешно удалена.')", true); } catch { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Не удалось удалить запись :(')", true); } }
protected void btInsert_Click(object sender, EventArgs e) { string selectedType = ddlType.SelectedItem.Text; DataProcedures procedures = new DataProcedures(); //Дата начала DateTime theDate = DateTime.ParseExact(tbStartDate.Text, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); string startDate = theDate.ToString("dd.MM.yyyy"); //Дата окончания DateTime theDate1 = DateTime.ParseExact(tbEndDate.Text, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); string endDate = theDate1.ToString("dd.MM.yyyy"); DateTime dateNow = DateTime.UtcNow.Date; //Расчёт 2 недель TimeSpan weeks = theDate - dateNow; double twoWeeks = weeks.TotalDays; //Расчёт количества дней TimeSpan days = theDate1 - theDate; double daysAmount = days.TotalDays; //Кол-во дней //Первая дата > второй даты if (theDate > theDate1) { alert.Visible = true; liCorrectDate.Visible = true; } else { liCorrectDate.Visible = false; //Проверка, что до отпуска >2 недель if (Convert.ToInt32(twoWeeks) < 14) { alert.Visible = true; liIntervalError.Visible = true; } else { liIntervalError.Visible = false; //Проверка количетсва доступных дней if (Convert.ToInt32(lbldaysAvailable.Text) < daysAmount) { alert.Visible = true; liDaysAmountError.Visible = true; } else { liDaysAmountError.Visible = false; alert.Visible = false; try { int vacatinDays = Convert.ToInt32(lbldaysAvailable.Text) - Convert.ToInt32(daysAmount); procedures.VacationList_Insert(startDate, endDate, dateNow.ToString(), "Ожидание", Convert.ToInt32(daysAmount), Convert.ToInt32(ddlType.SelectedValue), DBConnection.idUser); procedures.Days_Amount_Update(vacatinDays, DBConnection.idUser); Cleaner(); gvFill(QR); pageDataFill(); Response.Redirect(Request.Url.AbsoluteUri); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('" + selectedType + ", успешно добавлен. Ожидайте подтверждения отпуска руководителем.')", true); } catch { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Не удалось добавить запись :(')", true); } } } } }