/// <summary>
        /// Calculeaza salarii pentru luna activa
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void CalculSalarii_Click(object sender, System.EventArgs e)
        {
            string a = Session["ModificaSituatie"].ToString();
            string b = a;

            //daca s-a facut modificare de situatile lunare nu se apeleaza algoritmul de calcul salarii
            //si se face redirectare la pagina cu situatia lunara a angajatului
            if (Session["ModificaSituatie"].ToString() == "")
            {
                Salaries.Business.NomenclatorConcediiMedicale concedii = new Salaries.Business.NomenclatorConcediiMedicale();
                DataSet ds = concedii.GetConcediiMedicale();

                if (ds.Tables[0].Rows.Count > 0)
                {
                    //generam situatia lunara pentru toti angajatii
                    SituatieLunaraTotiAngajatii();

                    //calculam salariile angajatilor
                    new Salaries.Business.Luni(this.GetAngajator()).SalariiLunaActiva();

                    //generam situatia lunara pentru angajatorul activ
                    //operatia se executa dupa calculul salariilor pentru ca situatia angajatorului se bazeaza pe contributiile individuala ale angajatilor
                    try
                    {
                        SituatieLunaraAngajator();
                    }
                    catch {}
                }
                else
                {
                    Response.Write("<script> alert('Nomenclatorul pentru criterii de acordare a concediului medical este gol. \\nNu se poate efectua calculul salarial. Va rugam specificati valori pentru acest criteriu!'); </script>");
                }
            }
            else
            {
                //se face redirectare la pagina cu situatia lunara a angajatului
                Session["ModificaSituatie"] = "";
                Response.Redirect("Salarii.aspx?Tab=Pontaj&Option=situatie_lunara");
            }
        }
        /// <summary>
        /// Inchide luna activa
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void InchideLunaActiva_Click(object sender, System.EventArgs e)
        {
            //Modificat:	Oprescu Claudia
            //Data:			20.02.2007
            //Descriere:	Se efectueaza o serie de verificari inainte de inchiderea lunii.
            //				Nomencalatorul cu criterii de acordare a concediului medical nu poate fi gol.
            //				In nomenclator trebuie sa existe un interval corespunzator numarului de angajati.
            //				Procentul de inflatie nu poate fi zero.
            //				Variabilele de salarizare trebuie sa aiba valori diferite de zero.

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

            Salaries.Business.NomenclatorConcediiMedicale concedii = new Salaries.Business.NomenclatorConcediiMedicale();
            DataSet ds = concedii.GetConcediiMedicale();

            //daca nomenclatorul cu concedii medicale nu are nici un concediu medical se va afisa un mesaj de avertizare
            if (ds.Tables[0].Rows.Count == 0)
            {
                Response.Write("<script> alert('Nomenclatorul pentru criterii de acordare a concediului medical este gol. \\nNu se poate efectua inchiderea de luna. Va rugam specificati valori pentru acest criteriu!'); </script>");
            }
            //daca exista date in nomenclator
            else
            {
                //trebuie sa existe un interval corespunzator numarului de angajati din firma
                //daca nu exista nici un interval utilizatorul va primi un mesaj de avertizare
                Salaries.Business.PontajAngajat pontaj = new Salaries.Business.PontajAngajat(-1);
                if (pontaj.GetNrZileConcediuBoalaPlatiteFirma(this.GetAngajator()) == 0)
                {
                    Response.Write("<script> alert('Nomenclatorul pentru criterii de acordare a concediului medical nu contine un interval corespunzator numarului de angajati. \\nNu se poate efectua inchiderea de luna. Va rugam specificati valori corecte pentru acest criteriu!'); </script>");
                }
                //daca exista un interval corespunzator in nomenclator
                else
                {
                    //se verifica procentul de inflatie care nu poate fi zero
                    //daca procentul are valoarea zero utilizatorul va primi un mesaj de avertizare
                    Salaries.Business.VariabileGlobaleValori variabila = new Salaries.Business.VariabileGlobaleValori();
                    if (!variabila.VerificaProcentInflatie(lunaData.LunaId))
                    {
                        Response.Write("<script> alert('Procentul de inflatie al acestei luni este zero. \\nNu se poate efectua inchiderea de luna. Va rugam modificati acest procent!'); </script>");
                    }
                    //daca si proncetul de inflatie este corect
                    else
                    {
                        //se verifica variabilele de salarizare care nu trebuie sa aiba valoarea zero
                        //daca exista o variabila cu valoarea zero, utilizatorul va primi un mesaj de avertizare
                        //if (!VerificaVariabileSalarizare(lunaData.LunaId))
                        if (false)
                        {
                            Response.Write("<script> alert('Pentru aceasta luna exista variabile de salarizare cu valoarea zero. \\nNu se poate efectua inchiderea de luna. Va rugam modificati aceste valori!'); </script>");
                        }
                        //daca si variabilele de salarizare sunt corecte, atunci se va efectua inchiderea de luna
                        else
                        {
                            //Modificat:	Oprescu Claudia
                            //Data:			08.03.2007
                            //Descriere:	Nu se mai sterg intervalele angajatului din pontaj
                            //StergeToateIntervaleleOrareSetateDeleted();


                            SituatieLunaraTotiAngajatii();
                            //MODIFIED: Ionel Popa ... 16.08.2005
                            //DESCRIPTION: Angajatii carora le expira contractul in luna curenta NU trebuie dezactivati automat la inchiderea lunii
                            //SetareExpirareContractLunaInactiv();
                            new Salaries.Business.Luni(this.GetAngajator()).InchideLunaActiva();

                            //generam situatia lunara pentru angajatorul activ
                            //operatia se executa dupa calculul salariilor pentru ca situatia angajatorului se bazeaza pe contributiile individuala ale angajatilor
                            SituatieLunaraAngajator();

                            lunaData = luni.GetLunaActiva();
                            luni.FillZileLuna(lunaData.Data.Month, lunaData.Data.Year);

                            this.SetCurrentMonth(lunaData.LunaId);

                            Response.Redirect("Salarii.aspx?Tab=Pontaj&Option=initializare_luna", true);
                        }
                    }
                }
            }
        }