Tuesday, 7 March 2017

Coding Page


         using BusinessEntities;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;

namespace KenResource.MasterSetups
{
    public partial class JobTaskMst : System.Web.UI.Page  
    {
        List<HRMS_JobTasks> jobtaskList = null;
        HRMS_JobTasks jobtaskEntity = new HRMS_JobTasks();
        List<JobFunction> jobfunkList = null;
        HttpClient client = new HttpClient();
        HttpResponseMessage hrm = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            var appsurl = ConfigurationManager.AppSettings["APIPath"].ToString();
            client.BaseAddress = new Uri(appsurl);
            if (!Page.IsPostBack)
            {
                jobTaskGrid.DataSource = String.Empty;
                //Add an Accept header for JSON format.
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                GetHRMS_JobTaskData();
                BindJobFunction();
            }
        }

        #region GetHRMS_JobTask
        private void GetHRMS_JobTaskData()
        {
            try
            {
                var jobtasklist = GetHRMS_JobTaskList().ToList();
                var jobfunlist = GetJobFunctionList().ToList();
                var query = (from a in jobtasklist
                             join b in jobfunlist on a.JobFunction_Id equals b.JobFunction_Id
                             where a.IsActive == true
                             orderby a.JobTask_Id descending
                             select new
                             {
                                 JobTask_Id = a.JobTask_Id,
                                 JobTask_Name = a.JobTask_Name,
                                 JobFunction_Id = b.JobFunction_Id,
                                 JobFunction_Name = b.JobFunction_Name,
                                 JobTask_Description = a.JobTask_Description,
                             }).ToList();

                    jobTaskGrid.DataSource = null;
                    jobTaskGrid.DataSource = query.ToList();
                    jobTaskGrid.DataBind();
               
            }
            catch (Exception ex)
            {

            }
        }
        #endregion

        private List<HRMS_JobTasks> GetHRMS_JobTaskList()
        {
            HttpResponseMessage hrm = client.GetAsync("api/HRMS_JobTask").Result;
            if (hrm.IsSuccessStatusCode)
            {
                jobtaskList = hrm.Content.ReadAsAsync<List<HRMS_JobTasks>>().Result;
                return jobtaskList.Where(a => a.IsActive == true).OrderByDescending(a => a.JobTask_Id).ToList();
            }
            else
            {
                return null;
            }
        }

        #region DDLBindJobFunction
        private void BindJobFunction()
        {
            try
            {
                HttpResponseMessage hrm = client.GetAsync("api/JobFunction").Result;
                if (hrm.IsSuccessStatusCode)
                {
                    jobfunkList = hrm.Content.ReadAsAsync<List<JobFunction>>().Result;
                    cmbJobFunction.DataSource = null;
                    cmbJobFunction.DataSource = jobfunkList.Where(a => a.IsActive == true).OrderByDescending(a => a.JobFunction_Id);
                    cmbJobFunction.DataTextField = "JobFunction_Name";
                    cmbJobFunction.DataValueField = "JobFunction_Id";
                    cmbJobFunction.DataBind();
                }
            }
            catch (Exception ex)
            {

            }
        }
        #endregion

        private List<JobFunction> GetJobFunctionList()
        {
            HttpResponseMessage hrm = client.GetAsync("api/JobFunction").Result;
            if (hrm.IsSuccessStatusCode)
            {
                jobfunkList = hrm.Content.ReadAsAsync<List<JobFunction>>().Result;
                return jobfunkList.Where(a => a.IsActive == true).OrderByDescending(a => a.JobFunction_Id).ToList();
            }
            else
            {
                return null;
            }
        }

        protected void Clear()
        {
            cmbJobFunction.ClearSelection();
            cmbJobFunction.Text = string.Empty;
            txtJobTask.Text = "";
            txtDescription.Text = "";
        }      

