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); }
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); }