protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            try
            {
                // Luna curenta.
                Salaries.Business.Luni luna        = new Salaries.Business.Luni(this.GetAngajator());
                Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva();

                if (!IsPostBack)
                {
                    // Este setata data la care se face plata drepturilor salariale.
                    txtDataPlatii.Text = lunaCurenta.Data.ToShortDateString();
                }
                this.raportDeclaratiaA12.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL);
                // Sunt setati parametrii raportului.
                // ID-ul angajatorului pentru care se genereaza declaratia.
                this.raportDeclaratiaA12.SetQueryParameter("AngajatorID", this.GetAngajator().ToString());
                // Id-ul lunii pentru care se genereaza declaratia.
                this.raportDeclaratiaA12.SetQueryParameter("LunaID", this.GetCurrentMonth().ToString());
                // Data platii drepturilor salariale.
                this.raportDeclaratiaA12.SetQueryParameter("DataPlataSalariu", txtDataPlatii.Text);
                // Numarul de pagini ale declaratiei A11.
                this.raportDeclaratiaA12.SetQueryParameter("NumarFileAnexa11", txtNrFileAnexa11.Text);
            }
            catch (Exception)
            {
                labelError.Text = "Pentru a putea genera declaratia trebuie sa fie disponibile toate datele necesare!";
            }
        }
        /// <summary>
        /// Este realizata redeschiderea lunii precedente lunii active.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <remarks>
        /// Autor: Cristina Muntean
        /// Data:  13.12.2006
        /// </remarks>
        private void btnRedeschidereLuna_Click(object sender, System.EventArgs e)
        {
            int redeschidereValida;

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

            // Se poate efectua o redeschidere de luna numai daca exista cel putin doua luni in sistem.
            if (luni.GetLuni().Tables[0].Rows.Count > 1)
            {
                // Este efectiata redeschiderea de luna.
                redeschidereValida = luni.RedeschidereLunaPrecedenta();

                BindComboLstLuni(luni);
                this.SetCurrentMonth(int.Parse(this.lstLuni.SelectedValue));
                this.CalculSalarii.Attributes["onclick"] = "CancelValidation();return -1;";

                if (redeschidereValida != 0)
                {
                    Response.Write("<script>alert('Va rugam sa repetati actiunea!')</script>");
                }
                else
                {
                    Response.Write("<script>alert('Redeschiderea a fost realizata cu succes!')</script>");
                }
            }
            else
            {
                Response.Write("<script>alert('Luna activa este ultima luna din sistem! Nu se poate efectua o redeschidere de luna!')</script>");
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            Salaries.Business.Luni luni     = new Salaries.Business.Luni(this.GetAngajator());
            Salaries.Data.LunaData lunaData = luni.GetLunaActiva();

            if (!IsPostBack)
            {
                BindComboLstLuni(luni);

                if (!this.CurrentMonthInSession())
                {
                    if (lunaData.LunaId != -1)
                    {
                        this.lstLuni.SelectedValue = lunaData.LunaId.ToString();
                    }

                    this.SetCurrentMonth(int.Parse(this.lstLuni.SelectedValue));
                }
                else
                {
                    this.lstLuni.SelectedValue = this.GetCurrentMonth().ToString();
                }
            }
            this.SetCurrentMonth(int.Parse(this.lstLuni.SelectedValue));

            //this.CalculSalarii.Attributes["onclick"]="CancelValidation();return -1;";
            this.CalculSalarii.Attributes.Add("onclick", "return CheckDelete('Sunteti sigur ca doriti sa efectuati calculul salarial?');");
            this.InchideLunaActiva.Attributes.Add("onclick", "return CheckDelete('Sunteti sigur ca doriti sa inchideti luna activa?');");
            this.btnRedeschidereLuna.Attributes.Add("onclick", "return CheckDelete('Sunteti sigur ca doriti sa redeschideti luna anterioara?');");
        }
        /// <summary>
        /// Daca pagina de administrare a fost deschisa din AddAngajat cream functia care va face refresh la combo-ul cu categorii
        /// </summary>
        private void CreateRefreshFunctionForAddAngajat()
        {
            string outStr = "";

            //cream scriptul care va contine functia de refresh
            //ne bazam pe faptul ca se cunoaste numele selectului care contine categorii
            //initial se sterg toate intrarile din combo
            outStr += "<script> \r\n function RefreshAddAngajatPage() \r\n" +
                      "{ \r\n" +
                      "window.opener.DeleteCategoriiCombo(); \r\n" +
                      " FillCategoriiCombo(); \r\n" +
                      "} \r\n";

            //acum se creeaza functie care adauga categoriile din recordset
            //se foloseste o functie din AddAngajat ... FillTitluCombo
            Salaries.Business.Luni luni       = new Salaries.Business.Luni(Convert.ToInt32(Session["AngajatorID"]));
            Salaries.Data.LunaData lunaData   = luni.GetLunaActiva();
            DataSet objAdminCategoriiAngajati = new Salaries.Business.CategoriiAngajat().GetCategoriiAngajat(lunaData.LunaId);

            outStr += " function FillCategoriiCombo() \r\n" +
                      "{ \r\n";
            foreach (DataRow dataRow in objAdminCategoriiAngajati.Tables[0].Rows)
            {
                outStr += "window.opener.FillCategorieCombo('" +
                          dataRow["Denumire"].ToString() + "'," +
                          dataRow["CategorieID"].ToString() + ");";
            }

            outStr += "} \r\n" +
                      "</script>";

            Response.Write(outStr);
        }
		/// <summary>
		/// Procedura verifica daca data este dupa luna activa
		/// </summary>
		/// <param name="data">Data verificata</param>
		/// <returns>Returneaza true daca e dupa luna activa si false altfel</returns>
		private bool DataDupaLunaCurenta( DateTime data )
		{
			Luni l = new Luni( this.GetAngajator());
			Salaries.Data.LunaData ld = l.GetLunaActiva();
			DateTime dataUltimaZiLunaActiva = ld.Data.AddMonths( 1 );
			return dataUltimaZiLunaActiva<=data;
		}
 /// <summary>
 /// Procedura modifica datele unei luni
 /// </summary>
 /// <param name="Data">Data lunii</param>
 /// <param name="Activ">Specifica daca luna este activa sau nu</param>
 /// <param name="ProcentInflatie">Procentul de inflatie al lunii</param>
 /// <returns>Returneaza true daca s-a facut modificarea si false altfel</returns>
 public int ModifLuna(DateTime Data, bool Activ, float ProcentInflatie)
 {
     Salaries.Data.LunaData ld = new Salaries.Data.LunaData();
     ld.Data            = Data;
     ld.Activ           = Activ;
     ld.ProcentInflatie = ProcentInflatie;
     return(new Salaries.Data.Luni(this.settings.ConnectionString).UpdateLuna(ld));
 }
 /// <summary>
 /// Procedura selecteaza datele unei luni
 /// </summary>
 /// <param name="id">Id-ul lunii</param>
 private void LoadLunaInflID(int id)
 {
     Data.Luni luni = new Data.Luni(settings.ConnectionString);
     Salaries.Data.LunaData detalii = luni.GetDetalii(id);
     this.data        = detalii.Data;
     this.activ       = detalii.Activ;
     this.procentInfl = detalii.ProcentInflatie;
 }
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            try
            {
                labelError.Text = "";
                DataSet dsAngajatiLichidati       = new DataSet();
                int     angajatorId               = this.GetAngajator();
                Salaries.Business.Angajat angajat = new Salaries.Business.Angajat();
                angajat.AngajatorId = angajatorId;

                // Luna curenta.
                Salaries.Business.Luni luna        = new Salaries.Business.Luni(angajatorId);
                Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva();

                if (drpAngajatiLichidati.SelectedValue != "")
                {
                    idAngajat = Int32.Parse(drpAngajatiLichidati.SelectedValue);
                }
                else
                {
                    idAngajat = 0;
                }
                //if (!IsPostBack)
                //{
                // Lista caselor de asigurari ale unui angajator.
                dsAngajatiLichidati                 = angajat.GetAllAngajatiLichidati(this.GetCurrentMonth());
                drpAngajatiLichidati.DataSource     = dsAngajatiLichidati;
                drpAngajatiLichidati.DataTextField  = "NumeIntreg";
                drpAngajatiLichidati.DataValueField = "AngajatId";
                drpAngajatiLichidati.DataBind();
                //}
                bool exista = false;
                foreach (DataRow dr in dsAngajatiLichidati.Tables[0].Rows)
                {
                    if (Int32.Parse(dr["AngajatId"].ToString()) == idAngajat)
                    {
                        exista = true;
                    }
                }

                if (idAngajat != 0 && exista)
                {
                    drpAngajatiLichidati.SelectedValue = idAngajat.ToString();
                }

                this.raportDateLichidare.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL);
                // Sunt setati parametrii raportului.
                // ID-ul angajatorului pentru care se genereaza raportul.
                this.raportDateLichidare.SetQueryParameter("AngajatorID", angajatorId.ToString());
                // Id-ul angajatului pentru care se genereaza raportul.
                this.raportDateLichidare.SetQueryParameter("AngajatID", drpAngajatiLichidati.SelectedItem.Value);
            }
            catch (Exception)
            {
                labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!";
            }
        }
        /// <summary>
        /// Salveaza datele unei categorii salariale
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSalveaza_Click(object sender, System.EventArgs e)
        {
            try
            {
                Salaries.Data.CategorieData categorieData = new Salaries.Data.CategorieData();
                Salaries.Business.Luni      luni          = new Salaries.Business.Luni(Convert.ToInt32(Session["AngajatorID"]));
                Salaries.Data.LunaData      lunaData      = luni.GetLunaActiva();

                categorieData.Denumire  = this.lblDenumire.Text;
                categorieData.Descriere = this.txtDescriere.Text;
                categorieData.DPB       = (chkPrimesteDPB.Checked) ? decimal.Parse(this.txtDPB.Text) : 0;
                categorieData.ScturieAsigSanAngajator = this.chkScutireAsigSanAngajator.Checked;
                categorieData.ScutireAsigSanAngajat   = this.chkScutireAsigSanAngajat.Checked;
                categorieData.ScutireCASAngajat       = this.chkScutireCASAngajat.Checked;
                categorieData.ScutireCASAngajator     = this.chkScutireCASAngajator.Checked;
                categorieData.ScutireImpozit          = this.chkScutireImpozit.Checked;
                categorieData.ScutireSomajAngajat     = this.chkScutireSomajAngajat.Checked;
                categorieData.ScutireSomajAngajator   = this.chkScutireSomajAngajator.Checked;
                categorieData.LunaId      = lunaData.LunaId;
                categorieData.CategorieId = int.Parse(txtCategorieID.Text);
                categorieData.PrimesteDPB = this.chkPrimesteDPB.Checked;

                if (new Salaries.Business.CategoriiAngajat().CheckIfCategoriiAngajatCanBeAdded(categorieData.CategorieId, categorieData.LunaId,
                                                                                               categorieData.Denumire, categorieData.Descriere, categorieData.DPB, categorieData.ScutireImpozit, categorieData.ScutireCASAngajat,
                                                                                               categorieData.ScutireCASAngajator, categorieData.ScutireSomajAngajat, categorieData.ScutireSomajAngajator,
                                                                                               categorieData.ScutireAsigSanAngajat, categorieData.ScturieAsigSanAngajator, categorieData.PrimesteDPB))
                {
                    if (txtCategorieID.Text == "0")
                    {
                        new Salaries.Business.CategoriiAngajat().InsertCategorie(categorieData);
                    }
                    else
                    {
                        new Salaries.Business.CategoriiAngajat().UpdateCategorie(categorieData);
                    }
                }
                else
                {
                    Response.Write("<script> alert('Mai exista o categorie cu aceste date!'); </script>");
                }

                ListCategorii();
                CreateRefreshFunctionForAddAngajat();
            }
            catch (Exception ex)
            {
                litError.Text  = "The following error occurred x: <br>";
                litError.Text += ex.Message;
            }
        }
        /// <summary>
        /// Evenimentul aparut la incarcarea paginii.
        /// </summary>
        /// <param name="sender">obiectul care a declansat evenimentul</param>
        /// <param name="e">argumentele evenimentului</param>
        private void Page_Load(object sender, System.EventArgs e)
        {
            //Adaugat:		Oprescu Claudia
            //Data:			09.02.2007
            //Descriere:	Daca nu exista angajati in baza de date, o parte din optiunile din meniul Pontaj vor fi ascunse.
            //				Daca nu exista angajati se va ascunde si meniul Rapoarte.
            //				Daca nu exista conturi pentru angajati, se va ascunde optiunea Fisier Multicache
            //				Daca este autentificare windows, atunci modulul pentru gestiunea utilizatorilor nu se va afisa.

            existaAngajati = true;
            existaConturi  = true;

            //daca se genereaza meniul pentru modulul de salarii, trebuie sa se verifice daca exista angajati in baza de date sau nu
            if (numeXmlSursa == "../Navigare/Salarii_Navigare.xml")
            {
                //se creaza o lista in care se vor pune angajatii selectati
                DropDownList angajatDDL = new DropDownList();
                Salaries.Configuration.ModuleSettings settings = Salaries.Configuration.ModuleConfig.GetSettings();
                UtilitiesDb utilDb = new UtilitiesDb(settings.ConnectionString);

                //se determina id-ul angajatorului curent
                Salaries.Business.AdminAngajator angajator = new Salaries.Business.AdminAngajator();
                int angajatorID = int.Parse(angajator.LoadInfoAngajatori().Tables[0].Rows[0]["AngajatorID"].ToString());

                //se determina id-ul lunii curente
                Salaries.Business.Luni luna = new Salaries.Business.Luni(angajatorID);
                Salaries.Data.LunaData ld   = luna.GetLunaActiva();
                int lunaId = ld.LunaId;

                //se selecteaza angajatii existenti in baza de date
                utilDb.CreateAngajatiSelectBoxPeLuna(angajatDDL, angajatorID, lunaId);

                //daca nu exista angajati in lista, se vor ascunde o serie de optiuni din meniul aplicatiei
                if (angajatDDL.Items.Count == 0)
                {
                    existaAngajati = false;
                }

                Salaries.Business.ConturiAngajator conturi = new Salaries.Business.ConturiAngajator();
                conturi.AngajatorId = angajatorID;
                //daca nu exista conturi pentru angajati, se va ascunde optiunea Fisier multicache
                if (conturi.GetMonedaConturiAngajati().Tables[0].Rows.Count == 0)
                {
                    existaConturi = false;
                }
            }

            // se construieste script-ul ce va permite navigarea prin meniu
            scriptNavigare = ScriptMeniu("MenuContainer");
        }