        protected bool ChkDuplicate()
        {
            try
            {
                var duplicata = GetHRMS_JobTaskList().Where(a => a.JobTask_Name.ToUpper() == txtJobTask.Text.ToUpper()).Distinct().ToList();
                string name = ViewState["JobTask_Name"].ToString();
                if (btnSave.Text == "Save" && txtJobTask.Text != "")
                {
                    if (duplicata.Count != 0)
                    {
                        OpenPopUp();
                        n1.Text = "Already Exist Job Task!";
                        n1.Show();
                        txtJobTask.Focus();
                        return false;
                    }
                    else
                    {
                        return true;
                    }
                }
                else if (btnSave.Text == "Update" && txtJobTask.Text != "")
                {
                    if (name == txtJobTask.Text || duplicata.Count == 0)
                    {
                        return true;
                    }
                    else
                    {
                        OpenPopUp();
                        n1.Text = "Already Exist Job Task!";
                        n1.Show();
                        txtJobTask.Focus();
                        return false;
                    }
                }
            }
            catch (Exception)
            {

            }
            return true;
        }

        protected void btnReset_Click(object sender, EventArgs e)
        {
            if (btnSave.Text == "Save")
            {
                Clear();
                OpenPopUp();
                btnSave.Text = "Save";
                txtJobTask.Focus();
            }
            else
            {
                cmbJobFunction.ClearSelection();
                cmbJobFunction.Text = ViewState["JobFunction_Name"].ToString();
                txtJobTask.Text = ViewState["JobTask_Name"].ToString();
                txtDescription.Text = ViewState["JobTask_Description"].ToString();
                OpenPopUp();
                btnSave.Text = "Update";
                txtJobTask.Focus();
            }
        }

