/// <summary>
        /// Se vizualizeaza nota de lichidare
        /// </summary>
        private void btnPreview_Click()
        {
            /*
             * Modified:  Oprescu Claudia
             * Date:      02.03.2006
             * Descriere: Modificarea consta in validarea datelor de intrare
             */

            //variabila booleana care indica daca au fost completate toate campurile obligatorii
            bool fill = true;
            //variabila booleana care indica daca au fost completate corect campurile
            bool correct = true;

            Salaries.Data.LichidareStruct lichidare = new Salaries.Data.LichidareStruct();
            Salaries.Business.Angajat     angajat   = new Salaries.Business.Angajat();
            angajat.AngajatId = GetAngajat();
            angajat.LoadAngajat();

            //se verifica daca au fost completate campurile
            if (txtNrInregistrare.Text == "" || txtDataLichidare.Text == "" || txtDataInregistrare.Text == "")
            {
                fill = false;
            }
            try
            {
                lichidare.NrInregistrare = txtNrInregistrare.Text;
                lichidare.DataLichidare  = Utilities.ConvertText2DateTime(txtDataLichidare.Text);

                lichidare.NrArticol         = txtNrArticol.Text;
                lichidare.AvansuriDecontare = decimal.Parse(txtAvansuriDecontare.Text);
                lichidare.Abonamente        = decimal.Parse(txtAbonamente.Text);
                lichidare.TicheteMasa       = decimal.Parse(txtTicheteMasa.Text);
                lichidare.EchipamentLucru   = decimal.Parse(txtEchipamentLucru.Text);
                lichidare.Laptop            = decimal.Parse(txtLaptop.Text);
                lichidare.TelServiciu       = decimal.Parse(txtTelServiciu.Text);
                lichidare.ObiecteInventar   = decimal.Parse(txtObiecteInventar.Text);
                lichidare.Carti             = decimal.Parse(txtCarti.Text);
                lichidare.CD = decimal.Parse(txtCD.Text);

                lichidare.DataInregistrare = Utilities.ConvertText2DateTime(txtDataInregistrare.Text);
                if (txtLunaRetinere.Text == "")
                {
                    lichidare.LunaRetinere = Utilities.ConvertText2DateTime("1.1.1753");
                }
                else
                {
                    lichidare.LunaRetinere = Utilities.ConvertText2DateTime(txtLunaRetinere.Text);
                }
            }
            catch (Exception)
            {
                //in cazul in care apare o eroare la conversie inseamna ca nu au fost completate corect campurile
                correct = false;
            }
            if (fill && correct)
            {
                //tre afisata nota de lichidare, in vederea printarii
                //javascript
                StringBuilder jScript = new StringBuilder();
                jScript.Append("<script language=\"JavaScript\">");
                jScript.Append("window.open('../Comunicari/comunicare.aspx?id=" + objAngajat.AngajatId + "', null,'status=yes,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes')");
                jScript.Append("</script>");

                AdaugaInSesiune();

                Response.Write(jScript.ToString());
            }
            else
            {
                //in functie de eroare este afisat mesajul corespunzator
                if (!correct)
                {
                    Response.Write("<script>alert( 'Datele introduse nu sunt corecte!' );</script>");
                }
                if (!fill)
                {
                    Response.Write("<script>alert( 'Trebuie sa completati toate datele!' );</script>");
                }
            }
        }
 public bool UpdateLichidare(LichidareStruct lichidare)
 {
     return(this.UpdateLichidare(lichidare.LichidareID, lichidare.NrInregistrare, lichidare.DataLichidare, lichidare.AngajatID, lichidare.MotivDePlecareId, lichidare.AvansuriDecontare, lichidare.Abonamente, lichidare.TicheteMasa, lichidare.EchipamentLucru, lichidare.Laptop, lichidare.TelServiciu, lichidare.ObiecteInventar, lichidare.Carti, lichidare.CD, lichidare.DataInregistrare, lichidare.NrArticol, lichidare.LunaRetinere));
 }
        /// <summary>
        /// Salveaza o lichidate
        /// </summary>
        private void btnSalveaza_Click()
        {
            /*
             * Modified:  Cristina Raluca Muntean
             * Date:      10.09.2005
             * Descriere: Modificarea consta in validarea datelor de intrare, a statusului angajatului(lichidat/nu este lichidat)
             * si a generarii situatiei lunare conform cu noile date corespunzatoare lichidarii.
             */

            //Modificat: Oprescu Claudia
            //Descriere: Se face mai intai validarea datelor introduse si apoi daca angajatul nu este lichidat se face lichidarea lui
            //			 Daca este deja lichidat se face actualizare la datele lichidarii, adica se sterge cea veche si se adauga una noua
            int idAng = GetAngajat();

            ErrHandler.MyErrHandler.WriteError("LichidareAngajat.ascx - start - Salveaza() - idAng: " + idAng.ToString());
            try
            {
                Salaries.Data.LichidareStruct lichidare = new Salaries.Data.LichidareStruct();
                Salaries.Business.Angajat     angajat   = new Salaries.Business.Angajat();
                angajat.AngajatId = GetAngajat();
                angajat.LoadAngajat();

                lichidare.AngajatID = this.GetAngajat();

                //variabila booleana care indica daca au fost completate toate campurile obligatorii
                bool fill = true;
                //variabila booleana care indica daca au fost completate corect campurile
                bool correct = true;

                //se verifica daca au fost completate campurile
                if (txtNrInregistrare.Text == "" || txtDataLichidare.Text == "" || txtDataInregistrare.Text == "")
                {
                    fill = false;
                }
                try
                {
                    lichidare.NrInregistrare   = txtNrInregistrare.Text;
                    lichidare.DataLichidare    = Utilities.ConvertText2DateTime(txtDataLichidare.Text);
                    lichidare.MotivDePlecareId = int.Parse(((System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl("txtMotivDePlecareHidden")).Value);

                    lichidare.NrArticol         = txtNrArticol.Text;
                    lichidare.AvansuriDecontare = decimal.Parse(txtAvansuriDecontare.Text);
                    lichidare.Abonamente        = decimal.Parse(txtAbonamente.Text);
                    lichidare.TicheteMasa       = decimal.Parse(txtTicheteMasa.Text);
                    lichidare.EchipamentLucru   = decimal.Parse(txtEchipamentLucru.Text);
                    lichidare.Laptop            = decimal.Parse(txtLaptop.Text);
                    lichidare.TelServiciu       = decimal.Parse(txtTelServiciu.Text);
                    lichidare.ObiecteInventar   = decimal.Parse(txtObiecteInventar.Text);
                    lichidare.Carti             = decimal.Parse(txtCarti.Text);
                    lichidare.CD = decimal.Parse(txtCD.Text);

                    lichidare.DataInregistrare = Utilities.ConvertText2DateTime(txtDataInregistrare.Text);
                    if (txtLunaRetinere.Text == "")
                    {
                        lichidare.LunaRetinere = Utilities.ConvertText2DateTime("1.1.1753");
                    }
                    else
                    {
                        lichidare.LunaRetinere = Utilities.ConvertText2DateTime(txtLunaRetinere.Text);
                    }
                }
                catch (Exception)
                {
                    //in cazul in care apare o eroare la conversie inseamna ca nu au fost completate corect campurile
                    correct = false;
                }

                Salaries.Business.Luni luni     = new Salaries.Business.Luni(this.GetAngajator());
                Salaries.Data.LunaData lunaData = luni.GetLunaActiva();

                //daca au fost completate toate campurile corect si data lichidarii se afla in luna activa se poate realiza efectiv lichidarea
                if (fill && correct)
                {
                    if ((lunaData.Data.Month == DateTime.Parse(txtDataLichidare.Text).Date.Month&& lunaData.Data.Year == DateTime.Parse(txtDataLichidare.Text).Date.Year) ||
                        (DateTime.Parse(txtDataLichidare.Text).Date.Day == 1) && (DateTime.Parse(txtDataLichidare.Text).Date.Month == lunaData.Data.Month + 1) && (lunaData.Data.Year == DateTime.Parse(txtDataLichidare.Text).Date.Year) ||
                        (DateTime.Parse(txtDataLichidare.Text).Date.Day == 1) && (DateTime.Parse(txtDataLichidare.Text).Date.Month == 1) && (lunaData.Data.Month == 12) && (lunaData.Data.Year + 1 == DateTime.Parse(txtDataLichidare.Text).Date.Year))
                    {
                        SiemensTM.Classes.IntervaleAngajat intervaleAngajat = new SiemensTM.Classes.IntervaleAngajat(lichidare.AngajatID);
                        //sterge toate intervalele orare, inclusiv capetele de interval
                        intervaleAngajat.DeleteIntervaleAngajatPerioada(lichidare.DataLichidare, DateTime.MaxValue, true);
                        //initializeaza luna pentru angajatul in cauza
                        intervaleAngajat.InitializeOreLucrateLunaAngajat(lunaData.Data, objAngajat.DataDeLa, lichidare.DataLichidare);

                        //se genereaza situatia lunara a angajatului
                        //Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat( lichidare.AngajatID );
                        //sla.GenerareSituatieLunaraAngajat( this.GetCurrentMonth(), this.GetAngajator());

                        //Adaugat:		Oprescu Claudia
                        //Descriere:	Se verifica sa nu existe deja o lichidare pentru luna activa.
                        //				Daca exista atunci se actualizeaza acea inregistrare.
                        //				Daca nu exista se adauga o inregistrare noua.
                        int lichidareID = new Salaries.Business.Lichidare().CheckIfLichidareCanBeAdded(lichidare.AngajatID, lichidare.DataLichidare);
                        if (lichidareID == 0)
                        {
                            new Salaries.Business.Lichidare().AddLichidare(lichidare);
                        }
                        else
                        {
                            lichidare.LichidareID = lichidareID;
                            new Salaries.Business.Lichidare().UpdateLichidare(lichidare);
                        }

                        //Modified: Cristina Raluca Muntean
                        //se genereaza situatia lunara a angajatului
                        SiemensTM.Classes.SituatieAngajat situatieLunaraAng = new SiemensTM.Classes.SituatieAngajat(this.GetAngajat());
                        //Added: Ionel Popa -> daca este lichidat in prima zi a lunii i se sterge situatia lunara
                        Salaries.Business.Luni activeMonth = new Salaries.Business.Luni(this.GetAngajator(), lunaData.LunaId);
                        if (activeMonth.Data == lichidare.DataLichidare)
                        {
                            Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat(this.GetAngajat());
                            sla.DeleteSituatieAngajat(GetCurrentMonth(), this.GetAngajat());
                        }
                        else
                        {
                            //Modificat:	Oprescu Claudia
                            //Descriere:	Se apeleaza metoda pentru generarea situatiei lunare a angajatului
                            //				La generarea situatiei se calculeaza numarul de zile de concediu de odihna neefectuat si efectuat in avans
                            situatieLunaraAng.GenerareSituatieLunaraAngajatLichidat();
                        }

                        //javascript
                        StringBuilder jScript = new StringBuilder();
                        jScript.Append("<script language=\"JavaScript\">");
                        jScript.Append("window.open('../Comunicari/comunicare.aspx?id=" + objAngajat.AngajatId + "',null,'status=yes,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes')");
                        jScript.Append("</script>");

                        AdaugaInSesiune();

                        Response.Write(jScript.ToString());
                    }
                    else
                    {
                        //este afisat mesajul de eroare
                        Response.Write("<script>alert( 'Data lichidarii angajatului trebuie sa faca parte din luna activa!' );</script>");
                    }
                }
                else
                {
                    //in functie de eroare este afisat mesajul corespunzator
                    if (!correct)
                    {
                        Response.Write("<script>alert( 'Datele introduse nu sunt corecte!' );</script>");
                    }
                    if (!fill)
                    {
                        Response.Write("<script>alert( 'Trebuie sa completati toate datele!' );</script>");
                    }
                }
            }
            catch (Exception ex)
            {
                litError.Text  = "The following error occurred: <br>";
                litError.Text += ex.Message;
                ErrHandler.MyErrHandler.WriteError("LichidareAngajat.ascx - start - Salveaza() - idAng: " + idAng.ToString() + " - " + ex.Message);
            }
            ErrHandler.MyErrHandler.WriteError("LichidareAngajat.ascx - end - Salveaza() - idAng: " + idAng.ToString());
        }