Beispiel #11
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            string script_text = "<script>var ctrlID = \"" + this.ClientID + "\"</script>";

            Response.Write(script_text);

            //id-ul angajatorului
            this.AngajatorID = this.GetAngajator();

            //luna activa a angajatorului
            Salaries.Business.Luni luni     = new Salaries.Business.Luni(this.GetAngajator());
            Salaries.Data.LunaData lunaData = luni.GetLunaActiva();
            //id-ul lunii active
            int lunaActivaID = lunaData.LunaId;

            if (!IsPostBack)
            {
                string procInflatie = luni.GetDetalii(lunaActivaID).ProcentInflatie.ToString();
                txtProcentInflatie.Text = procInflatie;

                string[] textTabs = { "Lista luni pe anul curent", "Modificare procent inflatie" };
                Utilities.CreateHeaderWithTabs(tableTabs, textTabs, "../", true);

                //anii din baza de date pentru care sunt calculate salariile
                DataSet dsAni = luni.GetAniSal_Salarii();
                if (dsAni.Tables[0].Rows.Count != 0)
                {
                    //populeaza dropdownlist-ul
                    foreach (DataRow row in dsAni.Tables["Ani"].Rows)
                    {
                        ListItem NewItem = new ListItem();
                        NewItem.Text = row["An"].ToString();
                        drpAni.Items.Add(NewItem);
                    }
                }
                else
                {
                    ListItem NewItem = new ListItem();
                    NewItem.Text = luni.GetLunaActiva().Data.Year.ToString();
                    drpAni.Items.Add(NewItem);
                }
            }
            else
            {
                string[] textTabs = { "Lista luni pentru anul selectat", "Modificare procent inflatie" };
                Utilities.CreateHeaderWithTabs(tableTabs, textTabs, "../", true);
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            #region variabile javascript
            string script_text = "<script>var ctrlID = \"" + this.UniqueID + "\"</script>";
            Response.Write(script_text);

            Response.Write("<script>var DateStartID = '" + this.DateStart.ClientID + "';</script>");
            Response.Write("<script>var DateEndID = '" + this.DateEnd.ClientID + "';</script>");
            Response.Write("<script>var ddlTipuriRetineriClient = '" + this.ddlTipuriRetineri.ClientID + "';</script>");
            Response.Write("<script>var txtDenumireRetinereClient = '" + this.txtRetinere.ClientID + "';</script>");
            Response.Write("<script>var txtDataStartClient = '" + this.txtDataStart.ClientID + "';</script>");
            Response.Write("<script>var txtDataEndClient = '" + this.txtDataEnd.ClientID + "';</script>");
            Response.Write("<script>var txtValoareClient = '" + this.txtValoare.ClientID + "';</script>");
            Response.Write("<script>var chkAlertaClient = '" + this.chkAlerta.ClientID + "';</script>");
            Response.Write("<script>var txtRetinereIdClient = '" + this.txtRetinereID.ClientID + "';</script>");
            #endregion

            string[] textTabs = { "Lista retineri angajat", "Adauga retinere angajat" };
            LoadRetineriAngajat();
            SiemensTM.utils.Utilities.CreateHeaderWithTabs(tableTabs, textTabs, "../", true);
            Response.Write("<script> var TipUtilizator = ''; </script>");

            #region angajat, luna activa
            Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat();
            objAngajat.AngajatId = AngajatID;
            objAngajat.LoadAngajat();

            Salaries.Business.Luni luni     = new Salaries.Business.Luni(objAngajat.AngajatorId);
            Salaries.Data.LunaData lunaData = luni.GetLunaActiva();
            lunaID = lunaData.LunaId;
            dataStartLunaActiva = lunaData.Data;
            #endregion

            Response.Write("<script> LunaActivaDataStart =  '" + dataStartLunaActiva.ToString("dd.MM.yyyy") + "'</script>");

            actiuneRetinere = ((System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl("txtActiuneRetinere")).Value;
            if (IsPostBack)
            {
                TransferDateRetinereLaClient();
                HandleActions();
            }
            else
            {
                LoadTipuriRetineri();
                TransferDateRetinereLaClient();
            }
        }
Beispiel #13
0
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

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

            if (lunaData.LunaId != -1)
            {
                bool enabled = this.GetCurrentMonth() == lunaData.LunaId;
                this.btnAdaugaProcentInfl.Enabled = enabled;

                this.tableTabs.Enabled = enabled;
            }

            this.LoadInflatieList();
        }
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            try
            {
                // Conturile angajatorului.
                Salaries.Business.ConturiAngajator conturiAngajator = new Salaries.Business.ConturiAngajator();
                DataSet dsConturiActive = new DataSet();

                // Luna curenta.
                Salaries.Business.Luni luna        = new Salaries.Business.Luni(this.GetAngajator());
                Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva();

                if (!IsPostBack)
                {
                    // Conturile active ale angajatorului.
                    conturiAngajator.AngajatorId = this.GetAngajator();
                    dsConturiActive                 = conturiAngajator.GetConturiBancareActiveAngajator();
                    drpContAngajator.DataSource     = dsConturiActive;
                    drpContAngajator.DataTextField  = "NumarContIBAN";
                    drpContAngajator.DataValueField = "ContID";
                    drpContAngajator.DataBind();

                    // Este setata data la care se face plata.
                    txtDataPlatii.Text = lunaCurenta.Data.ToShortDateString();
                }
                this.raportDeclaratieA1.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL);
                // Sunt setati parametrii raportului.
                // ID-ul angajatorului pentru care se genereaza declaratia pentru sanatate.
                this.raportDeclaratieA1.SetQueryParameter("AngajatorID", this.GetAngajator().ToString());
                // Id-ul lunii pentru care se genereaza declaratia pentru sanatate.
                this.raportDeclaratieA1.SetQueryParameter("LunaID_1", this.GetCurrentMonth().ToString());
                // ID-ul contului angajatorului.
                this.raportDeclaratieA1.SetQueryParameter("ContID", drpContAngajator.SelectedItem.Value);
                // Numarul de file ale anexei 2.
                this.raportDeclaratieA1.SetQueryParameter("NrFileAnexa2", txtNrFleAnexa2.Text);
                // Data platii drepturilor salariale.
                this.raportDeclaratieA1.SetQueryParameter("DataPlataSalarii", txtDataPlatii.Text);
            }
            catch (Exception)
            {
                labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!";
            }
        }
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            Salaries.Business.Luni luni     = new Salaries.Business.Luni(this.GetAngajator());
            Salaries.Data.LunaData lunaData = luni.GetLunaActiva();

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

            // Verificam daca luna selectata este activa
            if (ldActiva.LunaId != GetCurrentMonth())
            {
                Response.Write("<script>var IsCurrentMonthActive = 0;</script>");
            }
            else
            {
                Response.Write("<script>var IsCurrentMonthActive = 1;</script>");
            }
        }
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            try
            {
                DataSet dsAngajati = new DataSet();
                Salaries.Business.Angajat angajati = new Salaries.Business.Angajat();

                // Luna curenta.
                Salaries.Business.Luni luna        = new Salaries.Business.Luni(this.GetAngajator());
                Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva();

                if (!IsPostBack)
                {
                    // Lista angajatilor firmei pentru care se genereaza declaratia pentru sanatate.
                    angajati.AngajatorId                = GetAngajator();
                    dsAngajati                          = angajati.GetAllAngajatiDinLuna(this.GetCurrentMonth());
                    drpReprezentantLegal.DataSource     = dsAngajati;
                    drpReprezentantLegal.DataTextField  = "NumeIntreg";
                    drpReprezentantLegal.DataValueField = "AngajatID";
                    drpReprezentantLegal.DataBind();

                    // Este setata data platii drepturilor salariale.
                    txtDataPlatii.Text = lunaCurenta.Data.ToShortDateString();
                }

                this.raportSanatate.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL);
                // Sunt setati parametrii raportului.
                // ID-ul angajatorului pentru care se genereaza declaratia.
                this.raportSanatate.SetQueryParameter("AngajatorID", this.GetAngajator().ToString());
                // Id-ul lunii pentru care se genereaza declaratia.
                this.raportSanatate.SetQueryParameter("LunaID", this.GetCurrentMonth().ToString());
                // ID-ul reprezentantului legal al firmei.
                this.raportSanatate.SetQueryParameter("ReprezentantLegalID", drpReprezentantLegal.SelectedItem.Value);
                // Suma restanta.
                this.raportSanatate.SetQueryParameter("Restanta", txtSumaRestanta.Text);
                // Data platii drepturilor salariale.
                this.raportSanatate.SetQueryParameter("DataPlataSalarii", txtDataPlatii.Text);
            }
            catch (Exception)
            {
                labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!";
            }
        }
        /// <summary>
        /// Este inchisa luna si este efectuat calculul final al salariilor
        /// </summary>
        public void InchideLunaActiva()
        {
            Salaries.Data.LunaData lunaActiva = this.GetLunaActiva();

            //sunt calculate salariile angajtior
            this.CalculSalariiAngajati(lunaActiva.LunaId);

            lunaActiva.Activ = false;
            this.ModifLuna(lunaActiva);

            Salaries.Data.LunaData dlNext = new Salaries.Data.LunaData();
            dlNext.Activ           = true;
            dlNext.Data            = lunaActiva.Data.AddMonths(1);
            dlNext.LunaId          = -1;
            dlNext.AngajatorId     = lunaActiva.AngajatorId;
            dlNext.ProcentInflatie = 0;
            this.AddLuna(dlNext);

            this.CopySetariSalarii_Luna(lunaActiva.LunaId, this.GetLunaActiva().LunaId);
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            Utilities.CreateTableHeader(tableRetineriHeader, "Angajatii carora le expira diferite retineri in acesta luna", "", "normal");

            int angajatorId = int.Parse(Session["AngajatorId"].ToString());

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

            if (!IsPostBack)
            {
                Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat();
                DataSet ds = objAngajat.GetAngajatiExpiraRetineri(lunaData.LunaId);

                Session["SortBy"] = "";
                Ind = 1;
                Session["DataSource_Retineri"] = ds;

                listDataGridAngajati.DataSource = ds;
                listDataGridAngajati.DataBind();
            }
        }
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            try
            {
                DataSet dsCaseDeAsig = new DataSet();
                Salaries.Business.AdminAngajator angajator = new Salaries.Business.AdminAngajator();
                angajator.AngajatorId = this.GetAngajator();

                // Luna curenta.
                Salaries.Business.Luni luna        = new Salaries.Business.Luni(this.GetAngajator());
                Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva();

                if (!IsPostBack)
                {
                    // Lista caselor de asigurari ale unui angajator.
                    dsCaseDeAsig                 = angajator.GetCaseDeAsigurari();
                    drpCaseDeAsig.DataSource     = dsCaseDeAsig;
                    drpCaseDeAsig.DataTextField  = "Denumire";
                    drpCaseDeAsig.DataValueField = "Denumire";
                    drpCaseDeAsig.DataBind();
                }

                this.raportSanatate.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL);
                // Sunt setati parametrii raportului.
                // ID-ul angajatorului pentru care se genereaza declaratia.
                this.raportSanatate.SetQueryParameter("AngajatorID", this.GetAngajator().ToString());
                // Id-ul lunii pentru care se genereaza declaratia.
                this.raportSanatate.SetQueryParameter("LunaID", this.GetCurrentMonth().ToString());
                // Punctul de lucru.
                this.raportSanatate.SetQueryParameter("DenumireCasaDeAsigurari", drpCaseDeAsig.SelectedItem.Value);
                this.raportSanatate.SetQueryParameter("ReprezentantLegalID", "-1");
            }
            catch (Exception)
            {
                labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!";
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            //Modificat: Cristina Muntean ... se permite modificarea pontajului numai daca luna selectata de
            //utilizator este luna activa a angajatorului sau daca exista situatie lunara pentru angajatul selectat

            //luna selectata de utilizator
            int lunaCurentaID = int.Parse(this.Session[SiemensHR.InterfataSalarii.Classes.Definitions.LunaCurentaKey].ToString());
            //id-ul angajatului selectat in dropdownlist
            int angajatID = this.GetAngajat();

            Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat();
            objAngajat.AngajatId = angajatID;
            objAngajat.LoadAngajat();

            //luna activa a angajatorului
            Salaries.Business.Luni luna     = new Salaries.Business.Luni(objAngajat.AngajatorId);
            Salaries.Data.LunaData lunaData = luna.GetLunaActiva();

            //se obtine situatie lunara a angajatului
            Salaries.Business.SituatieLunaraAngajat situatieLunaraAng  = new Salaries.Business.SituatieLunaraAngajat(objAngajat.AngajatId);
            Salaries.Data.InfoSituatieLunara        infoSituatieLunara = situatieLunaraAng.GetSituatieLunaraAngajat(objAngajat.AngajatId, lunaData.LunaId);

            //daca luna selectata de utilizator nu este luna activa sau daca nu exista o situatie lunara pentru angajatul selectat
            //atunci se permite doar vizualizarea pontajului,altfel se permite si modificarea acestuia
            if ((lunaCurentaID != lunaData.LunaId) || (infoSituatieLunara.SituatieID == -1))
            {
                //HtmlTableCell IntervaleContainer este ascunsa
                IntervaleContainer.Style.Add("display", "none");
            }
            else
            {
                //HtmlTableCell IntervaleContainer este facuta vizibila
                IntervaleContainer.Style.Add("display", "");
            }

            ClientSelectedDate1 = (System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl("ClientSelectedDate");
            this.DoQuickLogin(this.GetAngajat());
        }
Beispiel #21
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            if (objAngajat.IsLichidat)
            {
                btnGenerati.Enabled          = false;
                txtNrCom.Enabled             = false;
                txtDataInregistrarii.Enabled = false;

                lblEroare.Text = "Angajatul selectat este lichidat!";
            }

            // Este aflata luna activa
            luni     = new Salaries.Business.Luni(objAngajat.AngajatorId);
            lunaData = luni.GetLunaActiva();

            // DataSet-ul cu numele tuturor angajatilor.
            objAngajat.CategorieId = -1;

            Salaries.Business.AdminAngajator adminAng = new Salaries.Business.AdminAngajator();
            adminAng.AngajatorId = Int32.Parse(Session["AngajatorId"].ToString());
            DataSet ds = adminAng.GetReprezLegali();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                // Numele managerului general.
                if (dr["NumeFunctie"].ToString().Equals("Manager general"))
                {
                    txtManagerGeneral.Text = dr["NumeReprez"].ToString() + " " + dr["PrenumeReprez"].ToString();
                }
                // Numele directorului economic.
                if (dr["NumeFunctie"].ToString().Equals("Director economic"))
                {
                    txtDirectorEconomic.Text = dr["NumeReprez"].ToString() + " " + dr["PrenumeReprez"].ToString();
                }
            }

            Utilities.CreateTableHeader(Table2, "Comunicare indexare si majorare drepturi banesti pentru luna " + " " + lunaData.Data.Month.ToString() + " / " + lunaData.Data.Year.ToString(), "", "normal");
        }
