/// <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);
        }
コード例 #2
0
        /// <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);
        }