protected void gvAdvisorSchedule_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkButton _singleClickButton = (LinkButton)e.Row.Cells[0].Controls[0]; string _jsSingle = ClientScript.GetPostBackClientHyperlink(_singleClickButton, ""); if (Page.Validators.Count > 0) { _jsSingle = _jsSingle.Insert(11, "if(Page_ClientValidate())"); } for (int columnIndex = _FirstEditCellIndex; columnIndex < e.Row.Cells.Count; columnIndex++) { string js = _jsSingle.Insert(_jsSingle.Length - 2, columnIndex.ToString()); e.Row.Cells[columnIndex].Attributes["onclick"] = js; e.Row.Cells[columnIndex].Attributes["style"] += "cursor:pointer;cursor:hand;"; string DayAvailable = (string)DataBinder.Eval(e.Row.DataItem, "Day"); if (!(String.IsNullOrEmpty(DayAvailable.Trim()))) { e.Row.BackColor = System.Drawing.Color.Gray; e.Row.Cells[1].Text = DayAvailable; e.Row.Cells[1].BackColor = System.Drawing.Color.White; double MinutesPerSlot = 30; DataRow[] AvailableDays = AdvisorWeekSchedulesData.Select("Day='" + DayAvailable + "'"); if (AvailableDays != null) { DateTime StartTime, EndTime, CurrentTime; int TimeSlotTableIndex = 0; foreach (DataRow days in AvailableDays) { StartTime = Convert.ToDateTime(days["StartTime"].ToString()); EndTime = Convert.ToDateTime(days["EndTime"].ToString()).AddMinutes(-MinutesPerSlot); CurrentTime = StartTime; while (CurrentTime <= EndTime) { TimeSlotTableIndex = SlotsInDay.IndexOf(CurrentTime.ToShortTimeString()); if (TimeSlotTableIndex != -1) { e.Row.Cells[TimeSlotTableIndex + 2].BackColor = System.Drawing.Color.Green; } else { e.Row.Cells[TimeSlotTableIndex + 2].BackColor = System.Drawing.Color.Gray; } CurrentTime = CurrentTime.AddMinutes(MinutesPerSlot); } } } } } } }
private DataTable GetDailyAdvisorSchedule(string Day) { DataTable dtDaySchedule = null; try { dtDaySchedule = AdvisorWeekSchedulesData.Select("Day='" + Day + "' AND IsDeleted=0").CopyToDataTable(); } catch (Exception) { dtDaySchedule = null; } return(dtDaySchedule); }
protected void btnSaveSchedule_Click(object sender, EventArgs e) { try { string AdvisorScheduleID = lbAdvisorScheduleID.Text; string StartTime = ddlStartTime.Text; string EndTime = ddlEndTime.Text; if (Convert.ToInt32(this.lbAdvisorScheduleID.Text) != -1) { DataRow[] dtSampleData = AdvisorWeekSchedulesData.Select("AdvisorScheduleID='" + AdvisorScheduleID + "'"); dtSampleData[0]["Day"] = this.lblDayName.Text; dtSampleData[0]["StartTime"] = Convert.ToDateTime(StartTime).ToString("H:mm:ss"); dtSampleData[0]["EndTime"] = Convert.ToDateTime(EndTime).ToString("H:mm:ss"); dtSampleData[0]["IsDeleted"] = false; dtSampleData[0]["IsNew"] = false; dtSampleData[0]["IsAltered"] = true; AdvisorWeekSchedulesData.AcceptChanges(); } else { DataRow newAdvisorSchedule = AdvisorWeekSchedulesData.NewRow(); newAdvisorSchedule["Day"] = this.lblDayName.Text; newAdvisorSchedule["StartTime"] = Convert.ToDateTime(StartTime).ToString("H:mm:ss"); newAdvisorSchedule["EndTime"] = Convert.ToDateTime(EndTime).ToString("H:mm:ss"); newAdvisorSchedule["Week"] = this.ddlWeek.Text; newAdvisorSchedule["Year"] = this.ddlYear.Text; newAdvisorSchedule["AdvisorScheduleID"] = "-1"; newAdvisorSchedule["IsDeleted"] = false; newAdvisorSchedule["IsNew"] = true; newAdvisorSchedule["IsAltered"] = false; AdvisorWeekSchedulesData.Rows.Add(newAdvisorSchedule); } mpeScheduleMaintenance.Hide(); gvAdvisorSetSchedule.DataSource = DaysWithSlots; gvAdvisorSetSchedule.DataBind(); ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('Time Slots added Successfully');</script>"); } catch (Exception ex) { ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" + ex.Message.ToString().Replace("'", "") + "');</script>"); } }
protected void btnDeleteSchedule_Click(object sender, EventArgs e) { try { ImageButton btnDeleteSchedule = sender as ImageButton; GridViewRow row = (GridViewRow)btnDeleteSchedule.NamingContainer; gvUniqueID = row.UniqueID; GridViewRow gvMasterRow = (GridViewRow)row.Parent.Parent.Parent.Parent; string DaySelected = ((Label)(gvAdvisorSetSchedule.Rows[gvMasterRow.RowIndex].FindControl("lblDay"))).Text; Int32 AdvisorScheduleID = Convert.ToInt32(((Label)row.FindControl("lblAdvisorScheduleID")).Text); DataTable AdvisorScheduleTable = AdvisorWeekSchedulesData; foreach (DataRow drSchudule in AdvisorScheduleTable.Rows) { if (((Int32)drSchudule["AdvisorScheduleID"] == AdvisorScheduleID) && (drSchudule["Day"].ToString() == DaySelected)) { // drSchudule.Delete(); drSchudule["IsDeleted"] = true; drSchudule["IsNew"] = false; drSchudule["IsAltered"] = false; AdvisorWeekSchedulesData.AcceptChanges(); break; } } mpeScheduleMaintenance.Hide(); gvAdvisorSetSchedule.DataSource = DaysWithSlots; gvAdvisorSetSchedule.DataBind(); ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('Time Slots added Successfully');</script>"); } catch (Exception ex) { ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" + ex.Message.ToString().Replace("'", "") + "');</script>"); } }
protected void btnNewSchedule_Click(object sender, EventArgs e) { Button btnNewSchedule = sender as Button; GridViewRow row = (GridViewRow)btnNewSchedule.NamingContainer; gvUniqueID = row.UniqueID; GridViewRow gvMasterRow = (GridViewRow)row.Parent.Parent; string DaySelected = ((Label)(gvAdvisorSetSchedule.Rows[row.RowIndex].FindControl("lblDay"))).Text; double MinutesPerSlot = 30; DateTime CurrentTime; DataRow[] AvailableDays = AdvisorWeekSchedulesData.Copy().Select("Day='" + DaySelected + "'"); List <String> lstAdvisorTimeSlots = new List <string>(); foreach (DataRow days in AvailableDays) { DateTime StartTime = Convert.ToDateTime(days["StartTime"].ToString()); DateTime EndTime = Convert.ToDateTime(days["EndTime"].ToString()).AddMinutes(-MinutesPerSlot); CurrentTime = StartTime; while (CurrentTime <= EndTime) { lstAdvisorTimeSlots.Add(CurrentTime.ToString("hh:mm tt")); CurrentTime = CurrentTime.AddMinutes(MinutesPerSlot); } } DateTime DayStartTime = Convert.ToDateTime("8:00 AM"); DateTime DayEndTime = Convert.ToDateTime("5:00 PM"); DayEndTime = DayEndTime.AddMinutes(-MinutesPerSlot); CurrentTime = DayStartTime; ddlStartTime.Items.Clear(); ddlEndTime.Items.Clear(); while (CurrentTime <= DayEndTime) { if ((lstAdvisorTimeSlots.IndexOf(CurrentTime.ToShortTimeString())) == -1) { ListItem timeSlot = new ListItem(CurrentTime.ToString("hh:mm tt")); ListItem timeEndSlot = new ListItem(CurrentTime.ToString("hh:mm tt")); if (!(ddlStartTime.Items.Contains(timeSlot))) { ddlStartTime.Items.Add(timeSlot); ddlEndTime.Items.Add(timeEndSlot); } } CurrentTime = CurrentTime.AddMinutes(MinutesPerSlot); } this.lbAdvisorScheduleID.Text = "-1";; lblDayName.Text = DaySelected; this.lblDate.Text = GetSchedule.DayInWeekDate(DaySelected, Convert.ToInt32(ddlWeek.Text.ToString()), Convert.ToInt32(ddlYear.Text.ToString())).ToString("dd-MMM-yyyy"); this.btnSave.Visible = (Convert.ToInt32(GetSchedule.WeekNumber(DateTime.Now).ToString()) > Convert.ToInt32(this.ddlWeek.SelectedValue.ToString().Trim())) ? false: true; if (this.btnSave.Visible == true) { this.btnSave.Visible = (DateTime.Now.Year >= Convert.ToInt32(this.ddlYear.SelectedValue.ToString().Trim())) ? true: false; } mpeScheduleMaintenance.Show(); //show the modal popup extender }