Beispiel #22
0
        /// <summary>
        ///	Se initializeaza datele specifice paginii
        /// </summary>
        private void Page_Load(object sender, System.EventArgs e)
        {
            string script_text = "<script>var ctrlID = \"" + this.ClientID + "\"</script>";

            Response.Write(script_text);
            litError.Text = "";

            btnEdit.Style.Add("display", "none");
            txtSerieID.Style.Add("display", "none");

            settings = Salaries.Configuration.ModuleConfig.GetSettings();
            UtilitiesDb utilDb = new UtilitiesDb(settings.ConnectionString);

            Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator());
            lunaActiva = luni.GetLunaActiva();
            BindComboLstLunaSerie(luni);
            BindPunctLucru();

            if (!IsPostBack)
            {
                this.btnSalveaza.Enabled = true;
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            string script_text = "<script>var ctrlID = \"" + this.UniqueID + "\"</script>";

            Response.Write(script_text);

            Response.Write("<script>var DateStartID = '" + this.DateStart.ClientID + "';</script>");
            Response.Write("<script>var DateEndID = '" + this.DateEnd.ClientID + "';</script>");
            Response.Write("<script>var txtDataStartID = '" + this.txtDataStart.ClientID + "';</script>");
            Response.Write("<script>var txtDataEndID = '" + this.txtDataEnd.ClientID + "';</script>");

            this.txtDataStart.Attributes["onblur"] = " if (document.getElementById(txtDataStartID).value!='') {getIntervalIntreruperi('" + this.ClientID + "').DataStartChanged();" +
                                                     "document.getElementById(DateStartID).value=document.getElementById(txtDataStartID).value;" +
                                                     "if (!isDate(document.getElementById(txtDataStartID).value)) { alert('Data de inceput nu este corecta!'); document.getElementById(txtDataStartID).value='';} }";
            this.txtDataEnd.Attributes["onblur"] = " if (document.getElementById(txtDataEndID).value!='') {getIntervalIntreruperi('" + this.ClientID + "').DataEndIntrerupereChanged(); " +
                                                   "document.getElementById(DateEndID).value=document.getElementById(txtDataEndID).value;" +
                                                   "if (!isDate(document.getElementById(txtDataEndID).value))  { alert('Data de sfarsit nu este corecta!'); document.getElementById(txtDataEndID).value='';} }";

            this.txtObservatii.Attributes["onblur"] = "getIntervalIntreruperi('" + this.ClientID + "').ObservatiiIntreruperiChanged()";

            string[] textTabs = { "Istoric intreruperi CIM", "Adauga intrerupere CIM" };
            LoadIstoricSuspendariCIM();

            SiemensTM.utils.Utilities.CreateHeaderWithTabs(tableTabs, textTabs, "", true);
            Response.Write("<script> var TipUtilizator = ''; </script>");

            Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat();
            objAngajat.AngajatId = AngajatID;
            objAngajat.LoadAngajat();

            Salaries.Business.Luni luni     = new Salaries.Business.Luni(objAngajat.AngajatorId);
            Salaries.Data.LunaData lunaData = luni.GetLunaActiva();
            dataStartLunaActiva = lunaData.Data;

            Response.Write("<script>LunaActivaDataStart =  '" + dataStartLunaActiva.ToString("dd.MM.yyyy") + "'</script>");
            btnStergeDate.Attributes.Add("onclick", "return CheckDelete('Sunteti sigur ca vreti sa stergeti intreruperea?');");
        }
        /// <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);
                        }
                    }
                }
            }
        }
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            try
            {
                // Conturile angajatorului.
                Salaries.Business.ConturiAngajator conturiAngajator = new Salaries.Business.ConturiAngajator();
                DataSet dsConturiActive = new DataSet();
                // Monezile in care au angajatii deschise conturi.
                DataSet dsMonede = new DataSet();
                // Luna curenta.
                Salaries.Business.Luni luna        = new Salaries.Business.Luni(this.GetAngajator());
                Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva();

                if (!IsPostBack)
                {
                    // Conturile active ale angajatorului.
                    conturiAngajator.AngajatorId = this.GetAngajator();
                    dsConturiActive                 = conturiAngajator.GetConturiBancareActiveAngajator();
                    drpContAngajator.DataSource     = dsConturiActive;
                    drpContAngajator.DataTextField  = "NumarContIBAN";
                    drpContAngajator.DataValueField = "ContID";
                    drpContAngajator.DataBind();

                    // Monezile in care au angajatii deschise conturi
                    dsMonede = conturiAngajator.GetMonedaConturiAngajati();
                    drpMonedaCont.DataSource     = dsMonede;
                    drpMonedaCont.DataTextField  = "Moneda";
                    drpMonedaCont.DataValueField = "Moneda";
                    drpMonedaCont.DataBind();

                    // Luna pentru care se face plata.
                    switch (lunaCurenta.Data.Month)
                    {
                    case 1: txtLunaAn.Text = "ian.";
                        break;

                    case 2: txtLunaAn.Text = "feb.";
                        break;

                    case 3: txtLunaAn.Text = "martie";
                        break;

                    case 4: txtLunaAn.Text = "apr.";
                        break;

                    case 5: txtLunaAn.Text = "mai";
                        break;

                    case 6: txtLunaAn.Text = "iun.";
                        break;

                    case 7: txtLunaAn.Text = "iul.";
                        break;

                    case 8: txtLunaAn.Text = "aug.";
                        break;

                    case 9: txtLunaAn.Text = "sept.";
                        break;

                    case 10: txtLunaAn.Text = "oct.";
                        break;

                    case 11: txtLunaAn.Text = "noi.";
                        break;

                    case 12: txtLunaAn.Text = "dec.";
                        break;
                    }

                    txtLunaAn.Text += lunaCurenta.Data.Year.ToString();

                    // Este setata data la care se face plata.
                    txtDataPlatii.Text = lunaCurenta.Data.ToShortDateString();
                }

                this.raportFisierMulticache.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL);
                // Sunt setati parametrii raportului.
                // ID-ul angajatorului pentru care se genereaza fisierul multicache
                this.raportFisierMulticache.SetQueryParameter("AngajatorID", this.GetAngajator().ToString());
                // Id-ul lunii pentru care se genereaza fisierul multicache.
                this.raportFisierMulticache.SetQueryParameter("LunaID", this.GetCurrentMonth().ToString());
                // ID-ul contului angajatorului.
                this.raportFisierMulticache.SetQueryParameter("ContID", drpContAngajator.SelectedItem.Value);
                // Moneda in care sunt deschise conturile angajatilor.
                this.raportFisierMulticache.SetQueryParameter("Moneda", drpMonedaCont.SelectedItem.Text);
                // Luna si anul la care se face plata.
                this.raportFisierMulticache.SetQueryParameter("LunaAn", txtLunaAn.Text);
                // Data platii.
                this.raportFisierMulticache.SetQueryParameter("Data", txtDataPlatii.Text);
                // Tipul platii.
                this.raportFisierMulticache.SetQueryParameter("TipPlata", txtTipulPlatii.Text);
            }
            catch (Exception)
            {
                labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!";
            }
        }
 /// <summary>
 /// Procedura adauga o luna
 /// </summary>
 /// <param name="ld">Obiectul adaugat</param>
 /// <returns>Returneaza true daca s-a facut adaugarea si false altfel</returns>
 public int AddLuna(Salaries.Data.LunaData ld)
 {
     return(this.AddLuna(ld.Data, ld.Activ, ld.ProcentInflatie, ld.AngajatorId));
 }
 /// <summary>
 /// Procedura modifica datele unei luni
 /// </summary>
 /// <param name="ld">Obiectul modificat</param>
 /// <returns>Returneaza true daca s-a facut modificarea si false altfel</returns>
 public int ModifLuna(Salaries.Data.LunaData ld)
 {
     return(new Salaries.Data.Luni(this.settings.ConnectionString).UpdateLuna(ld));
 }
