/// <summary>
        /// Adauga o functie
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdauga_Click(object sender, System.EventArgs e)
        {
            try
            {
                Salaries.Business.IstoricFunctie istFunctie = new Salaries.Business.IstoricFunctie();
                istFunctie.AngajatId     = AngajatID;
                istFunctie.FunctieId     = Convert.ToInt32(lstFunctie.SelectedValue);
                istFunctie.DataStartNoua = Utilities.ConvertText2DateTime(txtDataStart.Text);

                if (istFunctie.CheckIfIstoricFunctiiCanBeAdded())
                {
                    if (istFunctie.CheckIfFunctiaCoincideCuIncadrarea())
                    {
                        istFunctie.InsertFunctie();
                    }
                    else
                    {
                        Response.Write("<script> alert('Noua functie nu coincide cu incadrarea angajatului (scutit/nescutit de impozit)!'); </script>");
                    }
                }
                else
                {
                    Response.Write("<script> alert('Mai exista o inregistrare cu acesta data!'); </script>");
                }
            }
            catch (Exception ex)
            {
                litError.Text  = "The following error occurred: <br>";
                litError.Text += ex.Message;
            }

            LoadIstoricFunctii();
        }
        /// <summary>
        /// Listeaza functiile unui angajat
        /// </summary>
        private void LoadIstoricFunctii()
        {
            try
            {
                listTable.Rows.Clear();
                //daca toate functiile au cod Siemens atasat
                Salaries.Business.AdminFunctii functie = new Salaries.Business.AdminFunctii();
                if (functie.CheckIfToateFunctiileAuCodSiemens())
                {
                    //este afisat in dropdownlist codul Siemens - numele functiei
                    lstFunctie.DataSource = functie.LoadInfoCodSiemensNumeFunctie();
                }
                //altfel
                else
                {
                    //este afisat in dropdownlist codul COR - numele functiei
                    lstFunctie.DataSource = functie.LoadInfoCodCORNumeFunctie();
                }
                lstFunctie.DataValueField = "FunctieID";
                lstFunctie.DataTextField  = "CodNume";
                lstFunctie.DataBind();

                listTable.Attributes.Add("width", "100%");
                listTable.Style.Add("border", "1px solid #20b2aa");
                listTable.Attributes.Add("cellpadding", "0");
                listTable.Attributes.Add("cellspacing", "1");

                Salaries.Business.IstoricFunctie istFunctie = new Salaries.Business.IstoricFunctie();
                istFunctie.AngajatId = AngajatID;

                string[]  arHeader     = { "Functie", "Norma lucru", "Data start" };
                string[]  arCols       = { "Nume", "NormaLucru", "DataStart" };
                ListTable objListTable = new ListTable(listTable, istFunctie.LoadIstoricFunctii(), arHeader, arCols);
                objListTable.textForEmptyDataSet = "Nu exista nici o functie asociata acestui angajat!";

                string[] ar_OnClickParam     = { "FunctieID", "DataStart", AngajatID.ToString() };
                string[] ar_OnClickParamType = { "dataset", "dataset", "const" };

                objListTable.OnclickParams     = ar_OnClickParam;
                objListTable.OnclickParamsType = ar_OnClickParamType;
                objListTable.OnclickJSMethod   = "SelectFunctie";

                objListTable.DrawListTableWithoutDigits();
            }
            catch (Exception ex)
            {
                litError.Text  = "The following error occurred: <br>";
                litError.Text += ex.Message;
            }
        }
        /// <summary>
        /// Sterge o functie
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnStergeDate_Click(object sender, System.EventArgs e)
        {
            try
            {
                Salaries.Business.IstoricFunctie istFunctie = new Salaries.Business.IstoricFunctie();
                istFunctie.AngajatId      = AngajatID;
                istFunctie.FunctieId      = Convert.ToInt32(lstFunctie.SelectedValue);
                istFunctie.DataStartNoua  = Utilities.ConvertText2DateTime(txtDataStart.Text);
                istFunctie.DataStartVeche = Utilities.ConvertText2DateTime(old_DataStart.Text);

                istFunctie.DeleteFunctie();
            }
            catch (Exception ex)
            {
                litError.Text  = "The following error occurred: <br>";
                litError.Text += ex.Message;
            }

            LoadIstoricFunctii();
        }
        /// <summary>
        /// Modifica o functie
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnModificaDate_Click(object sender, System.EventArgs e)
        {
            try
            {
                Salaries.Business.IstoricFunctie istFunctie = new Salaries.Business.IstoricFunctie();
                istFunctie.AngajatId      = AngajatID;
                istFunctie.FunctieId      = Convert.ToInt32(lstFunctie.SelectedValue);
                istFunctie.DataStartNoua  = Utilities.ConvertText2DateTime(txtDataStart.Text);
                istFunctie.DataStartVeche = Utilities.ConvertText2DateTime(old_DataStart.Text);

                //daca data ramane aceeasi nu se mai verifica pentru duplicate
                if (istFunctie.DataStartNoua == istFunctie.DataStartVeche)
                {
                    istFunctie.UpdateFunctie();
                }
                //daca se modifica data se verifica sa nu existe duplicate
                else
                {
                    if (istFunctie.CheckIfIstoricFunctiiCanBeAdded())
                    {
                        istFunctie.UpdateFunctie();
                    }
                    else
                    {
                        Response.Write("<script> alert('Mai exista o inregistrare cu acesta data!'); </script>");
                    }
                }
            }
            catch (Exception ex)
            {
                litError.Text  = "The following error occurred: <br>";
                litError.Text += ex.Message;
            }

            LoadIstoricFunctii();
        }