Esempio n. 1
0
        private String Insert(string numePrenume, int idAngajat, DateTime dataInceput, DateTime dataSfarsit, int idTipAbsenta, string observatii)
        {
            string msg = "";
            //tip interval???
            IntervaleAbsenteAngajat interval = new IntervaleAbsenteAngajat(idAngajat);

            Salaries.Business.Angajat ang = new Salaries.Business.Angajat();
            ang.AngajatId = idAngajat;
            //oare trebuie sa fac load angajat????
            double medieZilnicaConcediuOdihna          = ang.GetMedieZilnicaConcediuDeOdihna(lunaID);
            double medieZilnicaConcediuBoala           = ang.GetMedieZilnicaConcediuDeBoala(lunaID);
            double medieZilnicaContinuareConcediuBoala = ang.GetMedieZilnicaContinuareConcediuDeBoala(lunaID);

            // ca la insert interval absenta
            //SiemensTM.Module.Intervale intervUC = new SiemensTM.Module.Intervale();
            //intervUC.AngajatID = idAngajat;
            //bool continuareAbsenta = intervUC.VerificaContinuareAbsenta( idTipAbsenta, dataInceput );
            //int boalaID = -1;
            //if( FolosesteBoli( idTipAbsenta ))
            //{
            //	boalaID = int.Parse( ((System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl( "TipBoalaAbsente1" )).Value );
            //}
            //IntervaleAbsenteAngajat intervAbs = new IntervaleAbsenteAngajat( idAngajat );
            //if( continuareAbsenta || ( !intervUC.VerificaTipContinuareAbsenta( idTipAbsenta, intervAbs )))
            //{
            //	bool tipContinuareAbsenta = intervUC.VerificaTipContinuareAbsenta( idTipAbsenta,new IntervaleAbsenteAngajat( idAngajat ));
            //	if( tipContinuareAbsenta)
            //		new IntervaleAngajat( idAngajat ).DeleteTemporarIntervaleAngajatPerioada( dataInceput, dataSfarsit, false);
            new IntervaleAbsenteAngajat(idAngajat).InsertIntervalAbsenteAngajat(idTipAbsenta, dataInceput, dataSfarsit, observatii, -1, false, 0, "", "", false, "", "", DateTime.Today, "", "", "", "");
            //}
            //else
            //{
            //	msg += "Pentru angajatul  " + numePrenume + " continuarea absentei medicale nu se poate lega de concediul medical!" + Environment.NewLine ;
            //}
            return(msg);
        }
Esempio n. 2
0
        public string AdaugaDelegatie(string numePrenume, string marcaAngajat, int idAngajat, DateTime dataInceput, DateTime dataSfarsit, int idTipAbsenta, string observatii)
        {
            string msg = "";
            //verificare daca e absenta lucratoare
            DataSet dsIntervalAbsenta = new IntervaleAbsenteAngajat(idAngajat).GetTipIntervalAbsentaAngajat(idTipAbsenta);
            bool    lucratoare        = false;

            try
            {
                if (dsIntervalAbsenta.Tables[0].Rows.Count > 0 && (bool)dsIntervalAbsenta.Tables[0].Rows[0]["Lucratoare"])
                {
                    lucratoare = true;
                }
            }
            catch
            {
                lucratoare = false;
            }

            SiemensTM.Module.Intervale intervUC = new SiemensTM.Module.Intervale();
            intervUC.AngajatID = idAngajat;
            bool existaIntervalDeja = new IntervaleAbsenteAngajat(idAngajat).CheckExistaIntervalAbsenta(dataInceput, dataSfarsit, idTipAbsenta, -1);

            if (!existaIntervalDeja)
            {
                //verificare de introducere
                int potIntrodInBD = new IntervaleAbsenteAngajat(idAngajat).IntersectieCuAlteIntervaleAbsente(dataInceput, dataSfarsit, -1);
                switch (potIntrodInBD)
                {
                case 0:
                    string [][] tmp = GetOreLucrateIntervaleSpecialeLuna(idAngajat);
                    msg += Insert(numePrenume, idAngajat, dataInceput, dataSfarsit, idTipAbsenta, observatii);
                    RedistribuireOreSuplimentareLunaAngajat(tmp, idAngajat);
                    break;

                case 1:
                    msg += "Pentru angajatul " + numePrenume + " data de inceput este inclusa in alt interval." + Environment.NewLine;
                    break;

                case 2:
                    msg += "Pentru angajatul " + numePrenume + " data de sfarsit este inclusa in alt interval." + Environment.NewLine;
                    break;

                case 3:
                    msg += "Pentru angajatul " + numePrenume + " data de inceput si de sfarsit sunt incluse in alt interval." + Environment.NewLine;
                    break;

                case 4:
                    msg += "Pentru angajatul " + numePrenume + " intervalul contine un alt interval." + Environment.NewLine;
                    break;

                case 5:
                    bool tipContinuareAbsenta = intervUC.VerificaTipContinuareAbsenta(idTipAbsenta, new IntervaleAbsenteAngajat(idAngajat));
                    if (!lucratoare && !tipContinuareAbsenta)
                    {
                        new IntervaleAngajat(idAngajat).DeleteTemporarIntervaleAngajatPerioada(dataInceput, dataSfarsit, false);
                    }
                    tmp  = GetOreLucrateIntervaleSpecialeLuna(idAngajat);
                    msg += Insert(numePrenume, idAngajat, dataInceput, dataSfarsit, idTipAbsenta, observatii);
                    RedistribuireOreSuplimentareLunaAngajat(tmp, idAngajat);
                    break;

                case 6:
                    msg += "Pentru angajatul " + numePrenume + " data de inceput este inclusa intr-o intrerupere de contract." + Environment.NewLine;
                    break;

                case 7:
                    msg += "Pentru angajatul " + numePrenume + " data de sfarsit este inclusa intr-o intrerupere de contract." + Environment.NewLine;
                    break;

                case 8:
                    msg += "Pentru angajatul " + numePrenume + " data de inceput si de sfarsit sunt incluse intr-o intrerupere de contract." + Environment.NewLine;
                    break;

                case 9:
                    msg += "Pentru angajatul " + numePrenume + " intervalul contine o intrerupere de contract." + Environment.NewLine;
                    break;

                default:
                    break;
                }
            }
//			else
//			{
//				msg += "Pentru angajatul " + numePrenume + " intervalul de delegatii este deja introdus.";
//			}
            return(msg);
        }