1) Developer/attendance

Developer/attendance.aspx






<%@ Page Title="" Language="C#" MasterPageFile="~/Developer/DeveloperMaster.master" AutoEventWireup="true" CodeFile="attendance.aspx.cs" Inherits="Developer_Default" %>

<asp:Content http-equiv="Refresh" content="10" ID="Content1" ContentPlaceHolderID="head" runat="Server">
    
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
   
    <table width="400" border="1" cellspacing="2" cellpadding="1" class='tdrow4' align='center'>
         
        <tr align="center">
            <td colspan="2" class="txt">Attendance  Entry Form <strong>(Coming time <%=ComingTime%>)</strong><%=GoingTime%></td>
        </tr>
        <tr class="rowDate" class="rowDate">
            <td width="199" align="right" class="Tab3"><strong>Date</strong></td>
            <td width="185">
              
                <asp:TextBox ID="txt_date" runat="server" ReadOnly="true" size="30"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="*"
                    InitialValue="" ValidationGroup="valgroup" Display="Dynamic" ControlToValidate="txt_date"
                    SetFocusOnError="true" ForeColor="Red"></asp:RequiredFieldValidator>
            </td>
        </tr> 
        <tr align="center" class="rowMessage"> 
            <td width="199" align="right" class="Tab3"></td>
            <td width="185">
                <asp:TextBox ID="txtmessage" runat="server" TextMode="multiline" Columns="50" Rows="5" placeholder="Enter Message,If Any?" size="30"></asp:TextBox>
            </td>
        </tr>
        <tr align="center">
            <td colspan="2">
                <asp:Label ID="lberror" runat="server" ForeColor="Red"></asp:Label>
                <asp:Button ID="btnmorning" runat="server" Text="Good Morning" ToolTip="Submit"
                    Style="cursor: pointer;" OnClick="btnmorning_Click" CssClass="Tab2" /><br />
                <asp:Button ID="btnnight" runat="server" Text="I have completed my all today's assigned work, should I leave now?" ToolTip="Submit"
                    Style="cursor: pointer;" OnClick="btnnight_Click" CssClass="Tab2" /><br />
                <asp:Label ID="lblmsg" runat="server" ForeColor="Red"></asp:Label>
                <asp:Label ID="lblid" runat="server" Visible="false"></asp:Label>
                  <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

      <asp:Timer ID="Timer1" runat="server" Interval="10000" OnTick="Timer1_Tick"></asp:Timer>
    <asp:UpdatePanel runat="server">
          <ContentTemplate>
           <asp:Label ID="txtmsg" class="txtmsgg" runat="server" ForeColor="Green"></asp:Label>
          </ContentTemplate>
          <Triggers>
              <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /> 
          </Triggers> 
      </asp:UpdatePanel>
            </td>
        </tr>
    </table> 
</asp:Content>







Developer/attendance.aspx.cs






