/// <summary> /// Procedura genereaza situatia lunara unui angajat care a fost lichidat /// </summary> public void GenerareSituatieLunaraAngajatLichidat() { Salaries.Business.Angajat angajat = new Salaries.Business.Angajat(); angajat.AngajatId = AngajatID; angajat.LoadAngajat(); //este obtinuta prima zi a lunii active Salaries.Business.Luni luna = new Salaries.Business.Luni(angajat.AngajatorId, settings); Salaries.Data.LunaData lunaActiva = luna.GetLunaActiva(); Salaries.Business.PontajAngajat pontajAngajat = new Salaries.Business.PontajAngajat(this.AngajatID, settings); DataSet dsIntervaleAngajat = pontajAngajat.GetIntervaleAngajat(lunaActiva.LunaId); //daca nu au fost initializate orele unui angajat, se face aceasta initializare if (dsIntervaleAngajat.Tables[0].Rows.Count == 0) { //intervale angajat IntervaleAngajat intervAng = new IntervaleAngajat(AngajatID, settings); //sunt intializate orele lucrate de catre angajat intervAng.InitializeOreLucrateLunaAngajat(lunaActiva.Data, angajat.DataDeLa, angajat.DataLichidare); } //situatia lunara a unui angajat Salaries.Business.SituatieLunaraAngajat situatieLunaraAng = new Salaries.Business.SituatieLunaraAngajat(AngajatID, settings); //se genereaza situatia lunara a angajatului situatieLunaraAng.GenerareSituatieLunaraAngajatLichidat(lunaActiva.LunaId, angajat.AngajatorId); }
/// <summary> /// Sterge elementele /// </summary> private void DeleteElementsUnusableFromTipIntervalAddCombo() { IntervaleAngajat ia = new IntervaleAngajat(this.AngajatID); DataSet ds = ia.GetTipuriIntervaleFolosire(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { ListItem li = this.TipInterval.Items.FindByValue(ds.Tables[0].Rows[i]["TipintervalID"].ToString()); this.TipInterval.Items.Remove(li); } }
/// <summary> /// Procedura redistribuie orele suplimentare ale angajatului /// </summary> /// <param name="tmp"></param> private void RedistribuireOreSuplimentareLunaAngajat(string [][] tmp) { for (int j = 0; j < tmp.Length; j++) { int tipIntervalID = int.Parse(tmp[j][0]); double nrOreSuplimentare = double.Parse(tmp[j][1]); int tipOraSupl = bool.Parse(tmp[j][2].ToLower())? 1 : 0; double nrOreSuplimentare_old = 0; int valEroare = new IntervaleAngajat(this.AngajatID).DistribuieOreSuplimentareTip(this.dataStartLunaActiva, tipIntervalID, nrOreSuplimentare, nrOreSuplimentare_old, tipOraSupl); if (valEroare == 1) { Response.Write("<script>alert( 'Numarul de ore suplimentare depaseste numarul de ore disponibile!' );</script>"); } } }
/// <summary> /// Initializeaza ore lucrate ale unui angajat /// </summary> private void InitializeOreLucrateLunaAngajati() { ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - start - initializeOreLucrateLuna()"); Salaries.Business.Angajat angajat = new Salaries.Business.Angajat(); angajat.CategorieId = int.Parse(lstCategorii.SelectedValue); angajat.AngajatorId = GetAngajator(); //Modificat:Muntean Raluca Cristina - am adaugat ca parametru si id-ul angajatorului DataSet ds = angajat.GetAllAngajati(); foreach (DataRow dr in ds.Tables[0].Rows) { IntervaleAngajat ia = new IntervaleAngajat(long.Parse(dr["AngajatID"].ToString())); //Modified: Ionel Popa //Description: In loc de DataPanaLa se transmite DataLichidare ( pentru ca e posibil ca prelungirea contractului sa se faca mai greu ) ia.InitializeOreLucrateLunaAngajat(this.SelectedDate, (DateTime)dr["DataDeLa"], dr["DataLichidare"]); } ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - end - initializeOreLucrateLuna()"); }
/// <summary> /// Procedura determina orele lucrate pe luna /// </summary> /// <returns></returns> private string [][] GetOreLucrateIntervaleSpecialeLuna() { IntervaleAngajat ia = new IntervaleAngajat(this.AngajatID); DataSet ds = ia.GetTipuriIntervaleOreSuplimentare(); //col1 = id-ul tipului de interval; col2 = nr de ore suplimentare pe luna; col3 = ore suplimentare normale sau de weekend-noapte string [][] tmp = new string[ds.Tables[0].Rows.Count][]; int i = 0; DateTime dataSt = new DateTime(this.dataStartLunaActiva.Year, this.dataStartLunaActiva.Month, 1); DateTime dataEnd = new DateTime(this.dataStartLunaActiva.Year, this.dataStartLunaActiva.Month, DateTime.DaysInMonth(this.dataStartLunaActiva.Year, this.dataStartLunaActiva.Month)); foreach (DataRow dr in ds.Tables[0].Rows) { tmp[i] = new string[3]; tmp[i][0] = dr["TipIntervalID"].ToString(); tmp[i][1] = ia.GetNrOreLucratePerioadaTip(dataSt, dataEnd, int.Parse(tmp[i][0])).ToString(); tmp[i][2] = dr["AplicWeekendNoapte"].ToString(); i++; } return(tmp); }