public bool DeleteData(MAS_TEMPLATECOLNAME data)
        {
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            bool bRet = false;

            try
            {
                string strQuery = "DELETE FROM [dbo].[tb_mas_TemplateColName] WHERE TemplateNo = @TemplateNo ";

                SqlCommand command = new SqlCommand(strQuery, _conn);
                command.Parameters.AddWithValue("@TemplateNo", data.TemplateNo);
                command.ExecuteNonQuery();

                bRet = true;
            }
            catch (SqlException sqlEx)
            {
                logger.Error(sqlEx);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }

            return(bRet);
        }
        private void GetItemTemplateNSetGridview(string TemplateNo)
        {
            MAS_TEMPLATECOLNAME value = new MAS_TEMPLATECOLNAME();

            try
            {
                Int64 pkItemCol = Int64.Parse(TemplateNo);
                Mas_TemplateColName_Manage manage = new Mas_TemplateColName_Manage();
                MAS_TEMPLATECOLNAME        para   = new MAS_TEMPLATECOLNAME();
                para.TemplateNo = pkItemCol;

                value = manage.GetMasTemplateColNameByKey(para);

                ViewState["ColNameByPk"] = value;

                if (value != null && !string.IsNullOrWhiteSpace(value.TemplateNo.ToString()))
                {
                    BindItemProjectData(value);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }
        }
        public List <MAS_TEMPLATECOLNAME> ListTemplateName()
        {
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

            List <MAS_TEMPLATECOLNAME> lRet = new List <MAS_TEMPLATECOLNAME>();

            try
            {
                string strQuery = "SELECT DISTINCT TemplateNo,TemplateName FROM  tb_mas_TemplateColName ";

                SqlCommand command = new SqlCommand(strQuery, _conn);
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        MAS_TEMPLATECOLNAME data = new MAS_TEMPLATECOLNAME();

                        if (!DBNull.Value.Equals(reader["TemplateNo"]))
                        {
                            data.TemplateNo = (Int64)reader["TemplateNo"];
                        }
                        if (!DBNull.Value.Equals(reader["TemplateName"]))
                        {
                            data.TemplateName = (string)reader["TemplateName"];
                        }

                        lRet.Add(data);
                    }
                }
            }
            catch (SqlException sqlEx)
            {
                logger.Error(sqlEx);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }

            return(lRet);
        }
Пример #4
0
        protected void gvListTemplate_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string pk = gvListTemplate.DataKeys[e.RowIndex].Value.ToString().Trim();
            MAS_TEMPLATECOLNAME data = new MAS_TEMPLATECOLNAME();

            data.TemplateNo = Int64.Parse(pk);

            Mas_TemplateColName_Manage manage = new Mas_TemplateColName_Manage();
            bool bDel = manage.DeleteMasTemplateColName(data);

            if (bDel)
            {
                InitialControl();
            }
            else
            {
                MessageUtil util = new MessageUtil();
                util.MsgBox("ไม่สามารถลบข้อมูลได้!", this.Page, this);
            }
        }
