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!"; } } }
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; } }