/// <summary> /// Procedura verifica daca toate variabilele de salatizare au valori diferite de zero /// </summary> /// <param name="lunaId">Id-ul lunii pentru care se verifica valorile variabilelor</param> /// <returns>Returneaza true daca aceste variabile au valori corecte si false altfel</returns> /// <remarks> /// Adaugat: Oprescu Claudia /// Data: 20.02.2007 /// </remarks> private bool VerificaVariabileSalarizare(int lunaId) { Salaries.Business.VariabileGlobaleValori variabila = new Salaries.Business.VariabileGlobaleValori(); DataSet ds = variabila.GetAllVariabileGlobaleValoriPeLuna(lunaId); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (float.Parse(ds.Tables[0].Rows[i]["Valoare"].ToString()) <= 0) { return(false); } } return(true); }
/// <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); } } } } }