Пример #5
0
        public bool DeleteMasTemplateColName(MAS_TEMPLATECOLNAME data)
        {
            IDbConnection conn = null;
            bool          ret  = false;

            try
            {
                //SET CONNECTION
                conn = ConnectionFactory.GetConnection();
                conn.ConnectionString = ConfigurationManager.GetConfiguration().DbConnectionString;

                //OPEN CONNECTION
                conn.Open();

                Mas_TemplateColNameBL bl = new Mas_TemplateColNameBL(conn);
                ret = bl.DeleteData(data);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }
            finally
            {
                if (conn != null)
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }
                    conn.Dispose();
                }
            }

            return(ret);
        }
        public MAS_TEMPLATECOLNAME GetDataByKey(MAS_TEMPLATECOLNAME data)
        {
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            MAS_TEMPLATECOLNAME retData = new MAS_TEMPLATECOLNAME();

            try
            {
                string strQuery = "SELECT * FROM [dbo].[tb_mas_TemplateColName] WHERE [TemplateNo] = @TemplateNo ";

                SqlCommand command = new SqlCommand(strQuery, _conn);
                command.Parameters.AddWithValue("@TemplateNo", data.TemplateNo);

                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        if (!DBNull.Value.Equals(reader["TemplateNo"]))
                        {
                            retData.TemplateNo = (Int64)reader["TemplateNo"];
                        }
                        if (!DBNull.Value.Equals(reader["TemplateName"]))
                        {
                            retData.TemplateName = (string)reader["TemplateName"];
                        }
                        if (!DBNull.Value.Equals(reader["ColumnName1"]))
                        {
                            retData.ColumnName1 = (string)reader["ColumnName1"];
                        }
                        if (!DBNull.Value.Equals(reader["ColumnName2"]))
                        {
                            retData.ColumnName2 = (string)reader["ColumnName2"];
                        }
                        if (!DBNull.Value.Equals(reader["ColumnName3"]))
                        {
                            retData.ColumnName3 = (string)reader["ColumnName3"];
                        }
                        if (!DBNull.Value.Equals(reader["ColumnName4"]))
                        {
                            retData.ColumnName4 = (string)reader["ColumnName4"];
                        }
                        if (!DBNull.Value.Equals(reader["ColumnName5"]))
                        {
                            retData.ColumnName5 = (string)reader["ColumnName5"];
                        }
                        if (!DBNull.Value.Equals(reader["ColumnName6"]))
                        {
                            retData.ColumnName6 = (string)reader["ColumnName6"];
                        }
                        if (!DBNull.Value.Equals(reader["ColumnName7"]))
                        {
                            retData.ColumnName7 = (string)reader["ColumnName7"];
                        }
                        if (!DBNull.Value.Equals(reader["ColumnName8"]))
                        {
                            retData.ColumnName8 = (string)reader["ColumnName8"];
                        }
                    }
                }
            }
            catch (SqlException sqlEx)
            {
                logger.Error(sqlEx);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }

            return(retData);
        }
        public bool InsertData(MAS_TEMPLATECOLNAME data)
        {
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            bool bRet = false;

            try
            {
                string strQuery = "INSERT INTO [dbo].[tb_mas_TemplateColName] " +
                                  "([TemplateName] " +
                                  ",[ColumnName1] " +
                                  ",[ColumnName2] " +
                                  ",[ColumnName3] " +
                                  ",[ColumnName4] " +
                                  ",[ColumnName5] " +
                                  ",[ColumnName6] " +
                                  ",[ColumnName7] " +
                                  ",[ColumnName8] " +
                                  ",[CreatedBy] " +
                                  ",[CreatedDate] " +
                                  ",[UpdatedBy] " +
                                  ",[UpdatedDate]) " +
                                  "VALUES " +
                                  "(@TemplateName " +
                                  ",@ColumnName1 " +
                                  ",@ColumnName2 " +
                                  ",@ColumnName3 " +
                                  ",@ColumnName4 " +
                                  ",@ColumnName5 " +
                                  ",@ColumnName6 " +
                                  ",@ColumnName7 " +
                                  ",@ColumnName8 " +
                                  ",@CreatedBy " +
                                  ",@CreatedDate " +
                                  ",@UpdatedBy " +
                                  ",@UpdatedDate)";

                SqlCommand command = new SqlCommand(strQuery, _conn);

                command.Parameters.AddWithValue("@TemplateName", (string.IsNullOrWhiteSpace(data.TemplateName) ? "" : data.TemplateName));
                command.Parameters.AddWithValue("@ColumnName1", (string.IsNullOrWhiteSpace(data.ColumnName1) ? "" : data.ColumnName1));
                command.Parameters.AddWithValue("@ColumnName2", (string.IsNullOrWhiteSpace(data.ColumnName2) ? "" : data.ColumnName2));
                command.Parameters.AddWithValue("@ColumnName3", (string.IsNullOrWhiteSpace(data.ColumnName3) ? "" : data.ColumnName3));
                command.Parameters.AddWithValue("@ColumnName4", (string.IsNullOrWhiteSpace(data.ColumnName4) ? "" : data.ColumnName4));
                command.Parameters.AddWithValue("@ColumnName5", (string.IsNullOrWhiteSpace(data.ColumnName5) ? "" : data.ColumnName5));
                command.Parameters.AddWithValue("@ColumnName6", (string.IsNullOrWhiteSpace(data.ColumnName6) ? "" : data.ColumnName6));
                command.Parameters.AddWithValue("@ColumnName7", (string.IsNullOrWhiteSpace(data.ColumnName7) ? "" : data.ColumnName7));
                command.Parameters.AddWithValue("@ColumnName8", (string.IsNullOrWhiteSpace(data.ColumnName8) ? "" : data.ColumnName8));


                command.Parameters.AddWithValue("@CreatedBy", (string.IsNullOrWhiteSpace(data.CreatedBy) ? "" : data.CreatedBy));
                if (!string.IsNullOrEmpty(data.CreatedDate.ToString()))
                {
                    DateTime dtNew      = (DateTime)data.CreatedDate;
                    string   dateString = dtNew.ToString("MM/dd/yyyy HH:mm:ss");
                    command.Parameters.AddWithValue("@CreatedDate", dateString);
                }
                else
                {
                    command.Parameters.AddWithValue("@CreatedDate", DateTime.Now);
                }

                command.Parameters.AddWithValue("@UpdatedBy", (string.IsNullOrWhiteSpace(data.UpdatedBy) ? "" : data.UpdatedBy));
                if (!string.IsNullOrEmpty(data.UpdatedDate.ToString()))
                {
                    DateTime dtNew      = (DateTime)data.UpdatedDate;
                    string   dateString = dtNew.ToString("MM/dd/yyyy HH:mm:ss");
                    command.Parameters.AddWithValue("@UpdatedDate", dateString);
                }
                else
                {
                    command.Parameters.AddWithValue("@UpdatedDate", DateTime.Now);
                }

                if (command.ExecuteNonQuery() == 1)
                {
                    bRet = true;
                }
            }
            catch (SqlException sqlEx)
            {
                logger.Error(sqlEx);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }

            return(bRet);
        }
        private DataTable CreateTableItemColumn(MAS_TEMPLATECOLNAME colName)
        {
            /*********** For Create DataTable and Gridview Column ****************/
            DataTable dtColName = null;

            dtColName = new DataTable();
            dtColName.Clear();
            dtColName.Columns.Add("ProjectItemNo", typeof(string));
            dtColName.Columns.Add("ProjectNo", typeof(string));

            /**************** Set Gridview Property ***************/
            gvItem.Columns.Clear();
            gvItem.AllowSorting = false;
            gvItem.AllowPaging  = false;
            gvItem.ShowFooter   = true;
            /******************************************************/

            TemplateField tfield;

            if (!string.IsNullOrWhiteSpace(colName.ColumnName1))
            {
                dtColName.Columns.Add("ItemColumn1", typeof(string));
                tfield            = new TemplateField();
                tfield.HeaderText = colName.ColumnName1;
                tfield.ItemStyle.HorizontalAlign.Equals("Center");
                tfield.ItemStyle.VerticalAlign.Equals("Middle");

                gvItem.Columns.Add(tfield);
            }
            if (!string.IsNullOrWhiteSpace(colName.ColumnName2))
            {
                dtColName.Columns.Add("ItemColumn2", typeof(string));
                tfield            = new TemplateField();
                tfield.HeaderText = colName.ColumnName2;
                tfield.ItemStyle.HorizontalAlign.Equals("Center");
                tfield.ItemStyle.VerticalAlign.Equals("Middle");

                gvItem.Columns.Add(tfield);
            }
            if (!string.IsNullOrWhiteSpace(colName.ColumnName3))
            {
                dtColName.Columns.Add("ItemColumn3", typeof(string));


                tfield            = new TemplateField();
                tfield.HeaderText = colName.ColumnName3;
                tfield.ItemStyle.HorizontalAlign.Equals("Center");
                tfield.ItemStyle.VerticalAlign.Equals("Middle");

                gvItem.Columns.Add(tfield);
            }
            if (!string.IsNullOrWhiteSpace(colName.ColumnName4))
            {
                dtColName.Columns.Add("ItemColumn4", typeof(string));
                tfield            = new TemplateField();
                tfield.HeaderText = colName.ColumnName4;
                tfield.ItemStyle.HorizontalAlign.Equals("Center");
                tfield.ItemStyle.VerticalAlign.Equals("Middle");

                gvItem.Columns.Add(tfield);
            }
            if (!string.IsNullOrWhiteSpace(colName.ColumnName5))
            {
                dtColName.Columns.Add("ItemColumn5", typeof(string));
                tfield            = new TemplateField();
                tfield.HeaderText = colName.ColumnName5;
                tfield.ItemStyle.HorizontalAlign.Equals("Center");
                tfield.ItemStyle.VerticalAlign.Equals("Middle");

                gvItem.Columns.Add(tfield);
            }
            if (!string.IsNullOrWhiteSpace(colName.ColumnName6))
            {
                dtColName.Columns.Add("ItemColumn6", typeof(string));


                tfield            = new TemplateField();
                tfield.HeaderText = colName.ColumnName6;
                tfield.ItemStyle.HorizontalAlign.Equals("Center");
                tfield.ItemStyle.VerticalAlign.Equals("Middle");

                gvItem.Columns.Add(tfield);
            }
            if (!string.IsNullOrWhiteSpace(colName.ColumnName7))
            {
                dtColName.Columns.Add("ItemColumn7", typeof(string));


                tfield            = new TemplateField();
                tfield.HeaderText = colName.ColumnName7;
                tfield.ItemStyle.HorizontalAlign.Equals("Center");
                tfield.ItemStyle.VerticalAlign.Equals("Middle");

                gvItem.Columns.Add(tfield);
            }
            if (!string.IsNullOrWhiteSpace(colName.ColumnName8))
            {
                dtColName.Columns.Add("ItemColumn8", typeof(string));

                tfield            = new TemplateField();
                tfield.HeaderText = colName.ColumnName8;
                tfield.ItemStyle.HorizontalAlign.Equals("Center");
                tfield.ItemStyle.VerticalAlign.Equals("Middle");

                gvItem.Columns.Add(tfield);
            }

            return(dtColName);
        }
        private void BindItemProject(string TemplateNo)
        {
            try
            {
                /******************* Get Column Item Project Name ********/
                MAS_TEMPLATECOLNAME value            = new MAS_TEMPLATECOLNAME();
                Int64 pkItemCol                      = Int64.Parse(TemplateNo);
                Mas_TemplateColName_Manage manageCol = new Mas_TemplateColName_Manage();
                MAS_TEMPLATECOLNAME        para      = new MAS_TEMPLATECOLNAME();
                para.TemplateNo = pkItemCol;
                value           = manageCol.GetMasTemplateColNameByKey(para);
                /*******************************************************/

                /*************** Gen Table & Gridview Column **********/
                DataTable dtColumnName = new DataTable();
                dtColumnName = CreateTableItemColumn(value);
                /******************************************************/

                /*************** List Item Project ********************************/
                Mas_ProjectITemBidding_Manage projItemBL = new Mas_ProjectITemBidding_Manage();
                List <MAS_PROJECTITEMBIDDING> lItemProj  = new List <MAS_PROJECTITEMBIDDING>();
                MAS_PROJECTITEMBIDDING        sData      = new MAS_PROJECTITEMBIDDING();
                sData.ProjectNo = hdfProjectNo.Value.ToString().Trim();
                lItemProj       = projItemBL.ListMasProjItemBiddingByPNo(sData);
                /*****************************************************************/

                DataRow row;
                foreach (MAS_PROJECTITEMBIDDING item in lItemProj)
                {
                    row = dtColumnName.NewRow();

                    row["ProjectItemNo"] = item.ProjectItemNo;
                    row["ProjectNo"]     = item.ProjectNo;

                    if (row.Table.Columns["ItemColumn1"] != null)
                    {
                        row["ItemColumn1"] = item.ItemColumn1;
                    }
                    if (row.Table.Columns["ItemColumn2"] != null)
                    {
                        row["ItemColumn2"] = item.ItemColumn2;
                    }
                    if (row.Table.Columns["ItemColumn3"] != null)
                    {
                        row["ItemColumn3"] = item.ItemColumn3;
                    }
                    if (row.Table.Columns["ItemColumn4"] != null)
                    {
                        row["ItemColumn4"] = item.ItemColumn4;
                    }
                    if (row.Table.Columns["ItemColumn5"] != null)
                    {
                        row["ItemColumn5"] = item.ItemColumn5;
                    }
                    if (row.Table.Columns["ItemColumn6"] != null)
                    {
                        row["ItemColumn6"] = item.ItemColumn6;
                    }
                    if (row.Table.Columns["ItemColumn7"] != null)
                    {
                        row["ItemColumn7"] = item.ItemColumn7;
                    }
                    if (row.Table.Columns["ItemColumn8"] != null)
                    {
                        row["ItemColumn8"] = item.ItemColumn8;
                    }

                    dtColumnName.Rows.Add(row);
                }

                /************ Set Empty Row ************/
                if (dtColumnName.Rows.Count == 0)
                {
                    dtColumnName = SetEmptyRows(dtColumnName);
                }
                /***************************************/

                gvItem.DataSource = dtColumnName;
                gvItem.DataBind();
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (IsValid)
                {
                    DataTable dt = (DataTable)Session["tbColumnName"];
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        //=== Sort Column Grid ===== //
                        DataTable dtSort = null;
                        dt.DefaultView.Sort = "ColumnNo asc";
                        dtSort = dt.DefaultView.ToTable();
                        //===========================//

                        MAS_TEMPLATECOLNAME data = new MAS_TEMPLATECOLNAME();

                        data.TemplateName = txtProjectName.Text.Trim();
                        data.ColumnName1  = dtSort.Rows.Count > 0 ? dtSort.Rows[0]["ColumnName"].ToString().Trim() : "";
                        data.ColumnName2  = dtSort.Rows.Count > 1 ? dtSort.Rows[1]["ColumnName"].ToString().Trim() : "";
                        data.ColumnName3  = dtSort.Rows.Count > 2 ? dtSort.Rows[2]["ColumnName"].ToString().Trim() : "";
                        data.ColumnName4  = dtSort.Rows.Count > 3 ? dtSort.Rows[3]["ColumnName"].ToString().Trim() : "";
                        data.ColumnName5  = dtSort.Rows.Count > 4 ? dtSort.Rows[4]["ColumnName"].ToString().Trim() : "";
                        data.ColumnName6  = dtSort.Rows.Count > 5 ? dtSort.Rows[5]["ColumnName"].ToString().Trim() : "";
                        data.ColumnName7  = dtSort.Rows.Count > 6 ? dtSort.Rows[6]["ColumnName"].ToString().Trim() : "";
                        data.ColumnName8  = dtSort.Rows.Count > 7 ? dtSort.Rows[7]["ColumnName"].ToString().Trim() : "";

                        data.CreatedBy   = "System Admin";
                        data.CreatedDate = DateTime.Now;
                        data.UpdatedBy   = "System Admin";
                        data.UpdatedDate = DateTime.Now;

                        Mas_TemplateColName_Manage ins = new Mas_TemplateColName_Manage();
                        bool bIns = ins.InsertMasTemplateColName(data);
                        if (bIns)
                        {
                            MessageUtil util = new MessageUtil();
                            util.MsgBox("บันทึกข้อมูลสำเร็จ", this.Page, this);
                            Response.Redirect("~/Form/ItemProjectList.aspx");
                        }
                        else
                        {
                            MessageUtil util = new MessageUtil();
                            util.MsgBox("เกิดปัญหา ไม่สามารถบันทึกข้อมูลได้!", this.Page, this);
                        }
                    }
                    else
                    {
                        MessageUtil util = new MessageUtil();
                        util.MsgBox("กรุณาระบุข้อมูล ลำดับและชื่อคอลัมน์", this.Page, this);
                        return;
                    }
                }
                else
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);

                MessageUtil util = new MessageUtil();
                util.MsgBox("เกิดปัญหา ไม่สามารถบันทึกข้อมูลได้!", this.Page, this);
            }
        }
