this is my ASPX code
<%@ Page Title="Add Adhoc" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="AddAdhocRoster.aspx.cs" Inherits="AddAdhocRoster" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="Act" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server">
<script type="text/javascript">
function CheckBoxListValidator(source, arguments) {
var Control;
Control = document.getElementById(source).getElementsByTagName("input");
var check = false;
if (eval(Control)) {
for (var i = 0; i < Control.length; i++) {
if (Control[i].tagName == 'INPUT') {
if (Control[i].checked) {
check = true;
}
}
}
if (!check)
arguments.IsValid = false;
else
arguments.IsValid = true;
}
}
function DownloadTemplate() {
var win = window.open('../Roster/Download/UploadRoster.xlsx', '', '');
return false;
}
var updateProgress = null;
function postbackButtonClick() {
updateProgress = $find("<%= UpdateProgress2.ClientID %>");
window.setTimeout("updateProgress.set_visible(true)", updateProgress.get_displayAfter());
return true;
}
</script>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
<asp:Panel ID="pnlMessage" runat="server" Visible="false">
You are not eligible for adding adhoc request.
You have opt-out for transport facility
<asp:Panel ID="pnlPage" runat="server">
<asp:UpdateProgress ID="UpdateProgsress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<progresstemplate>
<%--<img src="~/Images/Loading.gif" alt="" />--%>
<asp:Image ImageUrl="~/Images/Loading.gif" runat="server" ID="Lodingimg" Style="position: absolute; top: 140px; left: 30px;" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<contenttemplate>
<asp:RadioButton ID="rbtSingle" runat="server" Visible="false" CssClass="bulkcss"
Checked="true" Text="Single" OnCheckedChanged="rbtSingle_CheckedChanged" AutoPostBack="true" />
<asp:RadioButton ID="rbtBulk" runat="server" Visible="false" CssClass="bulkcss"
Text="Bulk Adhoc Upload" OnCheckedChanged="rbtBulk_CheckedChanged" AutoPostBack="true" />
|
<asp:Panel ID="pnlsingle" runat="server">
<table id="tblEmpProc" runat="server" cellpadding="2" cellspacing="1" style="border-collapse: collapse;" class="page-tbl">
Select Site
<asp:DropDownList ID="ddlSite" AutoPostBack="true" runat="server" OnSelectedIndexChanged="ddlSite_SelectedIndexChanged"
ValidationGroup="Add-DisplayAdhoc">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="Please select Site"
ValidationGroup="Add-DisplayAdhoc" SetFocusOnError="true" InitialValue="" ControlToValidate="ddlSite"
ForeColor="#CC3300">
Select Process
<asp:DropDownList ID="ddlProcess" Enabled="false" AutoPostBack="true" runat="server"
OnSelectedIndexChanged="ddlProcess_SelectedIndexChanged" ValidationGroup="Add-DisplayAdhoc">
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="Please select Process"
ValidationGroup="Add-DisplayAdhoc" SetFocusOnError="true" InitialValue="" ControlToValidate="ddlProcess"
ForeColor="#CC3300">
<table id="tblTMSelf" runat="server" cellpadding="2" cellspacing="1" width="100%" style="border-collapse: collapse;" visible="true" class="page-tbl">
Adhoc For
<asp:DropDownList ID="ddlTMSelf" runat="server" ValidationGroup="Add-DisplayAdhoc"
AutoPostBack="True"
OnSelectedIndexChanged="ddlTMSelf_SelectedIndexChanged">
<asp:ListItem Value="select">-Select-
<asp:ListItem Value="Self">Self
<asp:ListItem Value="Team-Member">Team Member
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Please select Adhoc For"
ValidationGroup="Add-DisplayAdhoc" SetFocusOnError="true" InitialValue="select" ControlToValidate="ddlTMSelf"
ForeColor="#CC3300">
<table id="tblapprover" runat="server" cellpadding="2" cellspacing="1" width="100%" style="border-collapse: collapse;" visible="true" class="page-tbl">
Select Approver
<asp:DropDownList ID="ddlApprover" runat="server" ValidationGroup="Add-DisplayAdhoc"
AutoPostBack="True">
<%--<asp:RequiredFieldValidator ID="RequiredFieldValidatorApprover" runat="server" ErrorMessage="Please select approver"
ValidationGroup="Add-DisplayAdhoc" SetFocusOnError="true" InitialValue="" ControlToValidate="ddlApprover"
ForeColor="#CC3300" Visible="false">--%>
<asp:CustomValidator ID="CustomApprovervalidator" runat="server" ControlToValidate="ddlApprover"
ErrorMessage="Please select approver" ForeColor="#CC3300" OnServerValidate="CustomApprovervalidator_ServerValidate"
ValidationGroup="Add-DisplayAdhoc" EnableClientScript="False" ValidateEmptyText="True">
<table id="tblCUser" runat="server" cellpadding="2" cellspacing="1" width="100%" style="border-collapse: collapse;" visible="true" class="page-tbl">
isNew Employee
<asp:DropDownList ID="rdNewEmployee" runat="server" OnSelectedIndexChanged="rdNewEmployee_SelectedIndexChanged"
AutoPostBack="true">
<asp:ListItem Value="0">No
<asp:ListItem Value="1">Yes
<table id="tblOEmp" runat="server" cellpadding="2" cellspacing="1" width="100%" style="border-collapse: collapse;" visible="true" class="page-tbl">
Select Employee's
<asp:CheckBoxList ID="cbEmployees" AutoPostBack="true" runat="server" Enabled="false"
ValidationGroup="Add-DisplayAdhoc" RepeatColumns="6" CellSpacing="2" RepeatDirection="Vertical"
Width="100%" BorderWidth="0" TextAlign="Right" OnSelectedIndexChanged="cbEmployees_SelectedIndexChanged">
<asp:Label ID="lblSelEmployee" runat="server" ForeColor="#CC3300">
<%--<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate=""
ErrorMessage="Please select approver" ForeColor="#CC3300" ValidationGroup="Add-DisplayAdhoc" EnableClientScript="True" ClientValidationFunction="CheckBoxListValidator(this, arguments);" ValidateEmptyText="True">--%>
<table id="tblEmployeeList" runat="server" cellpadding="2" cellspacing="1" width="100%" style="border-collapse: collapse;" visible="false" class="page-tbl">
Employee Name
<asp:TextBox ID="txtEmpName" runat="server" ValidationGroup="Add-DisplayRoster">
Employee Address
<asp:TextBox ID="txtAddress" runat="server" MaxLength="200" Rows="3" TextMode="MultiLine"
ValidationGroup="Add-DisplayAdhoc" Width="500px">
<tr runat="server" id="trtRemarks" visible="false">
Adhoc Type
| <asp:DropDownList ID="ddlAdhocType" runat="server" ValidationGroup="Add-DisplayAdhoc">
<asp:ListItem Text="- Select -" Value="">
<asp:ListItem Text="Pickup" Value="1">
<asp:ListItem Text="Drop" Value="2">
<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ErrorMessage="Please select Adhoc Type"
ValidationGroup="Add-DisplayAdhoc" SetFocusOnError="true" InitialValue="" ControlToValidate="ddlAdhocType"
ForeColor="#CC3300">
| Adhoc Roster Date
| <asp:TextBox ID="txtRStartDate" runat="server" ValidationGroup="Add-DisplayRoster">
<Act:MaskedEditExtender ID="txtRStartDate_MaskedEditExtender" runat="server" TargetControlID="txtRStartDate"
Mask="99/99/9999" InputDirection="LeftToRight" MessageValidatorTip="False" AutoComplete="False"
>
<Act:CalendarExtender ID="calRStartDate" runat="server" TargetControlID="txtRStartDate"
CssClass="ajax__calendar" Format="MM/dd/yyyy" ClearTime="false" PopupButtonID="imgDatepicker">
<img id="imgDatepicker" src="Images/DatePicker1.gif" />
<Act:MaskedEditValidator ID="MaskedEditValidator12" runat="server" ControlToValidate="txtRStartDate"
IsValidEmpty="false" ControlExtender="txtRStartDate_MaskedEditExtender" Display="Dynamic"
EmptyValueMessage="Please select Adhoc Date" ValidationGroup="Add-DisplayAdhoc"
InvalidValueMessage="Invalid Date" ForeColor="#CC3300">
|
Adhoc Roster Time
| <asp:TextBox ID="txtAdhocRosterTime" runat="server" ValidationGroup="Add-DisplayRoster">
<Act:MaskedEditExtender ID="txtAdhocRosterTime_MaskedEditExtender" runat="server"
TargetControlID="txtAdhocRosterTime" Mask="99:99" MaskType="Time" ClearTextOnInvalid="True"
UserTimeFormat="TwentyFourHour">
<Act:MaskedEditValidator ID="MaskedEditValidator11" ControlExtender="txtAdhocRosterTime_MaskedEditExtender"
runat="server" ControlToValidate="txtAdhocRosterTime" IsValidEmpty="false" InvalidValueMessage="Please enter time in 24 hrs format"
Display="Dynamic" ForeColor="#CC3300" ValidationGroup="Add-DisplayAdhoc">
| Remarks
| <asp:TextBox ID="txtReason" MaxLength="300" runat="server" ValidationGroup="Add-DisplayAdhoc"
Width="400px" Rows="3" TextMode="MultiLine">
|
Transport Remarks
| <asp:TextBox ID="txtTransportRemarks" MaxLength="300" runat="server" ValidationGroup="Add-DisplayAdhoc"
Width="400px" Rows="3" Visible="false" TextMode="MultiLine">
| |
| <asp:Button ID="btnAddRoster" runat="server" Text="Add Adhoc Roster" ValidationGroup="Add-DisplayAdhoc"
OnClick="btnAddRoster_Click" />
|
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<contenttemplate>
<asp:Panel ID="pnlbulk" runat="server" Visible="false">
<asp:Label ID="Label2" Text="Note" runat="server" Font-Bold="True" ForeColor="Red">
| |
| <asp:Label ID="lblnote" Text="This page is only for Home pickup and Home Drop." runat="server" ForeColor="#FF3300">
|
| <asp:Label ID="Label1" Text="If you have any query please contact transport Admin." runat="server" ForeColor="#FF3300">
|
<asp:Label ID="lblMessage" runat="server" Text="" Width="100%">
<asp:ValidationSummary ID="ValidationSummary1" ShowValidationErrors="true" runat="server" ForeColor="Red" ValidationGroup="upload" />
<asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="UpdatePanel2">
<progresstemplate>
<%--<img src="~/Images/Loading.gif" alt="" />--%>
<asp:Image ImageUrl="~/Images/Loading.gif" runat="server" ID="Lodingimg2" />
Select File:
<asp:FileUpload ID="FileUploadRosterAdhoc" runat="server" />
<asp:Button ID="btnUpload" runat="server" Text="Upload" ValidationGroup="upload"
OnClick="btnUpload_Click" />
<asp:Button ID="btnDownloadTemplate" runat="server" Text="Download Template" OnClientClick="DownloadTemplate();" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="FileUploadRosterAdhoc"
ValidationExpression=".+(.xls|.XLS|.xlsx|.XLSX )$" Display="None" ErrorMessage="Please select valid file format."
ValidationGroup="upload">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ErrorMessage="Please select file to upload." ControlToValidate="FileUploadRosterAdhoc" ValidationGroup="upload" Display="None">
<asp:Button ID="btnExporttoExcel" runat="server" Text="Export(Excel)" UseSubmitBehavior="true" Visible="false"
OnClick="btnExporttoExcel_Click" />
<asp:GridView ID="grdViewEmployee" Width="100%" runat="server" AllowPaging="false" AutoGenerateColumns="false"
GridLines="None" ShowHeaderWhenEmpty="True" CssClass="GridView" CellSpacing="0" OnRowDataBound="grdViewEmployee_RowDataBound"
CellPadding="2" ShowFooter="true" DataKeyNames="EmployeeCode,AdhocDate">
<footerstyle cssclass="dataGridHeader">
<rowstyle cssclass="dataGridItem">
<SelectedRowStyle CssClass="dataGridSelectedItemStyle" />
<pagerstyle cssclass="dataGridPagerStyle">
<HeaderStyle CssClass="dataGridHeader" />
<alternatingrowstyle cssclass="dataGridAltItem">
<emptydatarowstyle cssclass="dataGridEmptyItemStyle">
<columns> <asp:TemplateField>
<itemtemplate>
<asp:CheckBox ID="chk" runat="server" Checked='<%# Eval("chk") %>' />
<asp:BoundField DataField="EmployeeCode" HeaderText="Employee Code" />
<asp:BoundField DataField="EmployeeName" HeaderText="Employee Name" />
<asp:BoundField DataField="AdhocDate" HeaderText="Date" DataFormatString="{0:dd-M-yyyy}" />
<asp:BoundField DataField="AdhocTime" HeaderText="Time" DataFormatString="{0:t}" />
<asp:BoundField DataField="Error" HeaderText="Error" />
<asp:Button ID="btnSaveData" runat="server" Text="Submit" Visible="false"
OnClick="btnSaveData_Click" />
|
<asp:Label ID="lblMsg" runat="server">
|
<triggers> <asp:PostBackTrigger ControlID="btnUpload" />
<%--<asp:AsyncPostBackTrigger ControlID="btnUpload" />--%>
C#----
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Web.UI.HtmlControls;
using Microsoft.ApplicationBlocks.Data;
using BLL;
using DAL;
using System.Collections;
using System.IO;
using System.Data.OleDb;
using System.Threading;
public partial class AddAdhocRoster : System.Web.UI.Page
{
EmployeeBO objEmployeeBO = new EmployeeBO();
RosterAdhoc objAdhoc = new RosterAdhoc();
public DateTime RosterStartdate = DateTime.Today;
public DateTime RosterEnddate = DateTime.Today;
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(this.btnExporttoExcel);
Page.Form.Attributes.Add("enctype", "multipart/form-data");
try
{
if (Session["LoginEmployee"] != null)
{
btnAddRoster.Enabled = true;
if (!IsPostBack)
{
SetRoleBasedView();
}
if (IsPostBack)
{
if (txtRStartDate.Text.Length > 0)
calRStartDate.SelectedDate = DateTime.ParseExact(txtRStartDate.Text, calRStartDate.Format, null);
}
}
else
{
Response.Redirect("SessionExpired.aspx", false);
}
}
catch (Exception ex)
{
lblMsg.CssClass = "error";
lblMsg.Text = ex.Message.ToString();
}
Page.Title = "Add Adhoc";
}
protected void SetRoleBasedView()
{
if (Session["LoginEmployee"] != null)
{
DataTable processAdmin = objEmployeeBO.GetProcessAdminById(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString());
string ProcessAdminEID = string.Empty;
Session["Adminprocess"] = null;
if (processAdmin != null && processAdmin.Rows.Count > 0)
{
ProcessAdminEID = processAdmin.Rows[0]["EmployeeCode"].ToString();
Session["Adminprocess"] = processAdmin.Rows[0]["ProcessName"].ToString();
}
else
{
ProcessAdminEID = string.Empty;
Session["Adminprocess"] = null;
}
if (!string.IsNullOrEmpty(ProcessAdminEID))
{
rbtBulk.Visible = true;
rbtSingle.Visible = true;
}
pnlMessage.Visible = false;
pnlPage.Visible = true;
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager"))
{
rbtBulk.Visible = rbtSingle.Visible = true;
BindLocation(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li in ddlSite.Items)
{
if (li.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString())
{
li.Selected = true;
ddlSite.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString();
ddlSite.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteName;
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li1 in ddlProcess.Items)
{
if (li1.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString())
{
li1.Selected = true;
ddlProcess.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString();
ddlProcess.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).OrganisationalUnitName;
break;
}
}
break;
}
}
if (ddlSite.SelectedValue == "")
{
if (ddlSite.Items.Count > 2 || ddlSite.Items.Count == 2)
{
foreach (ListItem li in ddlSite.Items)
{
li.Selected = false;
}
ddlSite.Items[1].Selected = true;
ddlSite.SelectedItem.Value = ddlSite.Items[1].Value.ToString();
ddlSite.Text = ddlSite.Items[1].Text.ToString();
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li1 in ddlProcess.Items)
{
li1.Selected = false;
}
ddlProcess.Items[1].Selected = true;
ddlProcess.SelectedItem.Value = ddlProcess.Items[1].Value.ToString();
ddlProcess.Text = ddlProcess.Items[1].Text.ToString();
}
}
BindApproverList(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString());
if (ddlSite.SelectedValue != "")
{
BindProcessEmployees(null);
}
if (ddlSite.Items.Count > 2)
{
ddlSite.Enabled = true;
if (ddlProcess.Items.Count > 2)
ddlProcess.Enabled = true;
}
else if (ddlSite.Items.Count == 2 && (ddlProcess.Items.Count > 2))
{
ddlSite.Enabled = false;
ddlProcess.Enabled = true;
}
else
{
ddlSite.Enabled = false;
ddlProcess.Enabled = false;
}
tblCUser.Visible = false;
tblOEmp.Visible = false;
if (((View_EmployeeMaster)Session["LoginEmployee"]).IsActive == true && ((View_EmployeeMaster)Session["LoginEmployee"]).AvailingTransport == false)
{
ddlTMSelf.Items.Remove("Self");
tblapprover.Visible = false;
}
else
{
tblapprover.Visible = true;
}
}
else if (htRoles.Contains("administrator"))
{
BindApproverList(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString());
if (Convert.ToInt32(((View_EmployeeMaster)Session["LoginEmployee"]).RoleID.ToString()) == 2)
{
BindLocation(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li in ddlSite.Items)
{
if (li.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString())
{
li.Selected = true;
ddlSite.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString();
ddlSite.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteName;
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li1 in ddlProcess.Items)
{
if (li1.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString())
{
li1.Selected = true;
ddlProcess.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString();
ddlProcess.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).OrganisationalUnitName;
break;
}
}
break;
}
}
if (ddlSite.SelectedValue == "")
{
if (ddlSite.Items.Count > 2 || ddlSite.Items.Count == 2)
{
foreach (ListItem li in ddlSite.Items)
{
li.Selected = false;
}
ddlSite.Items[1].Selected = true;
ddlSite.SelectedItem.Value = ddlSite.Items[1].Value.ToString();
ddlSite.Text = ddlSite.Items[1].Text.ToString();
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li1 in ddlProcess.Items)
{
li1.Selected = false;
}
ddlProcess.Items[1].Selected = true;
ddlProcess.SelectedItem.Value = ddlProcess.Items[1].Value.ToString();
ddlProcess.Text = ddlProcess.Items[1].Text.ToString();
}
}
if (ddlSite.SelectedValue != "")
{
BindProcessEmployees(null);
}
if (ddlSite.Items.Count > 2)
{
ddlSite.Enabled = true;
if (ddlProcess.Items.Count > 2)
ddlProcess.Enabled = true;
}
else if (ddlSite.Items.Count == 2 && (ddlProcess.Items.Count > 2))
{
ddlSite.Enabled = false;
ddlProcess.Enabled = true;
}
else
{
ddlSite.Enabled = false;
ddlProcess.Enabled = false;
}
tblCUser.Visible = false;
tblOEmp.Visible = false;
if (((View_EmployeeMaster)Session["LoginEmployee"]).IsActive == true && ((View_EmployeeMaster)Session["LoginEmployee"]).AvailingTransport == false)
{
ddlTMSelf.Items.Remove("Self");
tblapprover.Visible = false;
}
else
{
tblapprover.Visible = true;
}
}
else if (Convert.ToInt32(((View_EmployeeMaster)Session["LoginEmployee"]).RoleID.ToString()) == 3)
{
BindLocation(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 2);
foreach (ListItem li in ddlSite.Items)
{
if (li.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString())
{
li.Selected = true;
ddlSite.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString();
ddlSite.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteName;
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 2);
foreach (ListItem li1 in ddlProcess.Items)
{
if (li1.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString())
{
li1.Selected = true;
ddlProcess.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString();
ddlProcess.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).OrganisationalUnitName;
break;
}
}
break;
}
}
ddlProcess.Enabled = false;
ddlSite.Enabled = false;
tblapprover.Visible = true;
tblCUser.Visible = false;
tblOEmp.Visible = false;
tblTMSelf.Visible = false;
}
}
else
{
BindLocation(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 2);
foreach (ListItem li in ddlSite.Items)
{
if (li.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString())
{
li.Selected = true;
ddlSite.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString();
ddlSite.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteName;
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 2);
foreach (ListItem li1 in ddlProcess.Items)
{
if (li1.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString())
{
li1.Selected = true;
ddlProcess.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString();
ddlProcess.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).OrganisationalUnitName;
break;
}
}
break;
}
}
BindApproverList(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString());
ddlProcess.Enabled = false;
ddlSite.Enabled = false;
tblapprover.Visible = true;
tblCUser.Visible = false;
tblOEmp.Visible = false;
tblTMSelf.Visible = false;
}
}
}
}
protected void ResetFields()
{
BindLocation(string.Empty, 0);
ddlProcess.Items.Clear();
ddlProcess.Enabled = false;
cbEmployees.Items.Clear();
cbEmployees.Enabled = false;
}
protected void DisableFields()
{
ddlSite.Items.Clear();
ddlSite.Enabled = false;
ddlProcess.Items.Clear();
ddlProcess.Enabled = false;
cbEmployees.Items.Clear();
cbEmployees.Enabled = false;
ddlAdhocType.Enabled = false;
txtAdhocRosterTime.Enabled = false;
txtReason.Enabled = false;
}
protected void calRStartDate_DateChanged(object sender, EventArgs e)
{
txtRStartDate.Text = calRStartDate.SelectedDate.ToString();
}
protected void BindApproverList(string employeeCode)
{
ddlApprover.Items.Clear();
ddlApprover.DataSource = objEmployeeBO.GetApproverList(employeeCode);
ddlApprover.DataTextField = "EmployeeName";
ddlApprover.DataValueField = "ApproverCodeEmail";
ddlApprover.DataBind();
if (ddlApprover.Items.Count > 0)
{
ddlApprover.Items.Insert(0, new ListItem("- Select -", ""));
ddlApprover.SelectedIndex = 0;
}
}
protected void BindLocation(string EmployeeID, int type)
{
ddlSite.Items.Clear();
if (type == 0)
{
ddlSite.DataSource = objEmployeeBO.GetSites();
ddlSite.DataTextField = "SiteName";
ddlSite.DataValueField = "ID";
ddlSite.DataBind();
ddlSite.Items.Insert(0, new ListItem("- Select -", ""));
ddlSite.Enabled = false;
}
else if (type == 1)
{
string SupervisorID = EmployeeID;
ddlSite.DataSource = objEmployeeBO.GetSitesByRM(SupervisorID);
ddlSite.DataTextField = "SiteName";
ddlSite.DataValueField = "SiteID";
ddlSite.DataBind();
ddlSite.Items.Insert(0, new ListItem("- Select -", ""));
ddlSite.Enabled = true;
ddlProcess.Enabled = true;
}
else if (type == 2)
{
ddlSite.DataSource = objEmployeeBO.GetSiteByEmployee(EmployeeID);
ddlSite.DataTextField = "SiteName";
ddlSite.DataValueField = "SiteID";
ddlSite.DataBind();
ddlSite.Items.Insert(0, new ListItem("- Select -", ""));
ddlSite.Enabled = false;
ddlProcess.Enabled = false;
}
}
protected void BindProcess(string EmployeeID, int RoleType)
{
ddlProcess.Items.Clear();
if (RoleType == 0 && ddlSite.SelectedItem.Value != "")
{
ddlProcess.DataSource = objEmployeeBO.GetProcess(Convert.ToInt64(ddlSite.SelectedItem.Value));
ddlProcess.DataTextField = "OrganisationalUnitName";
ddlProcess.DataValueField = "ID";
ddlProcess.DataBind();
ddlProcess.Items.Insert(0, new ListItem("- Select -", ""));
}
else if (RoleType == 1 && ddlSite.SelectedItem.Value != "")
{
string SupervisorID = EmployeeID;
ddlProcess.DataSource = objEmployeeBO.GetProcessByRM(SupervisorID, Convert.ToInt32(ddlSite.SelectedItem.Value));
ddlProcess.DataTextField = "OrganisationalUnitName";
ddlProcess.DataValueField = "OrgUnitID";
ddlProcess.DataBind();
ddlProcess.Items.Insert(0, new ListItem("- Select -", ""));
}
else if (RoleType == 2 && ddlSite.SelectedItem.Value != "")
{
ddlProcess.DataSource = objEmployeeBO.GetProcessByEmployee(EmployeeID);
ddlProcess.DataTextField = "OrganisationalUnitName";
ddlProcess.DataValueField = "OrgUnitID";
ddlProcess.DataBind();
ddlProcess.Items.Insert(0, new ListItem("- Select -", ""));
}
}
protected void BindProcessEmployees(Hashtable htRoles = null)
{
cbEmployees.Items.Clear();
List<long> OrgunitID = new List<long>();
foreach (ListItem li in ddlProcess.Items)
{
if (li.Selected == true && li.Value != "")
{
OrgunitID.Add(Convert.ToInt64(li.Value));
break;
}
}
if (htRoles == null && ddlSite.SelectedItem.Value != "")
{
cbEmployees.DataSource = objEmployeeBO.GetEmployeesByOrgUnit(OrgunitID, Convert.ToInt64(ddlSite.SelectedItem.Value), ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode);
}
else if (htRoles.Contains("administrator") && ddlSite.SelectedItem.Value != "")
{
cbEmployees.DataSource = objEmployeeBO.GetEmployeesByOrgUnit(OrgunitID, Convert.ToInt64(ddlSite.SelectedItem.Value), string.Empty);
}
cbEmployees.DataTextField = "EmployeeName";
cbEmployees.DataValueField = "EmployeeCode";
cbEmployees.DataBind();
if (cbEmployees.Items.Count > 0)
{
cbEmployees.Enabled = true;
cbEmployees.Items.Insert(0, new ListItem("Select All", "-1"));
}
}
protected void ddlSite_SelectedIndexChanged(object sender, EventArgs e)
{
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager"))
{
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
}
else
{
BindProcess(string.Empty, 0);
}
}
else
{
BindProcess(string.Empty, 0);
}
}
protected void ddlProcess_SelectedIndexChanged(object sender, EventArgs e)
{
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains(("User".ToLower())))
{
View_EmployeeMaster objEmp = (View_EmployeeMaster)Session["LoginEmployee"];
BindApproverList(objEmp.EmployeeCode);
}
else
{
BindProcessEmployees(htRoles);
if (cbEmployees.Items.Count > 0)
{
tblapprover.Visible = false;
}
}
}
else
{
BindProcessEmployees(null);
if (cbEmployees.Items.Count > 0)
{
tblapprover.Visible = false;
BindApproverList(cbEmployees.Items[0].Value.ToString());
}
}
}
protected void cbEmployees_SelectedIndexChanged(object sender, EventArgs e)
{
lblSelEmployee.Text = "";
foreach (ListItem li in cbEmployees.Items)
{
if (li.Selected == true)
{
if (Convert.ToInt32(li.Value) == -1)
{
foreach (ListItem li1 in cbEmployees.Items)
{
li1.Selected = true;
}
ViewState["boolAllChecked"] = 1;
break;
}
else
{
break;
}
}
else if (li.Selected == false)
{
if (Convert.ToInt32(li.Value) == -1 && Convert.ToInt32(ViewState["boolAllChecked"]) == 1)
{
foreach (ListItem li1 in cbEmployees.Items)
{
li1.Selected = false;
}
ViewState["boolAllChecked"] = 0; break;
}
}
}
}
protected void btnAddRoster_Click(object sender, EventArgs e)
{
lblMsg.Text = "";
Hashtable htRoles = new Hashtable();
try
{
if (Page.IsValid)
{
bool chkEmpSelected = false;
if (ddlTMSelf.SelectedValue.ToLower().Equals("team-member"))
{
foreach (ListItem li in cbEmployees.Items)
{
if (li.Selected == true)
{
chkEmpSelected = true;
break;
}
}
if (!chkEmpSelected)
{
lblSelEmployee.CssClass = "error";
lblSelEmployee.Text = "Please Select Employee.";
cbEmployees.Focus();
return;
}
}
DateTime Startdate = DateTime.Now.Date; DateTime Enddate = calRStartDate.SelectedDate.Value;
TimeSpan span = Enddate.Subtract(Startdate);
if (span.Days >= 0)
{
btnAddRoster.Enabled = false;
string siteTransportEmailAddress = string.Empty;
string selectedSite = ddlSite.SelectedItem.Text;
if (selectedSite.ToLower().Equals("pune"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["PuneDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("andheri"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["AndheriDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("vikhroli"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["VikhroliDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("thane"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["ThaneDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("bangalore"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["BangaloreDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("pune kn"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["KNDeskMail"].ToString();
}
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
string websiteURL = ConfigurationManager.AppSettings["WebSiteURL"].ToString();
string emailFilePath = websiteURL + "/ViewAdhocRoster.aspx?Action=EMail&ReferenceID=";
if (htRoles.Contains("administrator"))
{
if (Convert.ToInt32(((View_EmployeeMaster)Session["LoginEmployee"]).RoleID.ToString()) == 2)
{
SaveAdhocTeamManager(emailFilePath, siteTransportEmailAddress);
}
else if (Convert.ToInt32(((View_EmployeeMaster)Session["LoginEmployee"]).RoleID.ToString()) == 3)
{
SaveAdhocUser(emailFilePath, siteTransportEmailAddress);
}
}
else if (htRoles.Contains("team-manager"))
{
SaveAdhocTeamManager(emailFilePath, siteTransportEmailAddress);
}
else
{
SaveAdhocUser(emailFilePath, siteTransportEmailAddress);
}
}
}
else
{
lblMsg.CssClass = "error";
lblMsg.Text = "Warning : Adhoc Date should be equal to Today Date or greater than Today Date!";
}
}
}
catch (Exception ex)
{
lblMsg.CssClass = "error";
lblMsg.Text = ex.Message.ToString();
}
}
protected void rdNewEmployee_SelectedIndexChanged(object sender, EventArgs e)
{
if (rdNewEmployee.SelectedItem.Value == "1")
{
tblEmployeeList.Visible = true;
tblOEmp.Visible = false;
tblapprover.Visible = false;
}
else
{
tblOEmp.Visible = true;
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager") && ddlTMSelf.SelectedItem.Value.ToLower().Equals("self"))
{
tblapprover.Visible = true;
}
else
{
tblapprover.Visible = false;
}
}
else
{
tblapprover.Visible = false;
}
tblEmployeeList.Visible = false;
}
}
protected void CustomApprovervalidator_ServerValidate(object source, ServerValidateEventArgs args)
{
if (rdNewEmployee.SelectedValue.ToString().Equals("2"))
{
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager") || htRoles.Contains("administrator"))
{
args.IsValid = true;
}
}
}
else
{
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("user") || htRoles.Contains("team-manager") || htRoles.Contains("administrator"))
{
if (ddlApprover.SelectedIndex > 0)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
else
{
args.IsValid = false;
}
}
}
}
protected void ddlSubProcess_SelectedIndexChanged(object sender, EventArgs e)
{
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains(("user")))
{
View_EmployeeMaster objEmp = (View_EmployeeMaster)Session["LoginEmployee"];
BindApproverList(objEmp.EmployeeCode);
}
else
{
BindProcessEmployees(null);
BindApproverList(cbEmployees.Items[0].Value.ToString());
}
}
else
{
BindProcessEmployees(null);
BindApproverList(cbEmployees.Items[0].Value.ToString());
}
}
protected void CustomValidatorsubprocess_ServerValidate(object source, ServerValidateEventArgs args)
{
}
protected void ddlTMSelf_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlTMSelf.SelectedItem.Value.ToLower().Equals("team-member"))
{
tblapprover.Visible = false;
BindProcessEmployees(null);
tblCUser.Visible = true;
tblOEmp.Visible = true;
tblEmployeeList.Visible = false;
}
else if (ddlTMSelf.SelectedItem.Value.ToLower().Equals("self"))
{
tblapprover.Visible = true;
tblCUser.Visible = false;
tblOEmp.Visible = false;
tblEmployeeList.Visible = false;
}
else if (ddlTMSelf.SelectedItem.Value.ToLower().Equals("select"))
{
tblOEmp.Visible = false;
tblCUser.Visible = false;
}
}
protected void SaveAdhocAdmin(string emailFilePath, string siteTransportEmailAddress)
{
if (tblCUser.Visible == false)
{
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.EmployeeCode = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1;
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
lblMsg.Text = "Adhoc Successfully Added!";
if (os.InsertedRowID > 0)
{
string MailBody = "";
MailBody = "Hi," +
"<p>New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for self.<br /> (Employee Code: " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode + ") Process : " + ddlProcess.SelectedItem.Text + "<br />" +
"Requesting you to Approve/Reject for further process.<br />" +
"<br /><br />" +
"You can access the request by clicking on " +
"<a href='" + emailFilePath + Convert.ToString(os.InsertedRowID) + "'>WBR</a>" +
"<br /><br />" +
"<b>Regards," +
"<br />" +
"Transport Team</b>" +
"<br /><br /><br /><br /><center><i>This is a system generated e-mail. Please do not reply to this e-mail.</i><br />" +
"<font size=2>Capita India- Application Services Team</font></center>";
WBREmail mail = new WBREmail();
string HeadName, HeadEmail = string.Empty;
HeadName = ddlApprover.SelectedItem.Text.ToString();
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
HeadEmail = ddlApprover.SelectedItem.Value.Split('-')[1];
}
else
{
HeadEmail = ddlApprover.SelectedItem.Value;
}
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), HeadName, HeadEmail,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
}
}
else if (rdNewEmployee.SelectedItem.Value == "0")
{
foreach (ListItem li in cbEmployees.Items)
{
if (Convert.ToInt32(li.Value) != -1)
{
if (li.Selected == true)
{
DataTable dtEmpDatilsforEmail = new DataTable();
List<string> EmpID = new List<string>();
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.EmployeeCode = li.Value;
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1;
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertAdhocRequest(objAdhoc);
EmpID.Add(li.Value);
if (os.InsertedRowID > 0)
{
string MailBody = "";
MailBody = "Hi," +
"<p>New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for Employee Name: " + li.Text.ToString() + "(Employee Code: " + li.Value + ") Process : " + ddlProcess.SelectedItem.Text + "<br />" +
"Requesting you to Approve/Reject for further process.<br />" +
"<br /><br />" +
"You can access the request by clicking on " +
"<a href='" + emailFilePath + Convert.ToString(os.InsertedRowID) + "'>WBR</a>" +
"<br /><br />" +
"<b>Regards," +
"<br />" +
"Transport Team</b>" +
"<br /><br /><br /><br /><center><i>This is a system generated e-mail. Please do not reply to this e-mail.</i><br />" +
"<font size=2>Capita India- Application Services Team</font></center>";
WBREmail mail = new WBREmail();
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk", siteTransportEmailAddress,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
}
}
}
}
}
else
{
DataTable dtEmpDatilsforEmail = new DataTable();
List<string> EmpID = new List<string>();
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.EmployeeCode = "NJ";
objAdhoc.EmployeeName = txtEmpName.Text;
objAdhoc.EmpAddress = txtAddress.Text;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1;
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
lblMsg.Text = "Adhoc Successfully Added!";
lblMsg.CssClass = "success";
if (os.InsertedRowID > 0)
{
if (tblOEmp.Visible == false)
{
string MailBody = "";
MailBody = "Hi," +
"<p>New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for Employee Name: " + txtEmpName.Text + "(Employee Code: NJ ) Process : " + ddlProcess.SelectedItem.Text + "<br />" +
"Requesting you to Approve/Reject for further process.<br />" +
"<br /><br />" +
"You can access the request by clicking on " +
"<a href='" + emailFilePath + Convert.ToString(os.InsertedRowID) + "'>WBR</a>" +
"<br /><br />" +
"<b>Regards," +
"<br />" +
"Transport Team</b>" +
"<br /><br /><br /><br /><center><i>This is a system generated e-mail. Please do not reply to this e-mail.</i><br />" +
"<font size=2>Capita India- Application Services Team</font></center>";
WBREmail mail = new WBREmail();
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk", siteTransportEmailAddress,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
}
}
}
}
protected void SaveAdhocTeamManager(string emailFilePath, string siteTransportEmailAddress)
{
if (tblCUser.Visible == false)
{
SaveAdhocUser(emailFilePath, siteTransportEmailAddress);
}
else if (rdNewEmployee.SelectedItem.Value == "0")
{
foreach (ListItem li in cbEmployees.Items)
{
if (Convert.ToInt32(li.Value) != -1)
{
if (li.Selected == true)
{
DataTable dtEmpDatilsforEmail = new DataTable();
List<string> EmpID = new List<string>();
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.EmployeeCode = li.Value;
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1;
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertAdhocRequest(objAdhoc);
lblMsg.Text = "Adhoc Successfully Added!";
EmpID.Add(li.Value);
if (os.InsertedRowID > 0)
{
string MailBody = "";
MailBody = "Hi," +
"<p>New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " +
calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by "
+ ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for Employee Name: " + li.Text.ToString()
+ "(Employee Code: " + li.Value + ") Process : " + ddlProcess.SelectedItem.Text + "<br />" +
"Requesting you to Approve/Reject for further process.<br />" +
"<br /><br />" +
"You can access the request by clicking on " +
"<a href='" + emailFilePath + Convert.ToString(os.InsertedRowID) + "'>WBR</a>" +
"<br /><br />" +
"<b>Regards," +
"<br />" +
"Transport Team</b>" +
"<br /><br /><br /><br /><center><i>This is a system generated e-mail. Please do not reply to this e-mail.</i><br />" +
"<font size=2>Capita India- Application Services Team</font></center>";
WBREmail mail = new WBREmail();
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk", siteTransportEmailAddress,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
}
}
}
}
}
else
{
DataTable dtEmpDatilsforEmail = new DataTable();
List<string> EmpID = new List<string>();
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.EmployeeCode = "NJ";
objAdhoc.EmployeeName = txtEmpName.Text;
objAdhoc.EmpAddress = txtAddress.Text;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1;
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
lblMsg.Text = "Adhoc Successfully Added!";
lblMsg.CssClass = "success";
if (os.InsertedRowID > 0)
{
if (tblOEmp.Visible == false)
{
string MailBody = "";
MailBody = "Hi," +
"<p>New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString()
+ ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName
+ " for Employee Name: " + txtEmpName.Text + "(Employee Code: NJ ) Process : " +
ddlProcess.SelectedItem.Text + "<br />" +
"Requesting you to Approve/Reject for further process.<br />" +
"<br /><br />" +
"You can access the request by clicking on " +
"<a href='" + emailFilePath + Convert.ToString(os.InsertedRowID) + "'>WBR</a>" +
"<br /><br />" +
"<b>Regards," +
"<br />" +
"Transport Team</b>" +
"<br /><br /><br /><br /><center><i>This is a system generated e-mail. Please do not reply to this e-mail.</i><br />" +
"<font size=2>Capita India- Application Services Team</font></center>";
WBREmail mail = new WBREmail();
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk", siteTransportEmailAddress,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
}
}
}
}
protected void SaveAdhocUser(string emailFilePath, string siteTransportEmailAddress)
{
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.EmployeeCode = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = 0;
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
if (os.InsertedRowID > 0)
{
string MailBody = "";
MailBody = "Hi," +
"<p>New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for self (Employee Code: " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode + ") Process : " + ddlProcess.SelectedItem.Text + "<br />" +
"Requesting you to Approve/Reject for further process.<br />" +
"<br /><br />" +
"You can access the request by clicking on " +
"<a href='" + emailFilePath + Convert.ToString(os.InsertedRowID) + "'>WBR</a>" +
"<br /><br />" +
"<b>Regards," +
"<br />" +
"Transport Team</b>" +
"<br /><br /><br /><br /><center><i>This is a system generated e-mail. Please do not reply to this e-mail.</i><br />" +
"<font size=2>Capita India- Application Services Team</font></center>";
string HeadName, HeadEmail = string.Empty;
HeadName = ddlApprover.SelectedItem.Text.ToString();
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
HeadEmail = ddlApprover.SelectedItem.Value.Split('-')[1];
}
else
{
HeadEmail = ddlApprover.SelectedItem.Value;
}
WBREmail mail = new WBREmail();
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), HeadName, HeadEmail,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
}
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
}
protected void rbtSingle_CheckedChanged(object sender, EventArgs e)
{
rbtBulk.Checked = false;
pnlbulk.Visible = false;
pnlsingle.Visible = true;
lblMessage.Text = lblMsg.Text = string.Empty;
}
protected void rbtBulk_CheckedChanged(object sender, EventArgs e)
{
rbtSingle.Checked = false;
pnlsingle.Visible = false;
pnlbulk.Visible = true;
lblMessage.Text = lblMsg.Text = string.Empty;
}
protected void btnUpload_Click(object sender, EventArgs e)
{
#region upload file code
Hashtable htRoles = new Hashtable();
try
{
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager") || Session["Adminprocess"] != null)
{
bool success = false;
DataTable dtExcel = new DataTable();
string strConnection = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
SqlConnection myConn = new SqlConnection(strConnection);
string filePath = string.Empty;
if (FileUploadRosterAdhoc.HasFile)
{
if (System.IO.Path.GetExtension(FileUploadRosterAdhoc.FileName) == ".xls" || System.IO.Path.GetExtension(FileUploadRosterAdhoc.FileName) == ".xlsx")
{
filePath = Server.MapPath("~/Roster/Upload/Schedule_RosterAdhoc.xlsx");
if (File.Exists(filePath))
File.Delete(filePath);
FileUploadRosterAdhoc.SaveAs(filePath);
string sExcelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
using (OleDbConnection con = new OleDbConnection(sExcelConnectionString))
{
con.Open();
string worksheetName = "Roster";
string strCommand = "SELECT * FROM [" + worksheetName + "$]";
OleDbCommand excelCommand = new OleDbCommand(strCommand, con);
OleDbDataAdapter excelDataAdapter = new OleDbDataAdapter();
excelDataAdapter.SelectCommand = excelCommand;
excelDataAdapter.Fill(dtExcel);
DataTable dtRoster = FillDatatableInfo(dtExcel);
try
{
if (ValidateExcelDates(dtRoster))
{
if (Session["Adminprocess"] != null)
{
success = ValidateExcel(dtRoster, "ProcessAdmin");
}
else
{
success = ValidateExcel(dtRoster, "TM");
}
if (success)
{
}
else
{
lblMessage.CssClass = "error";
lblMessage.Text = "Warning : Check below information and Click on Submit button for save only valid data!";
}
}
else
{
lblMessage.CssClass = "error";
lblMessage.Text = "Warning :Some of Employees Adhoc Date is less than Today Date!";
}
}
catch (Exception ex)
{
lblMessage.CssClass = "error";
lblMessage.Text = ex.Message.ToString();
}
}
}
}
if (success)
{
lblMessage.CssClass = "success";
lblMessage.Text = "Data Upload Successful.";
}
}
else
{
lblMessage.CssClass = "error";
lblMessage.Text = "You don't have permission to upload file.";
}
}
}
catch (Exception ex)
{
lblMessage.CssClass = "error";
lblMessage.Text = ex.Message.ToString();
}
#endregion
}
private void SaveBulkAdhoc(DataTable dtRoster)
{
btnUpload.Enabled = false;
Roster empRoster;
RosterAdhoc empAdhoc;
EmployeeBO objEmployee;
bool flag = false;
string websiteURL = ConfigurationManager.AppSettings["WebSiteURL"].ToString();
string emailFilePath = websiteURL + "/ViewAdhocRoster.aspx?Action=EMail&ReferenceID=";
foreach (DataRow dr in dtRoster.Rows)
{
bool chk = Convert.ToBoolean(dr["chk"]);
if (chk)
{
string empCode = Convert.ToString(dr["EmployeeCode"]);
string EmpName = Convert.ToString(dr["EmployeeName"]);
{
#region code for get site email id
string siteTransportEmailAddress = string.Empty;
string selectedSite = Convert.ToString(objEmployeeBO.GetSiteByEmployee(empCode).Rows[0]["SiteName"]);
string process = Convert.ToString(objEmployeeBO.GetProcessByEmployee(empCode).Rows[0]["OrganisationalUnitName"]);
if (selectedSite.ToLower().Equals("pune"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["PuneDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("andheri"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["AndheriDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("vikhroli"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["VikhroliDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("thane"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["ThaneDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("bangalore"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["BangaloreDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("pune kn"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["KNDeskMail"].ToString();
}
#endregion
objEmployee = new EmployeeBO();
empRoster = new Roster();
empAdhoc = new RosterAdhoc();
DateTime Startdate = DateTime.Now.Date;
TimeSpan span = Convert.ToDateTime(dr["AdhocDate"]).Subtract(Startdate);
if (span.Days >= 0)
{
if (!Convert.ToString(dr["EmployeeCode"]).Equals(string.Empty))
{
int AdhocType;
if (Convert.ToString(dr["AdhocTypeID"]) == "Pickup")
{
AdhocType = 1;
}
else
{
AdhocType = 2;
}
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = Convert.ToDateTime(dr["AdhocTime"]).TimeOfDay;
objAdhoc.AdhocDate = Convert.ToDateTime(dr["AdhocDate"]);
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = AdhocType;
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.EmployeeCode = empCode;
objAdhoc.SiteID = Convert.ToInt64(dr["SiteID"]);
objAdhoc.OrgUnitID = Convert.ToInt64(dr["OrgUnitID"]);
objAdhoc.Remarks = Convert.ToString(dr["Remark"]);
objAdhoc.ApprovalStatusID = -1;
string approverEmpCode = string.Empty;
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
flag = true;
#region Email Code
if (os.InsertedRowID > 0)
{
string MailBody = "";
MailBody = "Hi," +
"<p>New Adhoc " + Convert.ToString(dr["AdhocTypeID"]) + " Request is raised for Date: " +
Convert.ToDateTime(dr["AdhocDate"]).ToShortDateString() + ", Time: " + tsAdhoc + " by "
+ ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for Employee Name: " + EmpName
+ "(Employee Code: " + empCode + ") Process : " + process + "<br />" +
"Requesting you to Approve/Reject for further process.<br />" +
"<br /><br />" +
"You can access the request by clicking on " +
"<a href='" + emailFilePath + Convert.ToString(os.InsertedRowID) + "'>WBR</a>" +
"<br /><br />" +
"<b>Regards," +
"<br />" +
"Transport Team</b>" +
"<br /><br /><br /><br /><center><i>This is a system generated e-mail. Please do not reply to this e-mail.</i><br />" +
"<font size=2>Capita India- Application Services Team</font></center>";
WBREmail mail = new WBREmail();
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(),
ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk",
siteTransportEmailAddress,
"", "", "New Adhoc " + Convert.ToString(dr["AdhocTypeID"]) + " Request", MailBody);
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
lblMessage.CssClass = "success";
lblMessage.Text = "Data Upload Successful.";
}
#endregion
}
}
objEmployee = null;
}
}
btnUpload.Enabled = true;
}
if (flag)
{
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
lblMessage.CssClass = "success";
lblMessage.Text = "Data Upload Successful.";
btnExporttoExcel.Visible = false;
grdViewEmployee.DataSource = null;
grdViewEmployee.DataBind();
btnSaveData.Visible = false;
btnUpload.Enabled = true;
}
else
{
lblMsg.CssClass = "error";
lblMsg.Text = "No data for Save.";
lblMessage.CssClass = "error";
lblMessage.Text = "No data for Save.";
}
}
private DataTable FillDatatableInfo(DataTable dtExcel)
{
dtExcel.Columns.Add("EmployeeName", typeof(string));
dtExcel.Columns.Add("SiteID", typeof(long));
dtExcel.Columns.Add("OrgUnitID", typeof(long));
dtExcel.Columns.Add("RMID", typeof(string));
dtExcel.Columns.Add("AvailingTransport", typeof(bool));
dtExcel.Columns.Add("IsActive", typeof(bool));
EmployeeMaster emp;
foreach (DataRow dr in dtExcel.Rows)
{
emp = new EmployeeMaster();
emp = objEmployeeBO.GetEmployeeByEmpID(Convert.ToString(dr["EmployeeCode"])).FirstOrDefault();
if (emp != null)
{
dr["EmployeeName"] = emp.EmployeeName;
dr["SiteID"] = emp.SiteID;
dr["OrgUnitID"] = emp.OrgUnitID;
dr["RMID"] = emp.RMID;
dr["AvailingTransport"] = emp.AvailingTransport;
dr["IsActive"] = emp.IsActive;
}
}
dtExcel.AcceptChanges();
return dtExcel;
}
private bool ValidateExcelDates(DataTable dtExcel)
{
bool flag = true;
DateTime Startdate = DateTime.Now.Date;
foreach (DataRow dr in dtExcel.Rows)
{
if (!string.IsNullOrEmpty(Convert.ToString(dr["AdhocDate"])))
{
TimeSpan span = Convert.ToDateTime(dr["AdhocDate"]).Subtract(Startdate);
if (span.Days >= 0)
{
flag = true;
}
else
{
return false;
}
}
}
return flag;
}
private bool ValidateExcel(DataTable dtRoster, string User)
{
ViewState["dtOtherEmployee"] = null;
bool flag = false;
dtRoster.Columns.Add("Chk", typeof(bool));
dtRoster.Columns.Add("Error", typeof(string));
foreach (DataRow dr in dtRoster.Rows)
{
if (User == "ProcessAdmin")
{
try
{
List<Int32> OrgunitIdlist = objEmployeeBO.GetOrgIDbyName(Convert.ToString(Session["Adminprocess"]));
if (!OrgunitIdlist.Contains(Convert.ToInt32(dr["OrgUnitID"])))
{
dr["chk"] = false;
dr["Error"] = "Ouside Process";
}
}
catch (Exception)
{
dr["chk"] = false;
dr["Error"] = "Envalid Employee ID";
}
}
if (User == "TM")
{
if (((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode != Convert.ToString(dr["RMID"]))
{
dr["chk"] = false;
dr["Error"] = "Employee has different Reporting Manager";
}
}
try
{
if (Convert.ToBoolean(dr["AvailingTransport"]) == false || Convert.ToBoolean(dr["IsActive"]) == false)
{
dr["chk"] = false;
dr["Error"] = "Not Availing Transport";
}
}
catch (Exception)
{
dr["chk"] = false;
dr["Error"] = "Envalid Employee ID";
}
if (string.IsNullOrEmpty(Convert.ToString(dr["Error"])))
{
dr["chk"] = true;
dr["Error"] = "Valid";
}
}
DataRow ndr = dtRoster.NewRow();
ndr["EmployeeCode"] = "1234";
ndr["EmployeeName"] = "test";
ndr["AdhocDate"] = DateTime.Today;
ndr["chk"] = false;
dtRoster.Rows.Add(ndr);
dtRoster.AcceptChanges();
if (dtRoster != null && dtRoster.Rows.Count > 0 && !string.IsNullOrEmpty(Convert.ToString(dtRoster.Rows[0]["EmployeeCode"])))
{
flag = false;
btnExporttoExcel.Visible = true;
btnSaveData.Visible = true;
ViewState["dtOtherEmployee"] = dtRoster;
grdViewEmployee.DataSource = dtRoster;
grdViewEmployee.DataBind();
}
else
{
flag = true;
btnExporttoExcel.Visible = btnSaveData.Visible = false;
grdViewEmployee.DataSource = null;
grdViewEmployee.DataBind();
}
return flag;
}
protected void btnExporttoExcel_Click(object sender, EventArgs e)
{
try
{
DataTable dt = new DataTable();
if (ViewState["dtOtherEmployee"] != null)
{
dt = (DataTable)ViewState["dtOtherEmployee"];
Response.Clear();
Response.ClearContent();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=OtherEmployee.xls");
GridView excel = new GridView();
excel.DataSource = dt;
excel.DataBind();
excel.RenderControl(new HtmlTextWriter(Response.Output));
Response.Flush();
Response.End();
}
}
catch (ThreadAbortException ex)
{
lblMsg.CssClass = "error";
lblMsg.Text = ex.Message.ToString();
}
}
protected void grdViewEmployee_RowDataBound(object sender, GridViewRowEventArgs e)
{
CheckBox chk = (CheckBox)e.Row.FindControl("chk");
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (!chk.Checked)
{
chk.Enabled = false;
}
}
}
protected void btnSaveData_Click(object sender, EventArgs e)
{
DataTable dtRoster = (DataTable)ViewState["dtOtherEmployee"];
foreach (GridViewRow dgr in grdViewEmployee.Rows)
{
string empid = Convert.ToString(grdViewEmployee.DataKeys[dgr.RowIndex].Values[0]);
DateTime date = Convert.ToDateTime(grdViewEmployee.DataKeys[dgr.RowIndex].Values[1]);
CheckBox chk = (CheckBox)dgr.FindControl("chk");
if (!chk.Checked)
{
DataRow[] newdr = dtRoster.Select("EmployeeCode = " + empid + " AND AdhocDate ='" + date + "'");
newdr[0]["chk"] = false;
}
else
{
DataRow[] newdr = dtRoster.Select("EmployeeCode = " + empid + " AND AdhocDate ='" + date + "'");
newdr[0]["chk"] = true;
}
}
dtRoster.AcceptChanges();
if (dtRoster != null)
{
SaveBulkAdhoc(dtRoster);
}
}
}
What I have tried:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Web.UI.HtmlControls;
using Microsoft.ApplicationBlocks.Data;
using BLL;
using DAL;
using System.Collections;
using System.IO;
using System.Data.OleDb;
using System.Threading;
public partial class AddAdhocRoster : System.Web.UI.Page
{
EmployeeBO objEmployeeBO = new EmployeeBO();
RosterAdhoc objAdhoc = new RosterAdhoc();
public DateTime RosterStartdate = DateTime.Today;
public DateTime RosterEnddate = DateTime.Today;
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(this.btnExporttoExcel);
Page.Form.Attributes.Add("enctype", "multipart/form-data");
try
{
if (Session["LoginEmployee"] != null)
{
btnAddRoster.Enabled = true;
if (!IsPostBack)
{
SetRoleBasedView();
}
if (IsPostBack)
{
if (txtRStartDate.Text.Length > 0)
calRStartDate.SelectedDate = DateTime.ParseExact(txtRStartDate.Text, calRStartDate.Format, null);
}
}
else
{
Response.Redirect("SessionExpired.aspx", false);
}
}
catch (Exception ex)
{
lblMsg.CssClass = "error";
lblMsg.Text = ex.Message.ToString();
}
Page.Title = "Add Adhoc";
}
///
/// MANAGED FOR USER,TEAM MANAGER AND ADMINISTRATOR ROLES
/// NISHA NARANG-04/11/2011
///
protected void SetRoleBasedView()
{
if (Session["LoginEmployee"] != null)
{
DataTable processAdmin = objEmployeeBO.GetProcessAdminById(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString());
string ProcessAdminEID = string.Empty;
Session["Adminprocess"] = null;
if (processAdmin != null && processAdmin.Rows.Count > 0)
{
ProcessAdminEID = processAdmin.Rows[0]["EmployeeCode"].ToString();
Session["Adminprocess"] = processAdmin.Rows[0]["ProcessName"].ToString();
}
else
{
ProcessAdminEID = string.Empty;
Session["Adminprocess"] = null;
}
// if the user id Process admin then view the bulk upload button
if (!string.IsNullOrEmpty(ProcessAdminEID))
{
rbtBulk.Visible = true;
rbtSingle.Visible = true;
}
pnlMessage.Visible = false;
pnlPage.Visible = true;
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager")) // FOR TEAM-MANAGER
{
// show bulk upload adhoc tab
rbtBulk.Visible = rbtSingle.Visible = true;
BindLocation(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li in ddlSite.Items)
{
if (li.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString())
{
li.Selected = true;
ddlSite.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString();
ddlSite.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteName;
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li1 in ddlProcess.Items)
{
if (li1.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString())
{
li1.Selected = true;
ddlProcess.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString();
ddlProcess.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).OrganisationalUnitName;
break;
}
}
break;
}
}
//selecting the first site for the team-manager in case manager sits at other site and team sits at another site
if (ddlSite.SelectedValue == "")
{
if (ddlSite.Items.Count > 2 || ddlSite.Items.Count == 2) // multiple/single sites
{
foreach (ListItem li in ddlSite.Items)
{
li.Selected = false;
}
ddlSite.Items[1].Selected = true;
ddlSite.SelectedItem.Value = ddlSite.Items[1].Value.ToString();
ddlSite.Text = ddlSite.Items[1].Text.ToString();
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li1 in ddlProcess.Items)
{
li1.Selected = false;
}
ddlProcess.Items[1].Selected = true;
ddlProcess.SelectedItem.Value = ddlProcess.Items[1].Value.ToString();
ddlProcess.Text = ddlProcess.Items[1].Text.ToString();
}
}
BindApproverList(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString());
if (ddlSite.SelectedValue != "")
{
BindProcessEmployees(null);
}
if (ddlSite.Items.Count > 2) // multiple sites
{
ddlSite.Enabled = true;
if (ddlProcess.Items.Count > 2) //multiple sites
ddlProcess.Enabled = true;
}
else if (ddlSite.Items.Count == 2 && (ddlProcess.Items.Count > 2)) //single site multiple teams
{
ddlSite.Enabled = false;
ddlProcess.Enabled = true;
}
else
{
ddlSite.Enabled = false;
ddlProcess.Enabled = false;
}
tblCUser.Visible = false;
tblOEmp.Visible = false;
//page will only be visible to team managers who are using the transport
if (((View_EmployeeMaster)Session["LoginEmployee"]).IsActive == true && ((View_EmployeeMaster)Session["LoginEmployee"]).AvailingTransport == false)
{
ddlTMSelf.Items.Remove("Self");
tblapprover.Visible = false;
}
else
{
tblapprover.Visible = true;
}
}
else if (htRoles.Contains("administrator"))
{
BindApproverList(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString());
if (Convert.ToInt32(((View_EmployeeMaster)Session["LoginEmployee"]).RoleID.ToString()) == 2) // transport administrator but team manager
{
BindLocation(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li in ddlSite.Items)
{
if (li.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString())
{
li.Selected = true;
ddlSite.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString();
ddlSite.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteName;
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li1 in ddlProcess.Items)
{
if (li1.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString())
{
li1.Selected = true;
ddlProcess.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString();
ddlProcess.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).OrganisationalUnitName;
break;
}
}
break;
}
}
//selecting the first site for the team-manager in case manager sits at other site and team sits at another site
if (ddlSite.SelectedValue == "")
{
if (ddlSite.Items.Count > 2 || ddlSite.Items.Count == 2) // multiple/single sites
{
foreach (ListItem li in ddlSite.Items)
{
li.Selected = false;
}
ddlSite.Items[1].Selected = true;
ddlSite.SelectedItem.Value = ddlSite.Items[1].Value.ToString();
ddlSite.Text = ddlSite.Items[1].Text.ToString();
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
foreach (ListItem li1 in ddlProcess.Items)
{
li1.Selected = false;
}
ddlProcess.Items[1].Selected = true;
ddlProcess.SelectedItem.Value = ddlProcess.Items[1].Value.ToString();
ddlProcess.Text = ddlProcess.Items[1].Text.ToString();
}
}
if (ddlSite.SelectedValue != "")
{
BindProcessEmployees(null);
}
if (ddlSite.Items.Count > 2) // multiple sites
{
ddlSite.Enabled = true;
if (ddlProcess.Items.Count > 2) //multiple sites
ddlProcess.Enabled = true;
}
else if (ddlSite.Items.Count == 2 && (ddlProcess.Items.Count > 2)) //single site multiple teams
{
ddlSite.Enabled = false;
ddlProcess.Enabled = true;
}
else
{
ddlSite.Enabled = false;
ddlProcess.Enabled = false;
}
tblCUser.Visible = false;
tblOEmp.Visible = false;
//page will only be visible to team managers who are using the transport
if (((View_EmployeeMaster)Session["LoginEmployee"]).IsActive == true && ((View_EmployeeMaster)Session["LoginEmployee"]).AvailingTransport == false)
{
ddlTMSelf.Items.Remove("Self");
tblapprover.Visible = false;
}
else
{
tblapprover.Visible = true;
}
}
else if (Convert.ToInt32(((View_EmployeeMaster)Session["LoginEmployee"]).RoleID.ToString()) == 3) //transport administrator but user
{
BindLocation(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 2);
foreach (ListItem li in ddlSite.Items)
{
if (li.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString())
{
li.Selected = true;
ddlSite.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString();
ddlSite.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteName;
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 2);
foreach (ListItem li1 in ddlProcess.Items)
{
if (li1.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString())
{
li1.Selected = true;
ddlProcess.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString();
ddlProcess.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).OrganisationalUnitName;
break;
}
}
break;
}
}
ddlProcess.Enabled = false;
ddlSite.Enabled = false;
tblapprover.Visible = true;
tblCUser.Visible = false;
tblOEmp.Visible = false;
tblTMSelf.Visible = false;
}
}
else // FOR USER
{
BindLocation(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 2);
foreach (ListItem li in ddlSite.Items)
{
if (li.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString())
{
li.Selected = true;
ddlSite.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteID.ToString();
ddlSite.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).SiteName;
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 2);
foreach (ListItem li1 in ddlProcess.Items)
{
if (li1.Value == ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString())
{
li1.Selected = true;
ddlProcess.SelectedItem.Value = ((View_EmployeeMaster)Session["LoginEmployee"]).OrgUnitID.ToString();
ddlProcess.Text = ((View_EmployeeMaster)Session["LoginEmployee"]).OrganisationalUnitName;
break;
}
}
break;
}
}
BindApproverList(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString());
ddlProcess.Enabled = false;
ddlSite.Enabled = false;
tblapprover.Visible = true;
tblCUser.Visible = false;
tblOEmp.Visible = false;
tblTMSelf.Visible = false;
}
}
//if (htRoles.Contains("administrator"))//|| htRoles.Contains("transport-desk"))// FOR TRANSPORT ADMINISTRATOR , TRANSPORT DESK
//{
// txtTransportRemarks.Visible = true;
// tblapprover.Visible = false;
// tblTMSelf.Visible = false;
// BindLocation(string.Empty, 0);
// ddlProcess.Enabled = true;
// ddlSite.Enabled = true;
// trtRemarks.Visible = true;
// btnAddRoster.Visible = true;
// //tblapprover.Visible = true;
// //tblCUser.Visible = false;
// //tblOEmp.Visible = false;
// //tblTMSelf.Visible = false;
//}
//else
//else
//{
// pnlMessage.Visible = true;
// pnlPage.Visible = false;
//}
}
}
protected void ResetFields()
{
BindLocation(string.Empty, 0);
ddlProcess.Items.Clear();
ddlProcess.Enabled = false;
//ddlProcess.Items.Clear();
//ddlProcess.Enabled = false;
cbEmployees.Items.Clear();
cbEmployees.Enabled = false;
}
protected void DisableFields()
{
ddlSite.Items.Clear();
ddlSite.Enabled = false;
ddlProcess.Items.Clear();
ddlProcess.Enabled = false;
//ddlProcess.Items.Clear();
//ddlProcess.Enabled = false;
cbEmployees.Items.Clear();
cbEmployees.Enabled = false;
ddlAdhocType.Enabled = false;
txtAdhocRosterTime.Enabled = false;
txtReason.Enabled = false;
}
protected void calRStartDate_DateChanged(object sender, EventArgs e)
{
txtRStartDate.Text = calRStartDate.SelectedDate.ToString();
}
protected void BindApproverList(string employeeCode)
{
ddlApprover.Items.Clear();
// View_EmployeeMaster objEmp = (View_EmployeeMaster)Session["LoginEmployee"];
//ddlApprover.DataSource = objEmployeeBO.GetApproverList(objEmp.EmployeeCode);
ddlApprover.DataSource = objEmployeeBO.GetApproverList(employeeCode);
ddlApprover.DataTextField = "EmployeeName";
ddlApprover.DataValueField = "ApproverCodeEmail";
//EmployeeEmail
ddlApprover.DataBind();
if (ddlApprover.Items.Count > 0)
{
ddlApprover.Items.Insert(0, new ListItem("- Select -", ""));
ddlApprover.SelectedIndex = 0;
}
}
///
/// MANAGED FOR USER,TEAM MANAGER AND TRANSPORT ADMINISTRATOR ROLE
/// Nisha Narang-04/11/2011
///
/// <param name="EmployeeID" />
/// <param name="type" />
protected void BindLocation(string EmployeeID, int type)
{
ddlSite.Items.Clear();
if (type == 0) // FOR TRANSPORT ADMINISTRATOR
{
ddlSite.DataSource = objEmployeeBO.GetSites();
ddlSite.DataTextField = "SiteName";
ddlSite.DataValueField = "ID";
ddlSite.DataBind();
ddlSite.Items.Insert(0, new ListItem("- Select -", ""));
ddlSite.Enabled = false;
}
else if (type == 1) // FOR TEAM MANAGER
{
string SupervisorID = EmployeeID;
ddlSite.DataSource = objEmployeeBO.GetSitesByRM(SupervisorID);
ddlSite.DataTextField = "SiteName";
ddlSite.DataValueField = "SiteID";
ddlSite.DataBind();
ddlSite.Items.Insert(0, new ListItem("- Select -", ""));
ddlSite.Enabled = true;
ddlProcess.Enabled = true;
//cblDeptManagers.Enabled=true;
}
else if (type == 2)// FOR USER
{
ddlSite.DataSource = objEmployeeBO.GetSiteByEmployee(EmployeeID);
ddlSite.DataTextField = "SiteName";
ddlSite.DataValueField = "SiteID";
ddlSite.DataBind();
ddlSite.Items.Insert(0, new ListItem("- Select -", ""));
ddlSite.Enabled = false;
ddlProcess.Enabled = false;
}
}
///
/// MANAGED FOR USER,TEAM-MANAGER AND TRANSPORT
/// Nisha Narang-04/11/2011
///
/// <param name="EmployeeID" />
/// <param name="RoleType" />
protected void BindProcess(string EmployeeID, int RoleType)
{
ddlProcess.Items.Clear();
if (RoleType == 0 && ddlSite.SelectedItem.Value != "") // For Transport Administrator
{
ddlProcess.DataSource = objEmployeeBO.GetProcess(Convert.ToInt64(ddlSite.SelectedItem.Value));
ddlProcess.DataTextField = "OrganisationalUnitName";
ddlProcess.DataValueField = "ID";
ddlProcess.DataBind();
ddlProcess.Items.Insert(0, new ListItem("- Select -", ""));
}
else if (RoleType == 1 && ddlSite.SelectedItem.Value != "") // For Team Manager
{
string SupervisorID = EmployeeID;
ddlProcess.DataSource = objEmployeeBO.GetProcessByRM(SupervisorID, Convert.ToInt32(ddlSite.SelectedItem.Value));
ddlProcess.DataTextField = "OrganisationalUnitName";
ddlProcess.DataValueField = "OrgUnitID";
ddlProcess.DataBind();
ddlProcess.Items.Insert(0, new ListItem("- Select -", ""));
}
else if (RoleType == 2 && ddlSite.SelectedItem.Value != "") // For user
{
ddlProcess.DataSource = objEmployeeBO.GetProcessByEmployee(EmployeeID);
ddlProcess.DataTextField = "OrganisationalUnitName";
ddlProcess.DataValueField = "OrgUnitID";
ddlProcess.DataBind();
ddlProcess.Items.Insert(0, new ListItem("- Select -", ""));
}
}
///
/// binding the employees according to
///
/// <param name="htRoles" />
protected void BindProcessEmployees(Hashtable htRoles = null)
{
cbEmployees.Items.Clear();
List<long> OrgunitID = new List<long>();
foreach (ListItem li in ddlProcess.Items)
{
if (li.Selected == true && li.Value != "")
{
OrgunitID.Add(Convert.ToInt64(li.Value));
break;
}
}
//long subProcessId = 0;
//if (ddlSubProcess.SelectedIndex > 0)
// subProcessId = Convert.ToInt64(ddlSubProcess.SelectedValue);
//cbEmployees.DataSource = objEmployeeBO.GetEmployeesByProcess(ProcessID, Convert.ToInt64(ddlProcess.SelectedItem.Value), Convert.ToInt64(ddlSite.SelectedItem.Value), subProcessId);
if (htRoles == null && ddlSite.SelectedItem.Value != "")
{
cbEmployees.DataSource = objEmployeeBO.GetEmployeesByOrgUnit(OrgunitID, Convert.ToInt64(ddlSite.SelectedItem.Value), ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode);
}
else if (htRoles.Contains("administrator") && ddlSite.SelectedItem.Value != "")// || htRoles.Contains("transport-desk"))
{
cbEmployees.DataSource = objEmployeeBO.GetEmployeesByOrgUnit(OrgunitID, Convert.ToInt64(ddlSite.SelectedItem.Value), string.Empty);
}
cbEmployees.DataTextField = "EmployeeName";
cbEmployees.DataValueField = "EmployeeCode";
cbEmployees.DataBind();
if (cbEmployees.Items.Count > 0)
{
cbEmployees.Enabled = true;
cbEmployees.Items.Insert(0, new ListItem("Select All", "-1"));
}
}
protected void ddlSite_SelectedIndexChanged(object sender, EventArgs e)
{
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager"))
{
BindProcess(((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode.ToString(), 1);
}
else
{
BindProcess(string.Empty, 0);
}
}
else
{
BindProcess(string.Empty, 0);
}
//if (ddlProcess.Items.Count > 2)
//{
// //multiple sites multiple teams
// foreach (ListItem li1 in ddlProcess.Items)
// {
// li1.Selected = false;
// }
// ddlProcess.Enabled = true;
//}
//else if (ddlProcess.Items.Count == 2)
//{
// ddlProcess.Items[0].Selected = true;
// ddlProcess.SelectedItem.Value = ddlProcess.Items[0].Value.ToString();
// ddlProcess.Text = ddlProcess.Items[0].Text.ToString();
// ddlProcess.Items[1].Selected = true;
// ddlProcess.SelectedItem.Value = ddlProcess.Items[1].Value.ToString();
// ddlProcess.Text = ddlProcess.Items[1].Text.ToString();
// ddlProcess.Enabled = false;
//}
}
///
/// NISHA NARANG --12/10/2011
/// MANAGED FOR BINDING THE APPROVER HIERARCHY OF AN EMPLOYEE
///
///
/// <param name="sender" />
/// <param name="e" />
protected void ddlProcess_SelectedIndexChanged(object sender, EventArgs e)
{
//ddlProcess.Enabled = true;
//BindProcess();
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains(("User".ToLower())))
{
View_EmployeeMaster objEmp = (View_EmployeeMaster)Session["LoginEmployee"];
// binding the manager hierarchy for User Role
BindApproverList(objEmp.EmployeeCode);
}
else
{
//binding the employees for Team Manager and Transport Administrator as Team Manager
BindProcessEmployees(htRoles);
// For Team-Manager Role -Team Manager himself is first level approver
// as if list of employees gets populated then approver tab is not required
if (cbEmployees.Items.Count > 0)
{
tblapprover.Visible = false;
//BindApproverList(cbEmployees.Items[0].Value.ToString());
}
}
}
else
{
// binding the employees for Transport Administrator
BindProcessEmployees(null);
if (cbEmployees.Items.Count > 0)
{
tblapprover.Visible = false;
BindApproverList(cbEmployees.Items[0].Value.ToString());
}
}
}
///
/// MANAGING FOR SELECT ALL FUNCTIONALITY
/// Nisha Narang - 13/10/2011
///
/// <param name="sender" />
/// <param name="e" />
protected void cbEmployees_SelectedIndexChanged(object sender, EventArgs e)
{
lblSelEmployee.Text = "";
foreach (ListItem li in cbEmployees.Items)
{
if (li.Selected == true)
{
if (Convert.ToInt32(li.Value) == -1)
{
foreach (ListItem li1 in cbEmployees.Items)
{
li1.Selected = true;
//ProcessID.Add(Convert.ToInt64(li.Value));
}
ViewState["boolAllChecked"] = 1;
break;
}
else
{
//ProcessID.Add(Convert.ToInt64(li.Value));
break;
}
}
else if (li.Selected == false)
{
if (Convert.ToInt32(li.Value) == -1 && Convert.ToInt32(ViewState["boolAllChecked"]) == 1)
{
foreach (ListItem li1 in cbEmployees.Items)
{
li1.Selected = false;
}
ViewState["boolAllChecked"] = 0; break;
}
}
}
}
protected void btnAddRoster_Click(object sender, EventArgs e)
{
lblMsg.Text = "";
Hashtable htRoles = new Hashtable();
//Page.Validate();
try
{
if (Page.IsValid)
{
bool chkEmpSelected = false;
//check for employee selected or not
if (ddlTMSelf.SelectedValue.ToLower().Equals("team-member"))
{
foreach (ListItem li in cbEmployees.Items)
{
if (li.Selected == true)
{
chkEmpSelected = true;
break;
}
}
if (!chkEmpSelected)
{
lblSelEmployee.CssClass = "error";
lblSelEmployee.Text = "Please Select Employee.";
cbEmployees.Focus();
return;
}
}
//checking for adhoc date should be today's date and later
DateTime Startdate = DateTime.Now.Date; DateTime Enddate = calRStartDate.SelectedDate.Value;
TimeSpan span = Enddate.Subtract(Startdate);
if (span.Days >= 0)
{
btnAddRoster.Enabled = false;
// getting Transport Email address according to the selected site
string siteTransportEmailAddress = string.Empty;
string selectedSite = ddlSite.SelectedItem.Text;
if (selectedSite.ToLower().Equals("pune"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["PuneDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("andheri"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["AndheriDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("vikhroli"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["VikhroliDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("thane"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["ThaneDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("bangalore"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["BangaloreDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("pune kn"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["KNDeskMail"].ToString();
}
//
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
string websiteURL = ConfigurationManager.AppSettings["WebSiteURL"].ToString();
//string emailFilePath = Page.ResolveClientUrl("~/ViewAdhocRoster.aspx") + "?Action=EMail&ReferenceID=";
string emailFilePath = websiteURL + "/ViewAdhocRoster.aspx?Action=EMail&ReferenceID=";
if (htRoles.Contains("administrator"))// || htRoles.Contains("transport-desk"))
{
if (Convert.ToInt32(((View_EmployeeMaster)Session["LoginEmployee"]).RoleID.ToString()) == 2) //transport administrator but actually Team Manager
{
SaveAdhocTeamManager(emailFilePath, siteTransportEmailAddress);
}
else if (Convert.ToInt32(((View_EmployeeMaster)Session["LoginEmployee"]).RoleID.ToString()) == 3) //transport administrator but actually User
{
SaveAdhocUser(emailFilePath, siteTransportEmailAddress);
}
//SaveAdhocAdmin(emailFilePath, siteTransportEmailAddress);
}
else if (htRoles.Contains("team-manager")) // team manager
{
SaveAdhocTeamManager(emailFilePath, siteTransportEmailAddress);
}
else // Save for USER Role -logged in user is adding the adhoc request by himself.
{
SaveAdhocUser(emailFilePath, siteTransportEmailAddress);
}
}
}
else
{
lblMsg.CssClass = "error";
lblMsg.Text = "Warning : Adhoc Date should be equal to Today Date or greater than Today Date!";
}
}
}
catch (Exception ex)
{
lblMsg.CssClass = "error";
lblMsg.Text = ex.Message.ToString();
}
}
protected void rdNewEmployee_SelectedIndexChanged(object sender, EventArgs e)
{
if (rdNewEmployee.SelectedItem.Value == "1")
{
tblEmployeeList.Visible = true;
tblOEmp.Visible = false;
tblapprover.Visible = false;
//RequiredFieldValidatorApprover.Visible = true;
}
else
{
/// Nisha Narang - 18/10/2011
tblOEmp.Visible = true;
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager") && ddlTMSelf.SelectedItem.Value.ToLower().Equals("self"))
{
tblapprover.Visible = true;
}
else
{
tblapprover.Visible = false;
}
}
else
{
tblapprover.Visible = false;
}
tblEmployeeList.Visible = false;
//RequiredFieldValidatorApprover.Visible = false;
}
}
///
/// Nisha Narang - 17/10/2011
/// custom validator to validate selection of approver according to user role
///
/// <param name="source" />
/// <param name="args" />
protected void CustomApprovervalidator_ServerValidate(object source, ServerValidateEventArgs args)
{
//this validator only works for team-manager & user roles
//if login user is administrator /transport-desk then Adhoc is self approved no need for the selection
if (rdNewEmployee.SelectedValue.ToString().Equals("2"))
{
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager") || htRoles.Contains("administrator"))
{
args.IsValid = true;
}
}
}
else
{
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("user") || htRoles.Contains("team-manager") || htRoles.Contains("administrator"))
{
if (ddlApprover.SelectedIndex > 0)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
else
{
args.IsValid = false;
}
}
//args.IsValid = false;
//lblMsg.Text = "Select Approver";
}
}
protected void ddlSubProcess_SelectedIndexChanged(object sender, EventArgs e)
{
Hashtable htRoles = new Hashtable();
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains(("user")))
{
View_EmployeeMaster objEmp = (View_EmployeeMaster)Session["LoginEmployee"];
BindApproverList(objEmp.EmployeeCode);
// BindProcessEmployees();
}
else
{
BindProcessEmployees(null);
BindApproverList(cbEmployees.Items[0].Value.ToString());
}
}
else
{
BindProcessEmployees(null);
BindApproverList(cbEmployees.Items[0].Value.ToString());
}
}
protected void CustomValidatorsubprocess_ServerValidate(object source, ServerValidateEventArgs args)
{
//if (ddlSubProcess.Enabled == true)
//{
// if (ddlSubProcess.Items.Count > 0)
// {
// if (ddlSubProcess.SelectedIndex > 0)
// {
// args.IsValid = true;
// }
// else
// {
// args.IsValid = false;
// }
// }
// else
// {
// args.IsValid = false;
// }
//}
}
protected void ddlTMSelf_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlTMSelf.SelectedItem.Value.ToLower().Equals("team-member"))
{
tblapprover.Visible = false;
BindProcessEmployees(null);
tblCUser.Visible = true;
tblOEmp.Visible = true;
tblEmployeeList.Visible = false;
}
else if (ddlTMSelf.SelectedItem.Value.ToLower().Equals("self"))
{
tblapprover.Visible = true;
tblCUser.Visible = false;
tblOEmp.Visible = false;
tblEmployeeList.Visible = false;
}
else if (ddlTMSelf.SelectedItem.Value.ToLower().Equals("select"))
{
tblOEmp.Visible = false;
tblCUser.Visible = false;
}
}
protected void SaveAdhocAdmin(string emailFilePath, string siteTransportEmailAddress)
{
//*********************************************************************************************************************************
// CASE WHEN TRANSPORT ADMINISTRATOR OR TRANSPORT DESK IS RAISING ADHOC REQUEST
//*********************************************************************************************************************************
if (tblCUser.Visible == false)
{
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.EmployeeCode = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
//objAdhoc.ProcessID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1;// In-progress status
//adding approver employee code
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
lblMsg.Text = "Adhoc Successfully Added!";
if (os.InsertedRowID > 0)
{
//string TDeskEmail = ConfigurationManager.AppSettings["TDeskMail"].ToString();
string MailBody = "";
MailBody = "Hi," +
"
New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for self.
(Employee Code: " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode + ") Process : " + ddlProcess.SelectedItem.Text + "
" +
"Requesting you to Approve/Reject for further process.
" +
"
" +
"You can access the request by clicking on " +
"WBR" +
"
" +
"Regards," +
"
" +
"Transport Team" +
"
This is a system generated e-mail. Please do not reply to this e-mail.
" +
"Capita India- Application Services Team";
//emailFilePath + Convert.ToString(os.InsertedRowID) + "
" + //Adhoc reference ID: " + os.InsertedRowID + "" +
//"
Regards,
Transport Team
";
WBREmail mail = new WBREmail();
string HeadName, HeadEmail = string.Empty;
HeadName = ddlApprover.SelectedItem.Text.ToString();
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
HeadEmail = ddlApprover.SelectedItem.Value.Split('-')[1];
}
else
{
HeadEmail = ddlApprover.SelectedItem.Value;
}
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), HeadName, HeadEmail,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
}
}
// Nisha Narang - 21/10/2011
//*********************************************************************************************************************************
// CASE WHEN TEAM MANAGER RAISING THE ADHOC REQUEST FOR HIS TEAM MEMBER
// REQUEST REQUIRES FURTHER APPROVAL OF TRANSPORT AND MAIL GOES TO TRANSPORT
//*********************************************************************************************************************************
else if (rdNewEmployee.SelectedItem.Value == "0")
{
foreach (ListItem li in cbEmployees.Items)
{
if (Convert.ToInt32(li.Value) != -1)
{
if (li.Selected == true)
{
DataTable dtEmpDatilsforEmail = new DataTable();
List<string> EmpID = new List<string>();
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;// Team-Manager Id
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.EmployeeCode = li.Value;
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1; // in progress status
//adding approver employee code
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertAdhocRequest(objAdhoc);
//lblMsg.Text = "Adhoc Successfully Added!";
EmpID.Add(li.Value);
if (os.InsertedRowID > 0)
{
//string TDeskEmail = ConfigurationManager.AppSettings["TDeskMail"].ToString();
string MailBody = "";
MailBody = "Hi," +
"
New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for Employee Name: " + li.Text.ToString() + "(Employee Code: " + li.Value + ") Process : " + ddlProcess.SelectedItem.Text + "
" +
"Requesting you to Approve/Reject for further process.
" +
"
" +
"You can access the request by clicking on " +
"WBR" +
"
" +
"Regards," +
"
" +
"Transport Team" +
"
This is a system generated e-mail. Please do not reply to this e-mail.
" +
"Capita India- Application Services Team";
WBREmail mail = new WBREmail();
//********************************************************
// Direct Email to transport
//********************************************************
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk", siteTransportEmailAddress,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
//break;
}
}
}
}
}
else
{
// Nisha Narang - 20/10/2011
//*********************************************************************************************************************************
// CASE WHEN TRANSPORT ADMINISTRATOR RAISING THE ADHOC REQUEST FOR A NEW JOINEE OF ANY PROCESS
// REQUEST IS ALREADY BEING APPROVED BY THE FIRST APPROVER FROM TRANSPORT ADMINISTRATOR
//*********************************************************************************************************************************
DataTable dtEmpDatilsforEmail = new DataTable();
List<string> EmpID = new List<string>();
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;// Team-Manager Id
objAdhoc.EmployeeCode = "NJ";
objAdhoc.EmployeeName = txtEmpName.Text;
objAdhoc.EmpAddress = txtAddress.Text;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
//objAdhoc.ProcessID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1;//In-Progress Status
//adding approver employee code
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
lblMsg.Text = "Adhoc Successfully Added!";
lblMsg.CssClass = "success";
if (os.InsertedRowID > 0)
{
if (tblOEmp.Visible == false)
{
//string TDeskEmail = ConfigurationManager.AppSettings["TDeskMail"].ToString();
string MailBody = "";
MailBody = "Hi," +
"
New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for Employee Name: " + txtEmpName.Text + "(Employee Code: NJ ) Process : " + ddlProcess.SelectedItem.Text + "
" +
"Requesting you to Approve/Reject for further process.
" +
"
" +
"You can access the request by clicking on " +
"WBR" +
"
" +
"Regards," +
"
" +
"Transport Team" +
"
This is a system generated e-mail. Please do not reply to this e-mail.
" +
"Capita India- Application Services Team";
WBREmail mail = new WBREmail();
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk", siteTransportEmailAddress,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
}
}
}
}
protected void SaveAdhocTeamManager(string emailFilePath, string siteTransportEmailAddress)
{
// Nisha Narang - 21/10/2011
//*********************************************************************************************************************************
// CASE WHEN TEAM MANAGER RAISING THE ADHOC REQUEST FOR HIS TEAM MEMBER
// REQUEST REQUIRES FURTHER APPROVAL OF TRANSPORT AND MAIL GOES TO TRANSPORT
//*********************************************************************************************************************************
if (tblCUser.Visible == false)
{
SaveAdhocUser(emailFilePath, siteTransportEmailAddress);
}
else if (rdNewEmployee.SelectedItem.Value == "0")
{
foreach (ListItem li in cbEmployees.Items)
{
if (Convert.ToInt32(li.Value) != -1)
{
if (li.Selected == true)
{
DataTable dtEmpDatilsforEmail = new DataTable();
List<string> EmpID = new List<string>();
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;// Team-Manager Id
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.EmployeeCode = li.Value;
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1; // in progress status
//adding approver employee code
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertAdhocRequest(objAdhoc);
lblMsg.Text = "Adhoc Successfully Added!";
EmpID.Add(li.Value);
if (os.InsertedRowID > 0)
{
//string TDeskEmail = ConfigurationManager.AppSettings["TDeskMail"].ToString();
string MailBody = "";
MailBody = "Hi," +
"
New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " +
calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by "
+ ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for Employee Name: " + li.Text.ToString()
+ "(Employee Code: " + li.Value + ") Process : " + ddlProcess.SelectedItem.Text + "
" +
"Requesting you to Approve/Reject for further process.
" +
"
" +
"You can access the request by clicking on " +
"WBR" +
"
" +
"Regards," +
"
" +
"Transport Team" +
"
This is a system generated e-mail. Please do not reply to this e-mail.
" +
"Capita India- Application Services Team";
WBREmail mail = new WBREmail();
//********************************************************
// Direct Email to transport
//********************************************************
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk", siteTransportEmailAddress,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
//break;
}
}
}
}
}
else
{
// Nisha Narang - 20/10/2011
//*********************************************************************************************************************************
// CASE WHEN TEAM MANAGER RAISING THE ADHOC REQUEST FOR A NEW JOINEE IN HIS TEAM
// REQUEST FURTHER APPROVAL OF TRANSPORT AND MAIL GOES TO TRANSPORT
//*********************************************************************************************************************************
DataTable dtEmpDatilsforEmail = new DataTable();
List<string> EmpID = new List<string>();
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;// Team-Manager Id
objAdhoc.EmployeeCode = "NJ";
objAdhoc.EmployeeName = txtEmpName.Text;
objAdhoc.EmpAddress = txtAddress.Text;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
//objAdhoc.ProcessID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = -1;//In-Progress Status
//adding approver employee code
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
lblMsg.Text = "Adhoc Successfully Added!";
lblMsg.CssClass = "success";
if (os.InsertedRowID > 0)
{
if (tblOEmp.Visible == false)
{
//string TDeskEmail = ConfigurationManager.AppSettings["TDeskMail"].ToString();
string MailBody = "";
MailBody = "Hi," +
"
New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString()
+ ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName
+ " for Employee Name: " + txtEmpName.Text + "(Employee Code: NJ ) Process : " +
ddlProcess.SelectedItem.Text + "
" +
"Requesting you to Approve/Reject for further process.
" +
"
" +
"You can access the request by clicking on " +
"WBR" +
"
" +
"Regards," +
"
" +
"Transport Team" +
"
This is a system generated e-mail. Please do not reply to this e-mail.
" +
"Capita India- Application Services Team";
WBREmail mail = new WBREmail();
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk", siteTransportEmailAddress,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
}
}
}
}
protected void SaveAdhocUser(string emailFilePath, string siteTransportEmailAddress)
{
// Nisha Narang - 19/10/2011
//*********************************************************************************************************************************
// CASE WHEN USER IS RAISING THE REQUEST FOR HIMSELF
// AND MAIL GOES TO HIS MANAGER FOR APPROVAL //AND CC TO TRANSPORT
//*********************************************************************************************************************************
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = new TimeSpan(Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[0]), Convert.ToInt32(txtAdhocRosterTime.Text.ToString().Split(':')[1]), 0);
objAdhoc.AdhocDate = calRStartDate.SelectedDate.Value;
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = Convert.ToInt32(ddlAdhocType.SelectedItem.Value);
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.EmployeeCode = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.SiteID = Convert.ToInt64(ddlSite.SelectedItem.Value);
objAdhoc.OrgUnitID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
//objAdhoc.ProcessID = Convert.ToInt64(ddlProcess.SelectedItem.Value);
objAdhoc.Remarks = txtReason.Text;
objAdhoc.ApprovalStatusID = 0;// New Adhoc Request
//adding approver employee code
string approverEmpCode = string.Empty;
if (tblapprover.Visible == true)
{
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
approverEmpCode = ddlApprover.SelectedItem.Value.Split('-')[0];
}
else
{
approverEmpCode = ddlApprover.SelectedItem.Value;
}
objAdhoc.FirstLevelApprover = approverEmpCode;
}
else
{
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
}
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
if (os.InsertedRowID > 0)
{
//string TDeskEmail = ConfigurationManager.AppSettings["TDeskMail"].ToString();
string MailBody = "";
MailBody = "Hi," +
"
New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request is raised for Date: " + calRStartDate.SelectedDate.Value.Date.ToShortDateString() + ", Time: " + tsAdhoc + " by " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for self (Employee Code: " + ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode + ") Process : " + ddlProcess.SelectedItem.Text + "
" +
"Requesting you to Approve/Reject for further process.
" +
"
" +
"You can access the request by clicking on " +
"WBR" +
"
" +
"Regards," +
"
" +
"Transport Team" +
"
This is a system generated e-mail. Please do not reply to this e-mail.
" +
"Capita India- Application Services Team";
string HeadName, HeadEmail = string.Empty;
HeadName = ddlApprover.SelectedItem.Text.ToString();
if (ddlApprover.SelectedItem.Value.Contains('-'))
{
HeadEmail = ddlApprover.SelectedItem.Value.Split('-')[1];
}
else
{
HeadEmail = ddlApprover.SelectedItem.Value;
}
WBREmail mail = new WBREmail();
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(), ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), HeadName, HeadEmail,
"", "", "New Adhoc " + ddlAdhocType.SelectedItem.Text + " Request", MailBody);
}
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
}
protected void rbtSingle_CheckedChanged(object sender, EventArgs e)
{
rbtBulk.Checked = false;
pnlbulk.Visible = false;
pnlsingle.Visible = true;
lblMessage.Text = lblMsg.Text = string.Empty;
}
protected void rbtBulk_CheckedChanged(object sender, EventArgs e)
{
rbtSingle.Checked = false;
pnlsingle.Visible = false;
pnlbulk.Visible = true;
lblMessage.Text = lblMsg.Text = string.Empty;
}
protected void btnUpload_Click(object sender, EventArgs e)
{
#region upload file code
Hashtable htRoles = new Hashtable();
try
{
if (!object.Equals(Session["EmployeeRole"], null))
{
htRoles = (Hashtable)Session["EmployeeRole"];
if (htRoles.Contains("team-manager") || Session["Adminprocess"] != null)
{
bool success = false;
//1. upload the file
//2 . get the data into a datatable from excel sheet
//2.1 read the data table row by row
//2.2 update the roster table by key employee code and roster date (pick up time , route no, zone no)
//3 delete the file
DataTable dtExcel = new DataTable();
string strConnection = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
SqlConnection myConn = new SqlConnection(strConnection);
string filePath = string.Empty;
if (FileUploadRosterAdhoc.HasFile)
{
if (System.IO.Path.GetExtension(FileUploadRosterAdhoc.FileName) == ".xls" || System.IO.Path.GetExtension(FileUploadRosterAdhoc.FileName) == ".xlsx")
{
//Saving file on Server
filePath = Server.MapPath("~/Roster/Upload/Schedule_RosterAdhoc.xlsx");
if (File.Exists(filePath))
File.Delete(filePath);
FileUploadRosterAdhoc.SaveAs(filePath);
// Reading the file for data upload
string sExcelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
using (OleDbConnection con = new OleDbConnection(sExcelConnectionString))
{
con.Open();
string worksheetName = "Roster";
string strCommand = "SELECT * FROM [" + worksheetName + "$]";
OleDbCommand excelCommand = new OleDbCommand(strCommand, con);
OleDbDataAdapter excelDataAdapter = new OleDbDataAdapter();
excelDataAdapter.SelectCommand = excelCommand;
excelDataAdapter.Fill(dtExcel);
DataTable dtRoster = FillDatatableInfo(dtExcel);
try
{
if (ValidateExcelDates(dtRoster))
{
if (Session["Adminprocess"] != null)
{
success = ValidateExcel(dtRoster, "ProcessAdmin");
}
else
{
success = ValidateExcel(dtRoster, "TM");
}
if (success)
{
// SaveBulkAdhoc(dtRoster);
}
else
{
lblMessage.CssClass = "error";
lblMessage.Text = "Warning : Check below information and Click on Submit button for save only valid data!";
}
}
else
{
lblMessage.CssClass = "error";
lblMessage.Text = "Warning :Some of Employees Adhoc Date is less than Today Date!";
}
}
catch (Exception ex)
{
lblMessage.CssClass = "error";
lblMessage.Text = ex.Message.ToString();
}
}
}
}
if (success)
{
lblMessage.CssClass = "success";
lblMessage.Text = "Data Upload Successful.";
}
}
else
{
lblMessage.CssClass = "error";
lblMessage.Text = "You don't have permission to upload file.";
}
}
}
catch (Exception ex)
{
lblMessage.CssClass = "error";
lblMessage.Text = ex.Message.ToString();
}
#endregion
}
// method is used for save data from excel to Database for bulk adhoc
private void SaveBulkAdhoc(DataTable dtRoster)
{
btnUpload.Enabled = false;
Roster empRoster;
RosterAdhoc empAdhoc;
EmployeeBO objEmployee;
bool flag = false;
string websiteURL = ConfigurationManager.AppSettings["WebSiteURL"].ToString();
string emailFilePath = websiteURL + "/ViewAdhocRoster.aspx?Action=EMail&ReferenceID=";
foreach (DataRow dr in dtRoster.Rows)
{
bool chk = Convert.ToBoolean(dr["chk"]);
if (chk)
{
string empCode = Convert.ToString(dr["EmployeeCode"]);
string EmpName = Convert.ToString(dr["EmployeeName"]);
{
//code for get site email id
#region code for get site email id
string siteTransportEmailAddress = string.Empty;
string selectedSite = Convert.ToString(objEmployeeBO.GetSiteByEmployee(empCode).Rows[0]["SiteName"]);
string process = Convert.ToString(objEmployeeBO.GetProcessByEmployee(empCode).Rows[0]["OrganisationalUnitName"]);
if (selectedSite.ToLower().Equals("pune"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["PuneDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("andheri"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["AndheriDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("vikhroli"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["VikhroliDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("thane"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["ThaneDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("bangalore"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["BangaloreDeskMail"].ToString();
}
else if (selectedSite.ToLower().Equals("pune kn"))
{
siteTransportEmailAddress = ConfigurationManager.AppSettings["KNDeskMail"].ToString();
}
#endregion
objEmployee = new EmployeeBO();
empRoster = new Roster();
empAdhoc = new RosterAdhoc();
//EmployeeCode RosterDate
DateTime Startdate = DateTime.Now.Date;
TimeSpan span = Convert.ToDateTime(dr["AdhocDate"]).Subtract(Startdate);
if (span.Days >= 0)
{
if (!Convert.ToString(dr["EmployeeCode"]).Equals(string.Empty))
{
int AdhocType;
if (Convert.ToString(dr["AdhocTypeID"]) == "Pickup")
{
AdhocType = 1;
}
else
{
AdhocType = 2;
}
objAdhoc = new RosterAdhoc();
TimeSpan tsAdhoc = Convert.ToDateTime(dr["AdhocTime"]).TimeOfDay;
objAdhoc.AdhocDate = Convert.ToDateTime(dr["AdhocDate"]);
objAdhoc.AdhocTime = tsAdhoc;
objAdhoc.AdhocTypeID = AdhocType;
objAdhoc.CreatedBy = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.EmployeeCode = empCode;
objAdhoc.SiteID = Convert.ToInt64(dr["SiteID"]);
objAdhoc.OrgUnitID = Convert.ToInt64(dr["OrgUnitID"]);
objAdhoc.Remarks = Convert.ToString(dr["Remark"]);
objAdhoc.ApprovalStatusID = -1;// New Adhoc Request
//adding approver employee code
string approverEmpCode = string.Empty;
objAdhoc.FirstLevelApprover = ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode;
objAdhoc.FirstLevelApprovedDate = DateTime.Now;
objAdhoc.isActive = true;
OperationStatus os = objEmployeeBO.InsertNewEmpAdhocRequest(objAdhoc);
flag = true;
#region Email Code
// code for send email
if (os.InsertedRowID > 0)
{
//string TDeskEmail = ConfigurationManager.AppSettings["TDeskMail"].ToString();
string MailBody = "";
MailBody = "Hi," +
"
New Adhoc " + Convert.ToString(dr["AdhocTypeID"]) + " Request is raised for Date: " +
Convert.ToDateTime(dr["AdhocDate"]).ToShortDateString() + ", Time: " + tsAdhoc + " by "
+ ((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeName + " for Employee Name: " + EmpName
+ "(Employee Code: " + empCode + ") Process : " + process + "
" +
"Requesting you to Approve/Reject for further process.
" +
"
" +
"You can access the request by clicking on " +
"WBR" +
"
" +
"Regards," +
"
" +
"Transport Team" +
"
This is a system generated e-mail. Please do not reply to this e-mail.
" +
"Capita India- Application Services Team";
WBREmail mail = new WBREmail();
//********************************************************
// Direct Email to transport
//********************************************************
mail.Email(ConfigurationManager.AppSettings["MailFromName"].ToString(),
ConfigurationManager.AppSettings["MailFromEmailAddress"].ToString(), "Transport-Desk",
siteTransportEmailAddress,
"", "", "New Adhoc " + Convert.ToString(dr["AdhocTypeID"]) + " Request", MailBody);
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
//break;
lblMessage.CssClass = "success";
lblMessage.Text = "Data Upload Successful.";
}
#endregion
}
}
objEmployee = null;
}
}
btnUpload.Enabled = true;
}
if (flag)
{
lblMsg.CssClass = "success";
lblMsg.Text = "Adhoc added successfully.";
//break;
lblMessage.CssClass = "success";
lblMessage.Text = "Data Upload Successful.";
btnExporttoExcel.Visible = false;
grdViewEmployee.DataSource = null;
grdViewEmployee.DataBind();
btnSaveData.Visible = false;
btnUpload.Enabled = true;
}
else
{
lblMsg.CssClass = "error";
lblMsg.Text = "No data for Save.";
//break;
lblMessage.CssClass = "error";
lblMessage.Text = "No data for Save.";
}
}
private DataTable FillDatatableInfo(DataTable dtExcel)
{
//DataTable dtResult = dtExcel;
dtExcel.Columns.Add("EmployeeName", typeof(string));
dtExcel.Columns.Add("SiteID", typeof(long));
dtExcel.Columns.Add("OrgUnitID", typeof(long));
dtExcel.Columns.Add("RMID", typeof(string));
dtExcel.Columns.Add("AvailingTransport", typeof(bool));
dtExcel.Columns.Add("IsActive", typeof(bool));
EmployeeMaster emp;
foreach (DataRow dr in dtExcel.Rows)
{
emp = new EmployeeMaster();
emp = objEmployeeBO.GetEmployeeByEmpID(Convert.ToString(dr["EmployeeCode"])).FirstOrDefault();
if (emp != null)
{
dr["EmployeeName"] = emp.EmployeeName;
dr["SiteID"] = emp.SiteID;
dr["OrgUnitID"] = emp.OrgUnitID;
dr["RMID"] = emp.RMID;
dr["AvailingTransport"] = emp.AvailingTransport;
dr["IsActive"] = emp.IsActive;
}
}
dtExcel.AcceptChanges();
return dtExcel;
}
private bool ValidateExcelDates(DataTable dtExcel)
{
bool flag = true;
DateTime Startdate = DateTime.Now.Date;
foreach (DataRow dr in dtExcel.Rows)
{
if (!string.IsNullOrEmpty(Convert.ToString(dr["AdhocDate"])))
{
TimeSpan span = Convert.ToDateTime(dr["AdhocDate"]).Subtract(Startdate);
if (span.Days >= 0)
{
flag = true;
}
else
{
return false;
}
}
}
return flag;
}
private bool ValidateExcel(DataTable dtRoster, string User)
{
ViewState["dtOtherEmployee"] = null;
bool flag = false;
dtRoster.Columns.Add("Chk", typeof(bool));
dtRoster.Columns.Add("Error", typeof(string));
foreach (DataRow dr in dtRoster.Rows)
{
if (User == "ProcessAdmin")
{
try
{
List<int32> OrgunitIdlist = objEmployeeBO.GetOrgIDbyName(Convert.ToString(Session["Adminprocess"]));
// check other process employee or wrong employee ID
if (!OrgunitIdlist.Contains(Convert.ToInt32(dr["OrgUnitID"])))
{
dr["chk"] = false;
dr["Error"] = "Ouside Process";
}
}
catch (Exception)
{
dr["chk"] = false;
dr["Error"] = "Envalid Employee ID";
}
}
if (User == "TM")
{
if (((View_EmployeeMaster)Session["LoginEmployee"]).EmployeeCode != Convert.ToString(dr["RMID"]))
{
dr["chk"] = false;
dr["Error"] = "Employee has different Reporting Manager";
}
}
try
{
if (Convert.ToBoolean(dr["AvailingTransport"]) == false || Convert.ToBoolean(dr["IsActive"]) == false)
{
dr["chk"] = false;
dr["Error"] = "Not Availing Transport";
}
}
catch (Exception)
{
dr["chk"] = false;
dr["Error"] = "Envalid Employee ID";
}
if (string.IsNullOrEmpty(Convert.ToString(dr["Error"])))
{
dr["chk"] = true;
dr["Error"] = "Valid";
}
}
DataRow ndr = dtRoster.NewRow();
ndr["EmployeeCode"] = "1234";
ndr["EmployeeName"] = "test";
ndr["AdhocDate"] = DateTime.Today;
ndr["chk"] = false;
dtRoster.Rows.Add(ndr);
dtRoster.AcceptChanges();
if (dtRoster != null && dtRoster.Rows.Count > 0 && !string.IsNullOrEmpty(Convert.ToString(dtRoster.Rows[0]["EmployeeCode"])))
{
flag = false;
btnExporttoExcel.Visible = true;
btnSaveData.Visible = true;
ViewState["dtOtherEmployee"] = dtRoster;
grdViewEmployee.DataSource = dtRoster;
grdViewEmployee.DataBind();
}
else
{
flag = true;
btnExporttoExcel.Visible = btnSaveData.Visible = false;
grdViewEmployee.DataSource = null;
grdViewEmployee.DataBind();
}
return flag;
}
protected void btnExporttoExcel_Click(object sender, EventArgs e)
{
try
{
DataTable dt = new DataTable();
if (ViewState["dtOtherEmployee"] != null)
{
dt = (DataTable)ViewState["dtOtherEmployee"];
// This actually makes your HTML output to be downloaded as .xls file
Response.Clear();
Response.ClearContent();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=OtherEmployee.xls");
// Create a dynamic control, populate and render it
GridView excel = new GridView();
excel.DataSource = dt;
excel.DataBind();
excel.RenderControl(new HtmlTextWriter(Response.Output));
Response.Flush();
Response.End();
}
}
catch (ThreadAbortException ex)
{
lblMsg.CssClass = "error";
lblMsg.Text = ex.Message.ToString();
}
}
protected void grdViewEmployee_RowDataBound(object sender, GridViewRowEventArgs e)
{
CheckBox chk = (CheckBox)e.Row.FindControl("chk");
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (!chk.Checked)
{
chk.Enabled = false;
}
}
}
protected void btnSaveData_Click(object sender, EventArgs e)
{
DataTable dtRoster = (DataTable)ViewState["dtOtherEmployee"];
foreach (GridViewRow dgr in grdViewEmployee.Rows)
{
string empid = Convert.ToString(grdViewEmployee.DataKeys[dgr.RowIndex].Values[0]);
DateTime date = Convert.ToDateTime(grdViewEmployee.DataKeys[dgr.RowIndex].Values[1]);
CheckBox chk = (CheckBox)dgr.FindControl("chk");
if (!chk.Checked)
{
DataRow[] newdr = dtRoster.Select("EmployeeCode = " + empid + " AND AdhocDate ='" + date + "'");
newdr[0]["chk"] = false;
}
else
{
DataRow[] newdr = dtRoster.Select("EmployeeCode = " + empid + " AND AdhocDate ='" + date + "'");
newdr[0]["chk"] = true;
}
}
dtRoster.AcceptChanges();
if (dtRoster != null)
{
SaveBulkAdhoc(dtRoster);
}
}
}