using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Developer_Default : System.Web.UI.Page
{
    MainClass dut = new MainClass();
    DataAccessLayer dal = new DataAccessLayer();
    public string ComingTime = "";
    public string GoingTime = "";
    protected void Page_Load(object sender, EventArgs e)
    {

        if (Request.Cookies["developer_srno"] != null)
        {
            var value = Request.Cookies["developer_srno"].Value; 
            if (value == "") 
            { 
                Response.Redirect("~/Pr-Admin-Log"); 
            }
            Session["developer_srno"] = value; 
        }   
        if (Session["developer_srno"] == null) 
        {
            Response.Redirect("~/Pr-Admin-Log");
        }   
        if (!IsPostBack) 
        { 
            txt_date.Text = System.DateTime.Now.ToString("MM/dd/yy H:mm:ss"); 
            comingtime();
            int User_Id = int.Parse(Session["developer_srno"].ToString());
            var list = new List<SqlParameter>();
            list.Add(new SqlParameter("@Id", "0"));
            list.Add(new SqlParameter("@User_Id", User_Id));
            list.Add(new SqlParameter("@Actiontype", "select1"));
            DataTable dt = dal.getdataTable("ManageAttendance", list.ToArray());
            if (dt.Rows.Count > 0)
            {
                var listdt1 = (from DataRow dr in dt.Rows   
                               select new MyModelClass() 
                               {
                                   Id = Convert.ToInt32(dr["Id"]),
                                   Going_Time = Convert.ToDateTime(dr["Going_Time"].ToString()),
                                   Coming_Time = Convert.ToDateTime(dr["Coming_Time"].ToString()),
                                   User_Id = Convert.ToInt32(dr["User_Id"]),
                                   Status = dr["Status"].ToString(),
                                   Hr_Permission = Convert.ToBoolean(dr["Hr_Permission"].ToString())
                               }).ToList(); 
                  
                foreach (var item in listdt1)
                { 
                       
                    if (item.Going_Time.ToString("MM/dd/yyyy").Equals(DateTime.Now.ToString("MM/dd/yyyy")) && item.Status == "Come")
                    {
                        btnmorning.Visible = false; 
                        btnnight.Visible = true;
                        txtmessage.Visible = true; 
                    }   
                   
                    else if (item.Going_Time.ToString("MM/dd/yyyy").Equals(DateTime.Now.ToString("MM/dd/yyyy")) && item.Status == "Go")
                    {
                        btnmorning.Visible = false; 
                        btnnight.Visible = false;  
                        txtmessage.Visible = false;
                        //txt_date.Visible = false;
                        if(item.Hr_Permission == false)
                        txtmsg.Text = "Wait for manager's approval &#9995;";
                        else
                        {
                            txtmsg.Text = "Great ! you my leave now, Good Night &#128522;";
                        }
                    }
                    else
                    {
                        btnmorning.Visible = true;
                        btnnight.Visible = false;
                        txtmessage.Visible = true;
                        //txt_date.Visible = false;
                        txtmsg.Text = "";
                    } 
                }
            }
            else
            {
                btnmorning.Visible = true;
                btnnight.Visible = false;
                txtmessage.Visible = true;
            }
        }
    }
    protected void btnmorning_Click(object sender, EventArgs e)
    {
        try
        {
            if (Session["developer_srno"] != null)
            {
                comingtime();
                int User_Id = int.Parse(Session["developer_srno"].ToString());
                string[] col1 = { "@Id", "@User_Id", "@Coming_Time", "@Going_Time", "@Status", "@Coming_Message", "@Actiontype" };
                object[] val1 = { "0", User_Id, DateTime.Now, DateTime.Now, "Come", txtmessage.Text, "Coming" };
                int i = dal.execute("ManageAttendance", col1, val1);
                if (i == 1)
                    lblmsg.Text = "Data Save Successfuly."; 

                Response.Redirect("attendance.aspx");

                txt_date.Text = System.DateTime.Now.ToString("MM/dd/yy H:mm:ss");
            }
            else
            {
                Response.Redirect("~/Pr-Admin-Log");
            }
        }
        catch (Exception ex)
        {
            lblmsg.Text = ex.Message.ToString();
        }
    }
    protected void btnnight_Click(object sender, EventArgs e)
    {    
        try 
        { 
            if (Session["developer_srno"] != null)
            {
                int User_Id = int.Parse(Session["developer_srno"].ToString());
                int Attendance_Id = 0;
                bool Hr_Permission = false;
                string Status = "";  
                var list = new List<SqlParameter>();
                list.Add(new SqlParameter("@Id", "0"));
                list.Add(new SqlParameter("@User_Id", User_Id));
                list.Add(new SqlParameter("@Actiontype", "select1"));
                DataTable dt = dal.getdataTable("ManageAttendance", list.ToArray());
                if (dt.Rows.Count > 0)
                {  
                    var listdt1 = (from DataRow dr in dt.Rows
                                   select new MyModelClass()
                                   {
                                       Id = Convert.ToInt32(dr["Id"]),
                                       Going_Time = Convert.ToDateTime(dr["Going_Time"].ToString()),
                                       Coming_Time = Convert.ToDateTime(dr["Coming_Time"].ToString()),
                                       User_Id = Convert.ToInt32(dr["User_Id"]),
                                       Status = dr["Status"].ToString(),
                                       Hr_Permission = Convert.ToBoolean(dr["Hr_Permission"].ToString()), 
                                   }).ToList();

                    if (listdt1.Count > 0)
                    {
                        var LastUpdateDate = (from c in listdt1 where c.Status == "Come" select c).FirstOrDefault();
                        Attendance_Id = LastUpdateDate.Id;
                        Hr_Permission = LastUpdateDate.Hr_Permission;
                    }
                }
                //if (Hr_Permission==false)
                //{
                //    lblmsg.Text = "Hr Not Give You Permission";  
                //}
                //else
                //{
                    if (Attendance_Id > 0)
                    {
                        var list1 = new List<SqlParameter>();
                        list1.Add(new SqlParameter("@Id", "0"));
                        list1.Add(new SqlParameter("@User_Id", User_Id));
                        list1.Add(new SqlParameter("@Actiontype", "Select2"));
                        DataTable dt1 = dal.getdataTable("TimeCalculator", list1.ToArray());
                        if (dt1.Rows.Count > 0)
                        {
                            var listdt1 = (from DataRow dr in dt1.Rows
                                           select new MyModelClass()
                                           {
                                               Id = Convert.ToInt32(dr["Id"]),
                                               Going_Time = Convert.ToDateTime(dr["Timing"].ToString()),
                                               User_Id = Convert.ToInt32(dr["User_Id"]),
                                               Status = dr["Status"].ToString(),
                                           }).ToList();
                            if (listdt1.Count > 0)
                            {
                                var LastUpdateDate = (from c in listdt1 select c).LastOrDefault();
                                Status = LastUpdateDate.Status;
                                if (Status != "Out")
                                {
                                    string[] col1 = { "@Id", "@User_Id", "@Coming_Time", "@Going_Time", "@Status", "@Going_Message", "@Actiontype" };
                                    object[] val1 = { Attendance_Id, User_Id, DateTime.Now, DateTime.Now, "Go", txtmessage.Text, "Going" };
                                    int i = dal.execute("ManageAttendance", col1, val1);
                                if (i == 1)
                                {
                                    btnnight.Visible = false;
                                    lblmsg.Text = "";
                                    txtmessage.Visible = false;
                                    txtmsg.Text = "Wait for manager's approval &#9995;";
                                }
                                txt_date.Text = System.DateTime.Now.ToString("MM/dd/yy H:mm:ss");
                                }
                                else
                                {
                                    lberror.Text = "Please Inside First";
                                }
                            }
                        }
                        else
                        {
                            string[] col1 = { "@Id", "@User_Id", "@Coming_Time", "@Going_Time", "@Status", "@Going_Message", "@Actiontype" };
                            object[] val1 = { Attendance_Id, User_Id, DateTime.Now, DateTime.Now, "Go", txtmessage.Text, "Going" };
                            int i = dal.execute("ManageAttendance", col1, val1);
                        if (i == 1)
                        {
                            btnnight.Visible = false;
                            lblmsg.Text = "";
                            txtmessage.Visible = false;
                            txtmsg.Text = "Wait for manager's approval &#9995;";
                        }

                        //Response.Redirect("attendance.aspx");
                        btnnight.Visible = false;
                            txt_date.Text = System.DateTime.Now.ToString("MM/dd/yy H:mm:ss");
                        }
                    //} 
                } 
            }
            else
            {
                Response.Redirect("~/Pr-Admin-Log");
            }
        }
        catch (Exception ex)
        {
            lblmsg.Text = ex.Message.ToString();
        }
    }
    private void comingtime()
    {
        int User_Id = int.Parse(Session["developer_srno"].ToString());
        var list = new List<SqlParameter>();
        list.Add(new SqlParameter("@Id", "0"));
        list.Add(new SqlParameter("@User_Id", User_Id));
        list.Add(new SqlParameter("@Actiontype", "Select2"));
        DataTable dt = dal.getdataTable("ManageAttendance", list.ToArray());
        if (dt.Rows.Count > 0)
        {
            var listdt1 = (from DataRow dr in dt.Rows
                           select new MyModelClass()
                           {
                               Id = Convert.ToInt32(dr["Id"]),
                               Coming_Time = Convert.ToDateTime(dr["Coming_Time"].ToString()),
                               Going_Time = Convert.ToDateTime(dr["Going_Time"].ToString()),
                               User_Id = Convert.ToInt32(dr["User_Id"]),
                               Status = dr["Status"].ToString(),
                           }).ToList();

            var LastUpdateDate = (from c in listdt1 select c).FirstOrDefault();
            ComingTime = LastUpdateDate.Coming_Time.ToString("hh:mm tt");
            if (LastUpdateDate.Status == "Go")
            {
                GoingTime = "(Going Time" + LastUpdateDate.Going_Time.ToString("hh:mm tt") + ")";
            } 
        }
    }
    class MyModelClass
    {
        public int Id { get; set; }
        public int User_Id { get; set; }
        public string Status { get; set; } 
        public bool Hr_Permission { get; set; }
        public DateTime Coming_Time { get; set; }
        public DateTime Going_Time { get; set; }
    }
    protected void Timer1_Tick(object sender, EventArgs e)
    {
        int User_Id = int.Parse(Session["developer_srno"].ToString());
        int Attendance_Id = 0;
        bool Hr_Permission = false;
        string Status = "";
        var list = new List<SqlParameter>();
        list.Add(new SqlParameter("@Id", "0"));
        list.Add(new SqlParameter("@User_Id", User_Id));
        list.Add(new SqlParameter("@Actiontype", "select1"));
        DataTable dt = dal.getdataTable("ManageAttendance", list.ToArray());
        DateTime comingTime = new DateTime();
        DateTime goingTime = new DateTime();
        if (dt.Rows.Count > 0)
        {
            var listdt1 = (from DataRow dr in dt.Rows
                           select new MyModelClass()
                           {
                               Id = Convert.ToInt32(dr["Id"]),
                               Going_Time = Convert.ToDateTime(dr["Going_Time"].ToString()),
                               Coming_Time = Convert.ToDateTime(dr["Coming_Time"].ToString()),
                               User_Id = Convert.ToInt32(dr["User_Id"]),
                               Status = dr["Status"].ToString(),
                               Hr_Permission = Convert.ToBoolean(dr["Hr_Permission"].ToString()),
                           }).ToList();
            
            if (listdt1.Count > 0)
            {
                var LastUpdateDate = (from c in listdt1 where c.Status == "Go" select c).LastOrDefault();
                if (LastUpdateDate != null)
                {
                    Attendance_Id = LastUpdateDate.Id;
                    Hr_Permission = LastUpdateDate.Hr_Permission;
                    comingTime = LastUpdateDate.Coming_Time;
                    goingTime = LastUpdateDate.Going_Time;
                }
            }
        }
        string time1 = comingTime.ToString("dd/MM/yy");
        string time2 = goingTime.ToString("dd/MM/yy");
        string[] times3 = txt_date.Text.ToString().Split('-');
        string time3 = times3[1]+"-"+ times3[0]+"-"+ times3[2].Substring(0,2);
        if (time1== time2 && time1==time3)
        {
            if (Hr_Permission == true)
            {
                lblmsg.Text = "";
                txtmsg.Text = "Great ! you my leave now, Good Night &#128522;";
            }
            else if (comingTime == goingTime)
            {
                lblmsg.Text = "";
                txtmsg.Text = "";
            }
            else
            {
                lblmsg.Text = "";
                txtmsg.Text = "Wait for manager's approval &#9995;";
            }
        }
        else
        {
            lblmsg.Text = "";
            txtmsg.Text = "";
        }
    }

}

Comments

Popular posts from this blog

20-03-2020--------------admin/Hr_Permission.aspx

1) New change in Developer/attendance.aspx.cs

lave page for developer