Beispiel #28
0
        private void btnGenerati_Click(object sender, System.EventArgs e)
        {
            // Date luna anterioara.
            Salaries.Data.LunaData lunaAnterioara = luni.GetDetaliiByData(lunaData.Data.AddMonths(-1));
            // Situatia lunara a angajatului.
            Salaries.Business.SituatieLunaraAngajat situatieLunara = new Salaries.Business.SituatieLunaraAngajat(objAngajat.AngajatId);
            // Situatia lunara din luna curenta.
            Salaries.Data.InfoSituatieLunara infoSituatieLunara = situatieLunara.GetSituatieLunaraAngajat(objAngajat.AngajatId, lunaData.LunaId);
            // Situatia lunara de pe luna precedenta.
            Salaries.Data.InfoSituatieLunara infoSituatieLunaraAnt = situatieLunara.GetSituatieLunaraAngajat(objAngajat.AngajatId, lunaAnterioara.LunaId);

            Salaries.Business.Salariu salariu = new Salaries.Business.Salariu();
            salariu.AngajatID = objAngajat.AngajatId;

            // true, daca este luna incheie un trimestru, false altfel
            bool lnSfDeTrim = false;
            // Suma cu care a fost majorat salariul angajatului.
            float sumaMajorare = 0;

            // Valoarea indexata a venitului brut.
            float venitBrutIndexat = 0;

            int lunaCurenta = int.Parse(luni.GetLunaActiva().Data.Month.ToString());

            switch (lunaCurenta)
            {
            case LUNA_INDEXARE_1:
                lnSfDeTrim = true;
                break;

            case LUNA_INDEXARE_2:
                lnSfDeTrim = true;
                break;
            }

            venitBrutIndexat = salariu.CalculVenitBrutIndexat();

            /*
             *      Se verifica daca este cazul sa se genereze o astfel de comunicare.
             * Anul este impartit in patru trimestre(lunile 1-3,4-6,7-9,10-12)
             * Indexarea se reflecta in salariul din ultima luna a trimestrului. Cum
             * salariul primit in luna activa este de pe luna anterioara, indexarea
             * trebuie sa fie facuta in fiecare din lunile 1,4,7 si 10.Se verifica, de asemenea,
             * daca angajatul a lucrat cel putin o luna pe trimestrul anterior.
             */
            if ((lnSfDeTrim) && (venitBrutIndexat != 0))
            {
                // Sunt introduse in sesiune datele referitoare la comunicare.
                // Tipul comunicarii.
                Session["TipComunicare"] = "comunicare indexare.xml";
                // Numarul comunicarii.
                Session["Numar"] = txtNrCom.Text;
                // Data inregistrarii comunicarii.
                Session["DataInregistrarii"] = txtDataInregistrarii.Text;
                // Procentul inflatiei.
                Session["ProcentIndexare"] = (salariu.CalculProcentIndexareAngajat() - 1) * 100;
                // Este calculata valoarea majorarii.
                sumaMajorare = (infoSituatieLunara.IndemnizatieConducere - infoSituatieLunaraAnt.IndemnizatieConducere) +
                               (infoSituatieLunara.SalariuBaza - salariu.CalculVenitBrutIndexat());
                // Valoare majorare.
                Session["SumaMajorare"] = sumaMajorare;
                // Numele managerului general.
                Session["ManagerGeneral"] = txtManagerGeneral.Text;
                // Numele directorului economic.
                Session["DirectorEconomic"] = txtDirectorEconomic.Text;

                Response.Redirect("Comunicari/comunicare.aspx?id=" + objAngajat.AngajatId);

                lblEroare.Text = "Comunicarea a fost generata.";
            }
            // Altfel este afisat un mesaj de eroare.
            else
            {
                if (!lnSfDeTrim)
                {
                    lblEroare.Text = "Pe aceasta luna nu trebuie generata o astfel de comunicare!";
                }
                if (venitBrutIndexat == 0)
                {
                    lblEroare.Text = "Acestui angajat nu trebuie sa ii fie indexat salariul!";
                }
            }
        }
 /// <summary>
 /// Sunt calculate salariile din luna activa, inainte sa fie inchisa luna(este facut un calcul intermediar)
 /// </summary>
 public void SalariiLunaActiva()
 {
     Salaries.Data.LunaData lunaActiva = this.GetLunaActiva();
     this.CalculIntermediarSalariiAngajati(lunaActiva.LunaId);
 }
        /// <summary>
        /// Initializeaza luna
        /// </summary>
        private void InitializareLunaClick()
        {
            ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - start - click_initializareLuna()");
            // Va contine salariile indexate ale angajatilor.
            DataSet dsSalariiIndexate = new DataSet();

            Salaries.Business.Luni luna = new Salaries.Business.Luni(this.GetAngajator());
            ArrayList categs            = new ArrayList();

            /*
             * Adaugat:		Oprescu Claudia
             * Data:		24.04.2007
             * Descriere:	Daca exista angajati carora le-a expirat contractul de munca, nu se permite initializarea lunii pentru care trebuie facuta indexarea
             */
            if (performIndexing && ((this.SelectedDate.Month == 4) || (this.SelectedDate.Month == 10)))
            {
                Salaries.Business.Angajat angajati = new Salaries.Business.Angajat();
                Salaries.Business.IstoricSchimbareDateAngajat dataPosibilaIndexare = new Salaries.Business.IstoricSchimbareDateAngajat();
                dataPosibilaIndexare.DataStart = luna.GetLunaActiva().Data;
                while (dataPosibilaIndexare.DataEsteZiSarbatoare())
                {
                    dataPosibilaIndexare.DataStart = dataPosibilaIndexare.DataStart.AddDays(1);
                }
                DataSet dsAngajatiExpiraContract = angajati.GetAngajatiExpiraContractLunaCurenta(dataPosibilaIndexare.DataStart);
                if (dsAngajatiExpiraContract.Tables[0].Rows.Count != 0)
                {
                    Response.Write("<script> alert('Exista angajati carora le-a expirat contractul de munca, adica data de sfarsit a contractului este mai mica decat prima zi lucratoare a lunii curente. \\nPentru a vizualiza acesti angajati, accesati modulul Home al aplicatiei. \\nVa rugam actualizati data de sfarsit a contractului pentru acesti angajati pentru a se putea efectua indexarea. \\nVa multumim!'); </script>");
                    return;
                }
            }

            InitializeOreLucrateLunaAngajati();

            if (this.lstCategorii.SelectedIndex == 0)
            {
                for (int i = 1; i < this.lstCategorii.Items.Count; i++)
                {
                    categs.Add(int.Parse(this.lstCategorii.Items[i].Value));
                }
            }
            else
            {
                categs.Add(this.lstCategorii.SelectedValue);
            }

            /*
             * Adaugat:  Muntean Raluca Cristina
             * Data:     29.12.2005
             * Descriere:Sunt calculate salariile indexate ale angajatilor
             * si introduce schimbarea in baza de date.
             *
             * Modificat:
             *		- Ionel Popa - 18.12.2006: indexarea se face o data la sase luni: aprilie si octombrie
             */
            if (performIndexing && ((this.SelectedDate.Month == 4) || (this.SelectedDate.Month == 10)))
            {
                ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - indexare");
                //a fost exectuata indexare si campul pentru specificarea indexarii este inactiv
                tdIndexare.Disabled      = true;
                indexareCheckBox.Checked = true;

                ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - calcul salarii indexate");
                dsSalariiIndexate = luna.CalculSalariiIndexate(this.GetAngajator());
                ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - calcul salarii indexate");

                Salaries.Business.Angajat ang = new Salaries.Business.Angajat();
                Salaries.Business.IstoricSchimbareDateAngajat isda;
                Salaries.Data.LunaData lunaActiva = luna.GetLunaActiva();
                string dataLunaActiva             = lunaActiva.Data.ToShortDateString();

                //Se creaza noul interval de schimbari:
                //Va contine ca data de start inceputul lunii si ca data de sfarsit DataTime.MaxValue
                Salaries.Business.IstoricSchimbareDateAngajat intsch = new Salaries.Business.IstoricSchimbareDateAngajat();
                intsch.DataEnd   = DateTime.MaxValue;
                intsch.DataStart = DateTime.Parse(dataLunaActiva);
                //se stabileste data de inceput a schimbarii
                //daca este o zi de sarbatoare, se va lua data urmatoare
                while (intsch.DataEsteZiSarbatoare())
                {
                    intsch.DataStart = intsch.DataStart.AddDays(1);
                }

                Salaries.Business.IstoricSchimbareDateAngajat interv;
                //Un angajat poate avea cel putin un interval care se termina inaintea datei de inceput a intervalului de schimbare
                //In acest caz retinem acest interval
                //Salaries.Business.IstoricSchimbareDateAngajat possibleLastInterval;

                ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - schimbare date angajat(sal indexat)");
                foreach (DataRow angajatRow in dsSalariiIndexate.Tables[0].Rows)
                {
                    ang.AngajatId = long.Parse(angajatRow["AngajatID"].ToString());
                    ang.LoadAngajat();

                    //Se initializeaza schimbarile angajatului
                    isda             = new Salaries.Business.IstoricSchimbareDateAngajat();
                    isda.AngajatId   = ang.AngajatId;
                    isda.DataStart   = intsch.DataStart;
                    intsch.AngajatId = ang.AngajatId;

                    if (!ang.IsLichidat)
                    {
                        interv = new Salaries.Business.IstoricSchimbareDateAngajat();
                        DataSet existaCapat = new DataSet();

                        //Se verifica daca data de angajare este diferita de inceputul intervalului de schimbare
                        //In cazul in care sunt egale ... nu se face indexarea

                        /*if(ang.DataDeLa != intsch.DataStart)
                         * {
                         *      //Se extrage intervalul precedent intervalului de schimbare
                         *      isda.DataStart = intsch.DataStart.AddDays( -1 );
                         *      interv = isda.GetIntervalSchimbareByDataInside();
                         *      //In cazul in care angajatul a fost angajat pe o perioada determinata e posibil sa nu existe un interval care sa includa aceasta data
                         *      if( interv.ProgramLucru == -1)
                         *      {
                         *              interv = isda.GetLastIntervalSchimbare();
                         *              //Se seteaza doar DataEnd pentru ca aceasta e necesara mai jos in InsertCapatIntervalSchimbareAngajat/UpdateCapatIntervalSchimbareAngajat
                         *              interv.DataStart = intsch.DataStart.AddDays( -1 );
                         *              //Initializam si acest interval
                         *              possibleLastInterval = isda.GetLastIntervalSchimbare();
                         *              possibleLastInterval.DataStart = intsch.DataStart.AddDays( -1 );
                         *              isda.CategorieId = interv.CategorieId;
                         *              possibleLastInterval.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva();
                         *      }
                         *      else
                         *      {
                         *              isda.CategorieId = interv.CategorieId;
                         *              interv.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva();
                         *              //Initializam si acest interval
                         *              isda.DataStart = intsch.DataStart.AddDays( -1 );
                         *              possibleLastInterval = isda.GetIntervalSchimbareByDataInside();
                         *              isda.CategorieId = interv.CategorieId;
                         *              possibleLastInterval.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva();
                         *      }
                         *
                         *
                         *      //Se verifica daca data de start a intervalului de schimbare este capat de interval
                         *      //Aceasta verificare este necesara pentru ca intervalele sa fie continue
                         *      //De ex: in cazul in care exista un capat mai mic decat capatul de start al intervalului de schimbare acesta este actualizat cu capatul de start al intervalului de schimbare
                         *      //!!Prin actiunea de mai jos se seteaza ca si capat de interval ultima zi a lunii precedente
                         *      isda.DataStart = intsch.DataStart.AddDays( -1 );
                         *      existaCapat = isda.GetCapatIntervalAngajatZi();
                         *      if ( existaCapat == null || existaCapat.Tables[ 0 ].Rows.Count == 0 )
                         *      {
                         *              //Daca nu exista un capat de interval acesta va fi inserat
                         *              interv.InsertCapatIntervalSchimbareAngajat();
                         *      }
                         *      else
                         *      {
                         *              //Daca exista un capat de interval acesta este actualizat
                         *              interv.IntervalAngajatId = int.Parse( existaCapat.Tables[ 0 ].Rows[ 0 ][ "IntervalAngajatID" ].ToString());
                         *              interv.UpdateCapatIntervalSchimbareAngajat();
                         *      }
                         *
                         *      //Se actulizeaza salariul de baza cu cel indexat
                         *      intsch.SalariuBaza = decimal.Parse( angajatRow["SalariuIndexat"].ToString() );
                         *      //Se insereaza schimbarea pentru angajatul curent
                         *      intsch.InsertSchimbareSalariuBaza();
                         *
                         *      //Se seteaza ca si capat de interval inceputul lunii active
                         *      isda.DataStart = intsch.DataStart;
                         *      interv = isda.GetIntervalSchimbareByDataInside();
                         *      if( interv.ProgramLucru == -1)
                         *      {
                         *              interv = possibleLastInterval;
                         *              interv.DataStart = DateTime.Parse(dataLunaActiva );
                         *      }
                         *      interv.SalariuBaza = intsch.SalariuBaza;
                         *      isda.CategorieId = interv.CategorieId;
                         *      interv.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva();
                         *
                         *      isda.DataStart = intsch.DataStart;
                         *      existaCapat = isda.GetCapatIntervalAngajatZi();
                         *      if( existaCapat == null || existaCapat.Tables[ 0 ].Rows.Count == 0 )
                         *      {
                         *              interv.InsertCapatIntervalSchimbareAngajat();
                         *      }
                         *      else
                         *      {
                         *              interv.IntervalAngajatId = int.Parse( existaCapat.Tables[ 0 ].Rows[ 0 ][ "IntervalAngajatID" ].ToString());
                         *              interv.UpdateCapatIntervalSchimbareAngajat();
                         *      }
                         * }*/

                        //Se verifica daca data de angajare este diferita de inceputul intervalului de schimbare
                        //In cazul in care sunt egale ... nu se face indexarea
                        if (ang.DataDeLa != intsch.DataStart)
                        {
                            //Se extrage intervalul precedent intervalului de schimbare
                            isda.DataStart = intsch.DataStart.AddDays(-1);
                            //daca este o zi de sarbatoare, se va trece la ziua anterioara pana se va gasi o zi care nu este sarbatoare
                            while (isda.DataEsteZiSarbatoare())
                            {
                                isda.DataStart = isda.DataStart.AddDays(-1);
                            }
                            interv             = isda.GetIntervalSchimbareByDataInside();
                            isda.CategorieId   = interv.CategorieId;
                            interv.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva();

                            //Se verifica daca data de start a intervalului de schimbare este capat de interval
                            //Aceasta verificare este necesara pentru ca intervalele sa fie continue
                            //De ex: in cazul in care exista un capat mai mic decat capatul de start al intervalului de schimbare acesta este actualizat cu capatul de start al intervalului de schimbare
                            //!!Prin actiunea de mai jos se seteaza ca si capat de interval ultima zi a lunii precedente
                            isda.DataStart = intsch.DataStart.AddDays(-1);
                            //daca este o zi de sarbatoare, se va trece la ziua anterioara pana se va gasi o zi care nu este sarbatoare
                            while (isda.DataEsteZiSarbatoare())
                            {
                                isda.DataStart = isda.DataStart.AddDays(-1);
                            }
                            existaCapat = isda.GetCapatIntervalAngajatZi( );
                            if (existaCapat == null || existaCapat.Tables[0].Rows.Count == 0)
                            {
                                //Daca nu exista un capat de interval acesta va fi inserat
                                interv.InsertCapatIntervalSchimbareAngajat();
                            }
                            else
                            {
                                //Daca exista un capat de interval acesta este actualizat
                                interv.IntervalAngajatId = int.Parse(existaCapat.Tables[0].Rows[0]["IntervalAngajatID"].ToString());
                                interv.UpdateCapatIntervalSchimbareAngajat();
                            }
                        }

                        //Se actulizeaza salariul de baza cu cel indexat
                        intsch.SalariuBaza = decimal.Parse(angajatRow["SalariuIndexat"].ToString());
                        //Se insereaza schimbarea pentru angajatul curent
                        intsch.InsertSchimbareSalariuBaza();

                        //Se seteaza ca si capat de interval inceputul lunii active
                        isda.DataStart     = intsch.DataStart;
                        interv             = isda.GetIntervalSchimbareByDataInside();
                        interv.SalariuBaza = intsch.SalariuBaza;
                        isda.CategorieId   = interv.CategorieId;
                        interv.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva();

                        isda.DataStart = intsch.DataStart;
                        existaCapat    = isda.GetCapatIntervalAngajatZi();
                        if (existaCapat == null || existaCapat.Tables[0].Rows.Count == 0)
                        {
                            interv.InsertCapatIntervalSchimbareAngajat();
                        }
                        else
                        {
                            interv.IntervalAngajatId = int.Parse(existaCapat.Tables[0].Rows[0]["IntervalAngajatID"].ToString());
                            interv.UpdateCapatIntervalSchimbareAngajat();
                        }
                    }
                }
                ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - schimbare date angajat(sal indexat)");
                ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - indexare");
            }

            ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - adaugarea etichetelor asociate retinerilor");
            //Adaugat:		Oprescu Claudia
            //Descriere:	La initializarea fiecarei luni se adauga etichetele asociate acesteia
            Salaries.Business.TypesOfRestraints tr = new Salaries.Business.TypesOfRestraints();
            tr.InsertLabel(this.GetCurrentMonth());

            //Descriere:	Pentru fiecare angajat se adauga valori pentru retinerea din luna nou adaugata
            Salaries.Business.Angajat angajat = new Salaries.Business.Angajat();
            DataSet angajatiID = angajat.GetAngajatIDAll();

            foreach (DataRow dr in angajatiID.Tables[0].Rows)
            {
                long AngajatID = long.Parse(dr["AngajatID"].ToString());
                Salaries.Business.TipuriRetineriValori trv = new Salaries.Business.TipuriRetineriValori();
                trv.InsertRetineriValori(this.GetCurrentMonth(), AngajatID);
            }
            ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - adaugarea etichetelor asociate retinerilor");

            ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - generare situatii lunare");
            for (int i = 0; i < categs.Count; i++)
            {
                int CategorieID = int.Parse(categs[i].ToString());

                DataSet CategorieAngajati = new Salaries.Business.CategoriiAngajat().GetCategorieAngajati(CategorieID);

                foreach (DataRow dr in CategorieAngajati.Tables[0].Rows)
                {
                    long AngajatID = long.Parse(dr["AngajatID"].ToString());

                    Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat(AngajatID);
                    sla.GenerareSituatieLunaraAngajat(this.GetCurrentMonth(), this.GetAngajator());

                    //se adauga valorile retinerilor pentru un angajat dintr-o luna
                    //Salaries.Business.TipuriRetineriValori().InsertRetineriValori(this.GetCurrentMonth(), this.GetAngajator());

                    Salaries.Data.InfoSituatieLunara isl = sla.GetSituatieLunaraAngajat(AngajatID, this.GetCurrentMonth());

                    //Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat(AngajatID);

                    Salaries.Data.InfoSituatieLunara x = new Salaries.Data.InfoSituatieLunara();

                    x.SituatieID                = -1;
                    x.AngajatID                 = AngajatID;
                    x.LunaID                    = this.GetCurrentMonth();
                    x.NrZileLuna                = isl.NrZileLuna;
                    x.NrOreConcediuBoala        = isl.NrOreConcediuBoala;
                    x.NrOreConcediuOdihna       = isl.NrOreConcediuOdihna;
                    x.NrOreEvenimDeoseb         = isl.NrOreEvenimDeoseb;
                    x.NrOreInvoire              = isl.NrOreInvoire;
                    x.NrOreObligatiiCetatenesti = isl.NrOreObligatiiCetatenesti;
                    x.NrOreAbsenteNemotivate    = isl.NrOreAbsenteNemotivate;
                    x.NrOreConcediuFaraPlata    = isl.NrOreConcediuFaraPlata;
                    x.NrOreLucrate              = isl.NrOreLucrate;
                    //x.NrOreSup100Proc = isl.NrOreSup100Proc;
                    //x.NrOreSup50Proc = isl.NrOreSup50Proc;
                    x.NrOreSup100Proc = int.Parse(this.txtNrOreSup100Proc.Text);
                    x.NrOreSup50Proc  = int.Parse(this.txtNrOreSup50Proc.Text);

                    x.PrimeSpeciale     = decimal.Parse(this.txtPrimeSpeciale.Text);
                    x.SporActivitatiSup = decimal.Parse(this.txtSporActivitatiSup.Text);
                    x.EmergencyService  = decimal.Parse(this.txtEmergencyService.Text);
                    x.AlteDrepturi      = decimal.Parse(this.txtAlteDrepturi.Text);
                    x.AlteDrepturiNet   = decimal.Parse(this.txtAlteDrepturiNet.Text);
                    x.Avans             = decimal.Parse(this.txtAvans.Text);
                    x.PrimaProiect      = decimal.Parse(this.txtPrimaProiect.Text);

                    //se calculeaza suma pe care trebuie sa o plateasca cei scutiti de contributia la sanatate
                    int lunaID = this.GetCurrentMonth();
                    x.RetinereSanatate = 0;
                    x.CategorieID      = CategorieID;

                    sla.AddSituatieLunaraAngajat(x, true);

                    //distribuie orele suplimentare
                    //ore 100%
                    lunaID = this.GetCurrentMonth();
                    Salaries.Business.Luni l  = new Salaries.Business.Luni(this.GetAngajator());
                    Salaries.Data.LunaData ld = l.GetDetalii(lunaID);
                    int tipIntervalID         = new SiemensTM.Classes.IntervaleAngajat(AngajatID).GetTipIntervalIDByName(Salaries.Business.SituatieLunaraAngajat.denumireOreLucrate[1]);;
                    int valEroare             = new SiemensTM.Classes.IntervaleAngajat(AngajatID).DistribuieOreSuplimentareTip(ld.Data, tipIntervalID, x.NrOreSup50Proc, 0, 0);

                    /*if ( valEroare == 1 )
                     * {
                     *      Response.Write( "<script>alert( 'Numarul de ore suplimentare 100% depaseste numarul de ore disponibile!' );</script>" );
                     * }*/

                    //ore 200%
                    tipIntervalID = new SiemensTM.Classes.IntervaleAngajat(AngajatID).GetTipIntervalIDByName(Salaries.Business.SituatieLunaraAngajat.denumireOreLucrate[2]);;
                    valEroare     = new SiemensTM.Classes.IntervaleAngajat(AngajatID).DistribuieOreSuplimentareTip(ld.Data, tipIntervalID, x.NrOreSup100Proc, 0, 1);

                    //Reportare
                    sla.ReporteazaDiferentaCorectiTichete(lunaID);
                    sla.GenerareSituatieLunaraAngajat(this.GetCurrentMonth(), this.GetAngajator());

                    /*if ( valEroare == 1 )
                     * {
                     *      Response.Write( "<script>alert( 'Numarul de ore suplimentare 200% depaseste numarul de ore disponibile!' );</script>" );
                     * }*/
                }
            }
            ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - generare situatii lunare");
            ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - end - click_initializareLuna()");
        }