20-03-2020--------------Developer/attendance.aspx

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:Label ID="txtmsg" class="txtmsgg" runat="server" ForeColor="Green"></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 (Convert.ToDateTime(item.Going_Time).Ticks != Convert.ToDateTime(item.Coming_Time).Ticks && item.Status == "Come" && item.Hr_Permission == false)
            //        {
            //            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;&#128075;";
            //            }
            //        }
            //        else if (Convert.ToDateTime(item.Going_Time).Ticks == Convert.ToDateTime(item.Coming_Time).Ticks && item.Status == "Come" && !(item.Going_Time.ToString("MM/dd/yyyy").Equals(DateTime.Now.ToString("MM/dd/yyyy"))))
            //        {
            //            btnmorning.Visible = true;
            //            btnnight.Visible = false;
            //            txtmessage.Visible = true;
            //            //txt_date.Visible = false;
            //            txtmsg.Text = "";
            //        }

            //        else 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;
            //            txtmsg.Text = "";
            //        }

            //        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;&#128075;";
            //            }
            //        }
            //        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;
            //}
        }

        int status = CheckGoodNightAppearsOrNot();
        if(status==2)
        {
            btnmorning.Visible = true;
            btnnight.Visible = false;
        }
        else if (status == 1 || status == 3)
        {
            btnmorning.Visible = false;
            btnnight.Visible = false;
        }
        else if (status == 0)
        {
            btnmorning.Visible = false;
            btnnight.Visible = true;
        }

    }


    protected int CheckGoodNightAppearsOrNot()
    {
        int status = -1;
        try
        {
            if (Session["developer_srno"] != null)
            {
                int User_Id = int.Parse(Session["developer_srno"].ToString());
                string[] col1 = { "@srno" };
                object[] val1 = {User_Id};
                DataSet ds4 = dal.getDataSet("USPCheckGoodNightAppearsOrNot", col1, val1);
                if (ds4.Tables[0].Rows.Count > 0)
                {

                    status = Convert.ToInt32(ds4.Tables[0].Rows[0]["found"]);
                }
                
                return status;
            }
            else
            {
                Response.Redirect("~/Pr-Admin-Log");
            }
        }
        catch (Exception ex)
        {
            status = -1;
            lblmsg.Text = ex.Message.ToString();
        }
        return status;
    }

    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 = "";
                int numberOfMonth = 0;
                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()),
                                       numberOfMonth = Convert.ToInt32(dr["numberOfMonth"]),
                                   }).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;
                        numberOfMonth = LastUpdateDate.numberOfMonth;
                    }
                }
                //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", "@Hr_Permission", "@Actiontype" };
                                //object[] val1 = { Attendance_Id, User_Id, DateTime.Now, DateTime.Now, ((numberOfMonth >= 10) ? "Go" : "Come"), txtmessage.Text, ((numberOfMonth >= 10) ? 1 : 0), "Going" };
                                object[] val1 = { Attendance_Id, User_Id, DateTime.Now, DateTime.Now, ((numberOfMonth >= 10) ? "Go" : "Go"), txtmessage.Text, ((numberOfMonth >= 10) ? 1 : 1), "Going" };
                                int i = dal.execute("ManageAttendance", col1, val1);
                                if (i == 1)
                                {
                                    btnnight.Visible = false;
                                    lblmsg.Text = "";
                                    txtmessage.Visible = false;
                                    txtmsg.Text = "Great ! you my leave now, Good Night &#128522;&#128075;";
                                    //if (numberOfMonth >= 10)
                                    //{
                                    //    txtmsg.Text = "Great ! you my leave now, Good Night &#128522;&#128075;";
                                    //}
                                    //else
                                    //{

                                    //    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", "@Hr_Permission", "@Actiontype" };
                        //object[] val1 = { Attendance_Id, User_Id, DateTime.Now, DateTime.Now, ((numberOfMonth >= 10) ? "Go" : "Come"), txtmessage.Text, ((numberOfMonth >= 10) ? 1 : 0), "Going" };
                        object[] val1 = { Attendance_Id, User_Id, DateTime.Now, DateTime.Now, ((numberOfMonth >= 10) ? "Go" : "Go"), txtmessage.Text, ((numberOfMonth >= 10) ? 1 : 1), "Going" };
                        int i = dal.execute("ManageAttendance", col1, val1);

                        
                        if (i == 1)
                        {
                            btnnight.Visible = false;
                            lblmsg.Text = "";
                            txtmessage.Visible = false;
                            txtmsg.Text = "Great ! you my leave now, Good Night &#128522;&#128075;";
                            //if (numberOfMonth >= 10)
                            //{
                            //    txtmsg.Text = "Great ! you my leave now, Good Night &#128522;&#128075;";
                            //}
                            //else
                            //{

                            //    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; }
        public int numberOfMonth { 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 LastUpdateDateCome = (from c in listdt1 where c.Status == "Come" || c.Status == "Go" select c).LastOrDefault();
                if (LastUpdateDateCome != null)
                {
                    Attendance_Id = LastUpdateDateCome.Id;
                    Hr_Permission = LastUpdateDateCome.Hr_Permission;
                    comingTime = LastUpdateDateCome.Coming_Time;
                    goingTime = LastUpdateDateCome.Going_Time;
                }
                //var LastUpdateDateGo = (from c in listdt1 where c.Status == "Go" select c).LastOrDefault();
                //if (LastUpdateDateGo != null)
                //{
                //    Attendance_Id = LastUpdateDateGo.Id;
                //    Hr_Permission = LastUpdateDateGo.Hr_Permission;
                //    comingTime = LastUpdateDateGo.Coming_Time;
                //    goingTime = LastUpdateDateGo.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;&#128075;";
            }
            else if (comingTime == goingTime)
            {
                lblmsg.Text = "";
                txtmsg.Text = "";
            }
            else
            {
                lblmsg.Text = "";
                txtmsg.Text = "Wait for manager's approval &#9995;";
            }
        }
        else if (comingTime.Ticks != goingTime.Ticks && Hr_Permission == false && time1 != time3)
        {
            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