        #region Save/UapdateHRMS_JobTasks
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (ChkDuplicate())
                {
                    if (btnSave.Text == "Save")
                    {
                        //Add an Accept header for JSON format.
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                        jobtaskEntity.JobFunction_Id = Convert.ToInt32(cmbJobFunction.SelectedValue);
                        jobtaskEntity.JobTask_Name = txtJobTask.Text;
                        jobtaskEntity.JobTask_Description = txtDescription.Text;
                        jobtaskEntity.InsertedBy = 1;
                        jobtaskEntity.InsertedOn = DateTime.Now;
                        jobtaskEntity.IsActive = true;
                        jobtaskEntity.IsDelete = false;

                        HttpResponseMessage content = client.PostAsJsonAsync("api/HRMS_JobTask", jobtaskEntity).Result;
                        if (content.IsSuccessStatusCode)
                        {
                            Clear();
                            lblMessage.Text = "<i class='ken-icon fa fa-check green'></i> Data Save Successfully!";
                            GetHRMS_JobTaskData();
                        }
                        else
                        {

                        }
                    }
                    else
                    {
                        //Add an Accept header for JSON format.
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                        jobtaskEntity.JobFunction_Id = Convert.ToInt32(cmbJobFunction.SelectedValue);
                        jobtaskEntity.JobTask_Name = txtJobTask.Text;
                        jobtaskEntity.JobTask_Description = txtDescription.Text;
                        jobtaskEntity.LastModifiedBy = 1;
                        jobtaskEntity.LastModifiedOn = DateTime.Now;
                        jobtaskEntity.IsActive = true;
                        jobtaskEntity.IsDelete = false;
                        HttpResponseMessage content = client.PutAsJsonAsync("api/HRMS_JobTask/" + hdJobTaskID.Text, jobtaskEntity).Result;
                        if (content.IsSuccessStatusCode)
                        {
                            Clear();
                            btnSave.Text = "Save";
                            GetHRMS_JobTaskData();
                            lblMessage.Text = "<i class='ken-icon fa fa-check green'></i> Data Update Successfully!";
                        }
                        else
                        {

                        }
                    }
                }
            }
            catch (Exception ex)
            {

            }
        }
        #endregion
        protected void FetchData()
        {
            try
            {
                var res = GetHRMS_JobTaskList().Where(a => a.JobTask_Id == Convert.ToInt32(hdJobTaskID.Text)).FirstOrDefault();

                var jobfunlist = GetJobFunctionList().ToList();
                var jobtasklist = GetHRMS_JobTaskList().ToList();
                var query = (from a in jobtasklist
                             join b in jobfunlist on a.JobFunction_Id equals b.JobFunction_Id
                             where res.JobFunction_Id == b.JobFunction_Id
                             select new
                             {
                                 JobFunction_Name = b.JobFunction_Name,
                                 JobFunction_Id=b.JobFunction_Id,
                             }).ToList();

                cmbJobFunction.Text = query[0].JobFunction_Name.ToString();
                cmbJobFunction.SelectedValue = query[0].JobFunction_Id.ToString();
                ViewState["JobFunction_Name"] = query[0].JobFunction_Name.ToString();
                txtJobTask.Text = res.JobTask_Name;
                ViewState["JobTask_Name"] = res.JobTask_Name;
                txtDescription.Text = res.JobTask_Description;
                ViewState["JobTask_Description"] = res.JobTask_Description;
                btnSave.Text = "Update";
            }
            catch (Exception)
            {
            }
        }
        protected void jobTaskGrid_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            if (e.CommandName == "EditJobTask")
            {
                try
                {
                    if (e.Item is GridDataItem)
                    {
                        Clear();
                        OpenPopUp();
                        hdJobTaskID.Text = Convert.ToString(jobTaskGrid.MasterTableView.Items[e.Item.ItemIndex].GetDataKeyValue("JobTask_Id")).ToString();
                        FetchData();
                    }
                }
                catch (Exception ex)
                {
                    //String s = ex.message;
                }
            }
            if (e.CommandName == "DeleteJobTask")
            {
                try
                {
                    if (e.Item is GridDataItem)
                    {
                        //Add an Accept header for JSON format.
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                        hdJobTaskID.Text = Convert.ToString(jobTaskGrid.MasterTableView.Items[e.Item.ItemIndex].GetDataKeyValue("JobTask_Id")).ToString();

                        foreach (var a in GetHRMS_JobTaskList().Where(i => i.JobTask_Id == Convert.ToInt32(hdJobTaskID.Text)).ToList())
                        {
                            jobtaskEntity.LastModifiedOn = DateTime.Now;
                            jobtaskEntity.LastModifiedBy = 1;
                            jobtaskEntity.IsActive = false;
                            jobtaskEntity.IsDelete = true;
                            HttpResponseMessage content = client.PutAsJsonAsync("api/HRMS_JobTask/" + hdJobTaskID.Text, jobtaskEntity).Result;

                            if (content.IsSuccessStatusCode)
                            {
                                lblMessage.Text = "<i class='ken-icon fa fa-check green'></i> Data Deleted Successfully!";
                                GetHRMS_JobTaskData();
                            }
                            else
                            {
                             
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    //String s = ex.message;
                }
            }
            if (e.CommandName == "resetGrid")
            {
                GetHRMS_JobTaskData();
            }
            if (e.CommandName == "addNew")
            {
                Clear();
                OpenPopUp();
                txtJobTask.Focus();
                BindJobFunction();
                btnSave.Text = "Save";
            }
            if (e.CommandName == RadGrid.FilterCommandName)
            {
                Pair filterPair = (Pair)e.CommandArgument;
                string value = filterPair.First.ToString();//accessing function name
                foreach (GridColumn col in jobTaskGrid.Columns)
                {
                    string filter = jobTaskGrid.MasterTableView.GetColumn(col.UniqueName).CurrentFilterValue.ToString();
                }
                GetHRMS_JobTaskData();
            }
        }

        private void OpenPopUp()
        {
            string script = "function f(){Open('" + RadWindow1.ClientID + "'); Sys.Application.remove_load(f);}Sys.Application.add_load(f);";
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);
        }

        protected void jobTaskGrid_PageIndexChanged(object sender, Telerik.Web.UI.GridPageChangedEventArgs e)
        {
            jobTaskGrid.CurrentPageIndex = e.NewPageIndex;
            jobTaskGrid.DataSource = GetHRMS_JobTaskList();
            jobTaskGrid.DataBind();
        }

        protected void jobTaskGrid_PageSizeChanged(object sender, Telerik.Web.UI.GridPageSizeChangedEventArgs e)
        {
            jobTaskGrid.DataSource = GetHRMS_JobTaskList();
            jobTaskGrid.DataBind();
        }
        private void Closepopup()
        {
            string script = "function f(){Close('" + RadWindow1.ClientID + "'); Sys.Application.remove_load(f);}Sys.Application.add_load(f);";
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);
        }

        protected void btnCancel_Click(object sender, EventArgs e)
        {
            Closepopup();
        }
    }
}

No comments:

Post a Comment