Beispiel #1
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!";
                }
            }
        }
Beispiel #2
0
        private void btnGenerati_Click(object sender, System.EventArgs e)
        {
            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;

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

            sumaMajorareSalariuBrut = float.Parse(objAngajat.SalariuBaza.ToString()) - salariu.CalculVenitBrutIndexat();

            if (infoSituatieLunara.SituatieID != -1 && infoSituatieLunaraAnt.SituatieID != -1)
            {
                // Tipul comunicarii.
                Session["TipComunicare"] = "comunicare majorare.xml";
                // Numarul comunicarii.
                Session["Numar"] = txtNrCom.Text;
                // Data inregistrarii comunicarii.
                Session["DataInregistrarii"] = txtDataInregistrarii.Text;
                // Salariul brut anterior.
                Session["SalariuBrutAnterior"] = infoSituatieLunaraAnt.SalariuBaza.ToString();
                // Indemnizatie conducere anterioara.
                Session["IndemnizatieConducereAnterioara"] = infoSituatieLunaraAnt.IndemnizatieConducere.ToString();
                // Suma cu care a fost majorat salariu de incadrare.
                Session["SumaMajorareSalariuBrut"] = sumaMajorareSalariuBrut.ToString();
                // 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.";
            }
            else
            {
                lblEroare.Text = "Angajatul nu are situatii lunare generate!";
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            SeteazaCampuriInvizibile();

            Salaries.Business.Luni l = new Salaries.Business.Luni(this.GetAngajator(), this.GetCurrentMonth());
            this.SelectedDate = l.Data;

            if (IsPostBack)
            {
                //performIndexing = this.indexareCheckBox.Checked;
                performIndexing = !tdIndexare.Disabled && indexareCheckBox.Checked;
            }

            /*
             * Adaugat:   Cristina Raluca Mutean
             * Data:      29.12.2005
             * Descriere: Seteaza vizibil sau nu randul corespunzator controalelor legate de indexare
             * in functie de luna activa.
             */
            /*if (( this.SelectedDate.Month == LUNA_INDEXARE_1 ) || ( this.SelectedDate.Month == LUNA_INDEXARE_2 ))
             * {
             *      tdIndexare.Disabled = false;
             *      indexareCheckBox.Checked = true;
             * }
             * else
             * {
             *      tdIndexare.Disabled = true;
             *      indexareCheckBox.Checked = false;
             * }*/


            //daca este luna de executare a indexarii
            if ((this.SelectedDate.Month == LUNA_INDEXARE_1) || (this.SelectedDate.Month == LUNA_INDEXARE_2))
            {
                //se calculeaza salariul indexat al unui angajat
                float venitBrutIndexat = 0;
                Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat();
                Salaries.Business.Salariu salariu    = new Salaries.Business.Salariu();
                DataSet ds = objAngajat.GetAngajatIDAll();
                if (ds.Tables[0].Rows.Count > 0)
                {
                    salariu.AngajatID    = int.Parse(ds.Tables[0].Rows[0]["AngajatId"].ToString());
                    objAngajat.AngajatId = int.Parse(ds.Tables[0].Rows[0]["AngajatId"].ToString());
                    objAngajat.LoadAngajat();
                    venitBrutIndexat = salariu.CalculVenitBrutIndexat();
                }

                //daca nu a fost executata deja indexarea, adica salariu curent este egal cu cel indexat
                if (decimal.Parse(venitBrutIndexat.ToString()) != objAngajat.SalariuBaza)
                {
                    //se seteaza campul pentru efectuarea indexarii ca fiind activ
                    tdIndexare.Disabled = false;
                    //indexareCheckBox.Checked = true;
                }
                //a fost deja executata o indexare, nu se va mai realiza alta indexare
                else
                {
                    tdIndexare.Disabled = true;
                    //indexareCheckBox.Checked = false;
                }
                indexareCheckBox.Checked = true;
            }
            //nu este luna de indexare
            else
            {
                tdIndexare.Disabled      = true;
                indexareCheckBox.Checked = false;
            }
        }