protected void DelegateBtn_Click(object sender, EventArgs e) { GridViewRow r = (sender as Button).NamingContainer as GridViewRow;//Get the row which has changed string SfId = r.Cells[1].Text; ViewState["delegateStaffID"] = SfId; string role = dac.getSfRoleIdBySfId(SfId); PanelDetail.Visible = true; if (role == "AuthStaff") { string sfname = dac.getSfNameBySfId(SfId); lblStaffName.Text = sfname; DelegateHistory sh = dac.getDelegateHistory(SfId); txtStartDate.Text = sh.Start_Date.ToString("dd/MM/yyyy"); txtEndDate.Text = sh.End_Date.ToString("dd/MM/yyyy"); btnDelgtConfirm.Text = "Confirm Undelegate"; } else { string sfname = dac.getSfNameBySfId(SfId); lblStaffName.Text = sfname; txtStartDate.Text = ""; txtEndDate.Text = ""; btnDelgtConfirm.Text = "Confirm Delegate"; } }
//get delegateHistory by staff id public DelegateHistory getDelegateHistory(string sfid) { var t = from x in ctx.DelegateHistories where x.Staff_ID == sfid select x; DelegateHistory dh = t.First(); return(dh); }
//get delegate authority end date public string getEndDate(string sfid) { var t = from x in ctx.DelegateHistories where x.Staff_ID == sfid select x; DelegateHistory delegateHistory = t.First(); DateTime endDay = delegateHistory.End_Date; return(endDay.ToString()); }
//create new delegate public void createDelegateHistory(string sfid, string managerId, DateTime startDate, DateTime endDate) { var t = from x in ctx.Staffs where x.Staff_ID == sfid select x; Staff sf = t.First(); sf.Role_ID = "AuthStaff"; DelegateHistory dh = new DelegateHistory(); dh.Manager_ID = managerId; dh.Staff_ID = sf.Staff_ID; dh.Start_Date = Convert.ToDateTime(startDate); dh.End_Date = Convert.ToDateTime(endDate); dh.Status = "Delegated"; ctx.DelegateHistories.Add(dh); ctx.SaveChanges(); }
//update delegate public void updateDelegateHistory(string sfid) { var t = from x in ctx.DelegateHistories where x.Staff_ID == sfid && x.Status == "Delegated" select x; DelegateHistory dh = t.First(); dh.Staff_ID = sfid; Staff sf = getStaffBySfId(sfid); sf.Role_ID = "Staff"; dh.Status = "Undelegated"; ctx.SaveChanges(); }