Пример #11
0
        private void BindItemProject(string TemplateNo)
        {
            try
            {
                /******************* Get Column Item Project Name ********/
                MAS_TEMPLATECOLNAME value            = new MAS_TEMPLATECOLNAME();
                Int64 pkItemCol                      = Int64.Parse(TemplateNo);
                Mas_TemplateColName_Manage manageCol = new Mas_TemplateColName_Manage();
                MAS_TEMPLATECOLNAME        para      = new MAS_TEMPLATECOLNAME();
                para.TemplateNo = pkItemCol;
                value           = manageCol.GetMasTemplateColNameByKey(para);
                /*******************************************************/

                /*************** Gen Table & Gridview Column **********/
                DataTable dtColumnName = new DataTable();
                dtColumnName = CreateTableItemColumn(value);
                ViewState["TemplateColName"] = dtColumnName;
                /******************************************************/

                /*************** List Item Project ********************************/
                Mas_ProjectITemBidding_Manage projItemBL = new Mas_ProjectITemBidding_Manage();
                List <MAS_PROJECTITEMBIDDING> lItemProj  = new List <MAS_PROJECTITEMBIDDING>();

                string _biddingNo = hdfBiddingNo.Value;
                lItemProj = projItemBL.ListInfBiddingDetails(_biddingNo);
                /*****************************************************************/

                DataRow row;

                string strComName = string.Empty;
                foreach (MAS_PROJECTITEMBIDDING item in lItemProj)
                {
                    row = dtColumnName.NewRow();

                    //row["ProjectItemNo"] = item.ProjectItemNo;
                    //row["ProjectNo"] = item.ProjectNo;

                    if (row.Table.Columns["ItemColumn1"] != null)
                    {
                        row["ItemColumn1"] = item.ItemColumn1;
                    }
                    if (row.Table.Columns["ItemColumn2"] != null)
                    {
                        row["ItemColumn2"] = item.ItemColumn2;
                    }
                    if (row.Table.Columns["ItemColumn3"] != null)
                    {
                        row["ItemColumn3"] = item.ItemColumn3;
                    }
                    if (row.Table.Columns["ItemColumn4"] != null)
                    {
                        row["ItemColumn4"] = item.ItemColumn4;
                    }
                    if (row.Table.Columns["ItemColumn5"] != null)
                    {
                        row["ItemColumn5"] = item.ItemColumn5;
                    }
                    if (row.Table.Columns["ItemColumn6"] != null)
                    {
                        row["ItemColumn6"] = item.ItemColumn6;
                    }
                    if (row.Table.Columns["ItemColumn7"] != null)
                    {
                        row["ItemColumn7"] = item.ItemColumn7;
                    }
                    if (row.Table.Columns["ItemColumn8"] != null)
                    {
                        row["ItemColumn8"] = item.ItemColumn8;
                    }

                    strComName = item.ItemColumn1;

                    dtColumnName.Rows.Add(row);
                }

                gvItem.DataSource = dtColumnName;
                gvItem.DataBind();

                Session["BiddingDetailRPT"] = dtColumnName;
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }
        }
        protected void gvListItem_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                List <MAS_PROJECTITEMBIDDING> lRet = new List <MAS_PROJECTITEMBIDDING>();
                lRet = (List <MAS_PROJECTITEMBIDDING>)ViewState["AddNewItem"];

                if (e.CommandName.Equals("AddNew"))
                {
                    MAS_PROJECTITEMBIDDING addItem    = new MAS_PROJECTITEMBIDDING();
                    DropDownList           ddlCompany = (DropDownList)gvListItem.FooterRow.FindControl("ddlCompany");
                    if (ddlCompany != null)
                    {
                        addItem.ItemColumn1 = ddlCompany.SelectedItem.Text;
                    }

                    TextBox TxtDetail = (TextBox)gvListItem.FooterRow.FindControl("TxtDetail");
                    if (TxtDetail != null)
                    {
                        addItem.ItemColumn2 = TxtDetail.Text;
                    }

                    TextBox TxtColumn2 = (TextBox)gvListItem.FooterRow.FindControl("TxtColumn2");
                    if (TxtColumn2 != null)
                    {
                        addItem.ItemColumn3 = TxtColumn2.Text;
                    }

                    TextBox TxtColumn3 = (TextBox)gvListItem.FooterRow.FindControl("TxtColumn3");
                    if (TxtColumn3 != null)
                    {
                        addItem.ItemColumn4 = TxtColumn3.Text;
                    }

                    TextBox TxtColumn4 = (TextBox)gvListItem.FooterRow.FindControl("TxtColumn4");
                    if (TxtColumn4 != null)
                    {
                        addItem.ItemColumn5 = TxtColumn4.Text;
                    }

                    TextBox TxtColumn5 = (TextBox)gvListItem.FooterRow.FindControl("TxtColumn5");
                    if (TxtColumn5 != null)
                    {
                        addItem.ItemColumn6 = TxtColumn5.Text;
                    }

                    TextBox TxtColumn6 = (TextBox)gvListItem.FooterRow.FindControl("TxtColumn6");
                    if (TxtColumn6 != null)
                    {
                        addItem.ItemColumn7 = TxtColumn6.Text;
                    }

                    TextBox TxtColumn7 = (TextBox)gvListItem.FooterRow.FindControl("TxtColumn7");
                    if (TxtColumn7 != null)
                    {
                        addItem.ItemColumn8 = TxtColumn7.Text;
                    }

                    lRet.Add(addItem);

                    ViewState["AddNewItem"] = lRet;
                }
                else if (e.CommandName.Equals("Delete"))
                {
                    GridViewRow gvr      = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
                    int         RowIndex = gvr.RowIndex;

                    lRet.RemoveAt(RowIndex);
                    ViewState["AddNewItem"] = lRet;
                }

                MAS_TEMPLATECOLNAME vsColName = (MAS_TEMPLATECOLNAME)ViewState["ColNameByPk"];
                BindItemProjectData(vsColName);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }
        }
        private void BindItemProjectData(MAS_TEMPLATECOLNAME ItemColName)
        {
            try
            {
                DataTable dtColumnName = new DataTable();
                dtColumnName = CreateTableItemColumn(ItemColName);

                List <MAS_PROJECTITEMBIDDING> lItemRet = new List <MAS_PROJECTITEMBIDDING>();
                lItemRet = (List <MAS_PROJECTITEMBIDDING>)ViewState["AddNewItem"];
                if (lItemRet == null || lItemRet.Count == 0)
                {
                    lItemRet = GetListItemProject();
                    ViewState["AddNewItem"] = lItemRet;
                }

                DataRow row;
                foreach (MAS_PROJECTITEMBIDDING item in lItemRet)
                {
                    row = dtColumnName.NewRow();

                    row["ProjectItemNo"] = string.Empty;
                    row["ProjectNo"]     = string.Empty;

                    if (row.Table.Columns["ItemColumn1"] != null)
                    {
                        row["ItemColumn1"] = item.ItemColumn1;
                    }
                    if (row.Table.Columns["ItemColumn2"] != null)
                    {
                        row["ItemColumn2"] = item.ItemColumn2;
                    }
                    if (row.Table.Columns["ItemColumn3"] != null)
                    {
                        row["ItemColumn3"] = item.ItemColumn3;
                    }
                    if (row.Table.Columns["ItemColumn4"] != null)
                    {
                        row["ItemColumn4"] = item.ItemColumn4;
                    }
                    if (row.Table.Columns["ItemColumn5"] != null)
                    {
                        row["ItemColumn5"] = item.ItemColumn5;
                    }
                    if (row.Table.Columns["ItemColumn6"] != null)
                    {
                        row["ItemColumn6"] = item.ItemColumn6;
                    }
                    if (row.Table.Columns["ItemColumn7"] != null)
                    {
                        row["ItemColumn7"] = item.ItemColumn7;
                    }
                    if (row.Table.Columns["ItemColumn8"] != null)
                    {
                        row["ItemColumn8"] = item.ItemColumn8;
                    }

                    dtColumnName.Rows.Add(row);
                }

                /************ Set Empty Row ************/
                if (dtColumnName.Rows.Count == 0)
                {
                    dtColumnName = SetEmptyRows(dtColumnName);
                }
                /***************************************/

                gvListItem.DataSource = dtColumnName;
                gvListItem.DataBind();
                gvListItem.ShowFooter = true;
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                logger.Error(ex.StackTrace);
            }
        }