//Lungu Andreea - 16.11.2009
        public bool CheckExistaIntervalAbsenta(DateTime dataInceput, DateTime dataSfarsit, int idTipAbs, int idBoala)
        {
            SqlCommand myCommand = new SqlCommand("tm_CheckIntervaleAbsenta", m_con);

            myCommand.CommandType = CommandType.StoredProcedure;
            SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataInceput", SqlDbType.DateTime, 8, dataInceput));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataSfarsit", SqlDbType.DateTime, 8, dataSfarsit));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@IdTipAbs", SqlDbType.Int, 4, idTipAbs));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@IdBoala", SqlDbType.Int, 4, idBoala));

            DataSet ds = new DataSet();

            dAdapt.Fill(ds);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// Prcoedura sterge un interval de absenta
        /// </summary>
        /// <param name="IntervalAbsenteAngajatID">Id-ul intervalului de absenta</param>
        public void DeleteIntervalAbsenteAngajat(int IntervalAbsenteAngajatID)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_InsertUpdateDeleteIntervalAbsenta", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 2));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@IntervalAbsentaID", SqlDbType.Int, 4, IntervalAbsenteAngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@TipAbsentaID", SqlDbType.Int, 4, 0));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataStart", SqlDbType.DateTime, 8, DateTime.Now));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataEnd", SqlDbType.DateTime, 8, DateTime.Now));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Observatii", SqlDbType.NText, 16, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@BoalaID", SqlDbType.Int, 4, -1));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Serie", SqlDbType.NVarChar, 10, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Numar", SqlDbType.NVarChar, 50, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@SerieCertificatInitial", SqlDbType.NVarChar, 10, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@NumarCertificatInitial", SqlDbType.NVarChar, 50, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@ContinuareAbsenta", SqlDbType.Bit, 1, 0));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@MedieZilnica", SqlDbType.Real, 4, 0));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@EsteCertificat", SqlDbType.Bit, 1, 0));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataAcordariiCertificat", SqlDbType.DateTime, 8, DateTime.Now));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@CnpCopil", SqlDbType.NVarChar, 13, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@LocPrescriereCertificat", SqlDbType.NVarChar, 50, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@CodUrgenta", SqlDbType.NVarChar, 50, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@NrAvizMedicExpert", SqlDbType.NVarChar, 50, ""));

                m_con.Open();
                myCommand.ExecuteNonQuery();
                m_con.Close();
            }
            catch {}
        }
        /// <summary>
        /// Procedura actualizeaza un interval de absenta
        /// </summary>
        /// <param name="IntervalAbsentaID">Id-ul intervalului de absenta</param>
        /// <param name="TipAbsentaID">Id-ul tipului de absenta</param>
        /// <param name="DataStart">Data se inceput</param>
        /// <param name="DataEnd">Data de sfarsit</param>
        /// <param name="Observatii">Observatii</param>
        /// <param name="boalaID">Id-ul bolii</param>
        /// <param name="continuareAbsenta">Continuare absenta sau nu</param>
        /// <param name="medieZilnica">Media zilnica asociata</param>
        /// <param name="serie">Seriea</param>
        /// <param name="numar">Numarul</param>
        public void UpdateIntervalAbsenteAngajat(int IntervalAbsentaID, int TipAbsentaID, DateTime DataStart, DateTime DataEnd, string Observatii, int BoalaID, bool continuareAbsenta, double medieZilnica, string serie, string numar, bool certificatInitial, string serieCertificat, string numarCertificat, DateTime dataAcordarii, string cnpCopil, string locPrescriere, string codUrgenta, string nrAvizMedical)
        {
            try
            {
                //Oprescu Claudia
                //se verifica daca nu este continuare de concediu medical. Daca este atunci se copiaza seria si numarul de la concediu medical altfel se adauga null
                string SerieCertificatInitial = null, NumarCertificatInitial = null;

                UtilitiesDb ut = new UtilitiesDb(settings.ConnectionString);
                if (TipAbsentaID == ut.GetContinuareConcediuMedicalID())
                {
                    //se apeleaza procedura stocata pentru a se afla seria si numarul pentru concediul medical asociat
                    SqlCommand cmd = new SqlCommand("tm_IntervaleAbsentaContinuareConcediuMedical", m_con);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                    cmd.Parameters.Add(UtilitiesDb.AddOutputParameter("@SerieCertificatInitial", SqlDbType.NVarChar, 10, ""));
                    cmd.Parameters.Add(UtilitiesDb.AddOutputParameter("@NumarCertificatInitial", SqlDbType.NVarChar, 50, ""));

                    m_con.Open();
                    cmd.ExecuteNonQuery();
                    m_con.Close();

                    SerieCertificatInitial = cmd.Parameters[1].Value.ToString().TrimEnd();
                    NumarCertificatInitial = cmd.Parameters[2].Value.ToString().TrimEnd();
                }

                SqlCommand myCommand = new SqlCommand("tm_InsertUpdateDeleteIntervalAbsenta", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 1));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@IntervalAbsentaID", SqlDbType.Int, 4, IntervalAbsentaID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@TipAbsentaID", SqlDbType.Int, 4, TipAbsentaID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataStart", SqlDbType.DateTime, 8, DataStart));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataEnd", SqlDbType.DateTime, 8, DataEnd));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Observatii", SqlDbType.NText, 16, Observatii));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@BoalaID", SqlDbType.Int, 4, BoalaID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Serie", SqlDbType.NVarChar, 10, serie));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Numar", SqlDbType.NVarChar, 50, numar));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@SerieCertificatInitial", SqlDbType.NVarChar, 10, serieCertificat));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@NumarCertificatInitial", SqlDbType.NVarChar, 50, numarCertificat));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@ContinuareAbsenta", SqlDbType.Bit, 1, continuareAbsenta));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@MedieZilnica", SqlDbType.Real, 4, medieZilnica));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@EsteCertificat", SqlDbType.Bit, 1, certificatInitial));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataAcordariiCertificat", SqlDbType.DateTime, 8, dataAcordarii));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@CnpCopil", SqlDbType.NVarChar, 13, cnpCopil));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@LocPrescriereCertificat", SqlDbType.NVarChar, 50, locPrescriere));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@CodUrgenta", SqlDbType.NVarChar, 50, codUrgenta));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@NrAvizMedicExpert", SqlDbType.NVarChar, 50, nrAvizMedical));

                m_con.Open();
                myCommand.ExecuteNonQuery();
                m_con.Close();
            }
            catch (Exception e)
            {
                string x = e.Message;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Procedura selecteaza absentele unei luni
        /// </summary>
        /// <param name="An">Anul</param>
        /// <param name="Luna">Luna</param>
        /// <returns>Returneaza un DataSet care contine aceste date</returns>
        public DataSet GetAbsenteLuna(int An, int Luna)
        {
            SqlCommand myCommand = new SqlCommand("tm_GetAbsenteLuna", m_con);

            myCommand.CommandType = CommandType.StoredProcedure;

            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@An", SqlDbType.Int, 4, An));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Luna", SqlDbType.Int, 4, Luna));

            SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);
            DataSet        ds     = new DataSet();

            dAdapt.Fill(ds);
            return(ds);
        }
        /// <summary>
        /// Procedura adauga un interval de absenta medicala
        /// </summary>
        /// <param name="DataStart">Data de inceput</param>
        /// <param name="DataEnd">Data de sfarsit</param>
        /// <param name="Observatii">Observatii</param>
        /// <param name="boalaID">Id-ul bolii</param>
        public void InsertIntervalAbsenteMedicaleContinuare(DateTime DataStart, DateTime DataEnd, string Observatii, int boalaID)
        {
            SqlCommand myCommand = new SqlCommand("tm_InsertUpdateDeleteIntervalAbsentaMedicalaContinuare", m_con);

            myCommand.CommandType = CommandType.StoredProcedure;

            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 0));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AbsentaContinuareID", SqlDbType.Int, 4, -1));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AbsentaID", SqlDbType.Int, 4, this.AbsentaID));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataStart", SqlDbType.DateTime, 8, DataStart));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataEnd", SqlDbType.DateTime, 8, DataEnd));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Observatii", SqlDbType.NText, 16, Observatii));
            myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@BoalaID", SqlDbType.Int, 4, boalaID));

            m_con.Open();
            myCommand.ExecuteNonQuery();
            m_con.Close();
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Procedura adauga un interval de absenta
        /// </summary>
        /// <param name="Data">Data absentei</param>
        /// <param name="TipAbsentaID">Tipul absentei</param>
        public void InsertAbsentaAngajat(DateTime Data, int TipAbsentaID)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_InsertUpdateDeleteAbsentaAngajat", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 0));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AbsentaAngajatID", SqlDbType.Int, 4, -1));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Data", SqlDbType.DateTime, 8, Data));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@TipAbsentaID", SqlDbType.Int, 4, TipAbsentaID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                m_con.Open();
                myCommand.ExecuteNonQuery();
                m_con.Close();
            }
            catch {}
        }
        /// <summary>
        /// Procedura selecteaza intervalele de absenta medicale continuare de concediu medical
        /// </summary>
        /// <returns>Returneaza un DataSet care contine aceste date</returns>
        public DataSet GetIntervaleAbsentaMedicaleContinuare()
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetIntervaleAbsentaMedicalaContinuare", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AbsentaID", SqlDbType.Int, 4, this.AbsentaID));
                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);
                return(ds);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Procedura selecteaza un tip de interval
        /// </summary>
        /// <param name="TipIntervalID">Id-ul tipului de interval</param>
        /// <returns>Returneaza un DataSet care contine aceste date</returns>
        public DataSet GetTipInterval(int TipIntervalID)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetTipInterval", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@TipIntervalID", SqlDbType.Int, 4, TipIntervalID));

                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);
                DataSet        ds     = new DataSet();
                dAdapt.Fill(ds);
                return(ds);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Procedura verifica daca o zi este zi de sarbatoare
        /// </summary>
        /// <param name="dt">Data verificata</param>
        /// <returns>Returneaza true daca este sarbatoare si false altfel</returns>
        public bool IsSarbatoare(DateTime dt)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetZiDetaliu", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Data", SqlDbType.DateTime, 8, dt));

                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);
                DataSet        ds     = new DataSet();
                dAdapt.Fill(ds);

                return((bool)ds.Tables[0].Rows[0]["Sarbatoare"]);
            }
            catch
            {
                return(false);
            }
        }
 /// <summary>
 /// Daca expira contractul in luna data ca parametru retrneaza doar zilele dupa data expirarii
 /// </summary>
 /// <param name="An">Anul</param>
 /// <param name="Luna">Luna</param>
 /// <param name="DataExpirare">Data de sfarsit</param>
 /// <returns>Returneaza un DataSet care contine aceste date</returns>
 public DataSet GetZileLunaImposibile(int An, int Luna, DateTime DataExpirare)
 {
     try
     {
         SqlCommand myCommand = new SqlCommand("tm_GetZileLunaImposibile", m_con);
         myCommand.CommandType = CommandType.StoredProcedure;
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@An", SqlDbType.Int, 4, An));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Luna", SqlDbType.Int, 4, Luna));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataExpirare", SqlDbType.DateTime, 8, DataExpirare));
         SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);
         DataSet        ds     = new DataSet();
         dAdapt.Fill(ds);
         return(ds);
     }
     catch
     {
         return(null);
     }
 }
        /// <summary>
        /// Procedura adauga o zi
        /// </summary>
        /// <param name="Data">Data</param>
        /// <param name="Sarbatoare">Este sarbatoare sau nu</param>
        /// <param name="Denumire">Denumirea</param>
        /// <param name="Descriere">Descriearea</param>
        public void InsertZi(DateTime Data, bool Sarbatoare, string Denumire, string Descriere)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_InsertUpdateDeleteZi", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 0));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Data", SqlDbType.DateTime, 8, Data.ToShortDateString()));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Sarbatoare", SqlDbType.Bit, 1, Sarbatoare));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Denumire", SqlDbType.NVarChar, 255, Denumire));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Descriere", SqlDbType.NText, 4000, Descriere));

                m_con.Open();
                myCommand.ExecuteNonQuery();
                m_con.Close();
            }
            catch {}
        }
        /// <summary>
        /// Preia datele specifice (prog lucru, sal baza, etc) din intervalul de care apartine ziua data ca param
        /// </summary>
        /// <param name="Data">Data</param>
        /// <returns>Returneaza o inregistrare din tabela</returns>
        public DataRow GetZiApartenentaIntervalDateAngajare(DateTime Data)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetZiIntervalApartenentaInfo", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Data", SqlDbType.DateTime, 8, Data));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);
                return(ds.Tables[0].Rows[0]);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Procedura calculeaza nr de ore pe zi
        /// </summary>
        /// <param name="Data">Data</param>
        /// <returns>Returneaza nr de ore pe zi</returns>
        public float GetOreZi(DateTime Data)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetOreZi", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Data", SqlDbType.DateTime, 8, Data));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);
                return(float.Parse(ds.Tables[0].Rows[0][0].ToString()));
            }
            catch
            {
                return(-1);
            }
        }
        /// <summary>
        /// Procedura actualizeaza un interval de intrerupere
        /// </summary>
        /// <param name="AngajatIntrerupereID">Id-ul intreruperii</param>
        /// <param name="DataStart">Data de inceput</param>
        /// <param name="DataEnd">Data de sfarsit</param>
        /// <param name="Descriere">Descrierea</param>
        public void UpdateIntervalIntreruperiAngajat(int AngajatIntrerupereID, DateTime DataStart, DateTime DataEnd, string Descriere)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("InsertUpdateDeleteAngajatIntreruperi", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 1));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatIntrerupereID", SqlDbType.Int, 4, AngajatIntrerupereID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataStart", SqlDbType.DateTime, 8, DataStart));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataEnd", SqlDbType.DateTime, 8, DataEnd));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Descriere", SqlDbType.NText, 16, Descriere));

                m_con.Open();
                myCommand.ExecuteNonQuery();
                m_con.Close();
            }
            catch {}
        }
        /// <summary>
        /// Procedura selecteaza un interval de intrerupere
        /// </summary>
        /// <param name="IntrerupereID">Id-ul intervalului</param>
        /// <returns>Returneaza un DataSet care contine aceste date</returns>
        public DataSet GetIntervalIntreruperiAngajatByID(int IntrerupereID)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("GetIntervalAngajatIntrerupereByID", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@IntrerupereID", SqlDbType.Int, 4, IntrerupereID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);
                return(ds);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Procedura selecteaza intervalele de absenta al angajatului
        /// </summary>
        /// <param name="Data">Data</param>
        /// <returns>Returneaza un DataSet care contine aceste date</returns>
        public DataSet GetIntervaleAbsentaAngajatLunaByDataInside(DateTime Data)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetIntervaleAbsentaSiEmergencyLuna", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataCurenta", SqlDbType.DateTime, 8, Data));

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);
                return(ds);
            }
            catch
            {
                return(null);
            }
        }
 /// <summary>
 /// Procedura adauga un tip de interval
 /// </summary>
 /// <param name="Procent">Procentul</param>
 /// <param name="Denumire">Denumirea</param>
 /// <param name="Descriere">Descrierea</param>
 /// <param name="modificare">Poate fi modificat sau nu</param>
 /// <param name="folosire"></param>
 /// <param name="bonuriMasa">Se acorda bonuri de masa</param>
 /// <param name="aplicWeekendNoapte"></param>
 public void InsertTipInterval(float Procent, string Denumire, string Descriere, bool modificare, bool folosire, bool bonuriMasa, bool aplicWeekendNoapte)
 {
     try
     {
         SqlCommand myCommand = new SqlCommand("tm_InsertUpdateDeleteTipInterval", m_con);
         myCommand.CommandType = CommandType.StoredProcedure;
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@TipIntervalID", SqlDbType.Int, 4, -1));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 0));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Procent", SqlDbType.Float, 4, Procent));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Denumire", SqlDbType.NVarChar, 255, Denumire));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Descriere", SqlDbType.NText, 4000, Descriere));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Modificare", SqlDbType.Bit, 1, modificare));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Folosire", SqlDbType.Bit, 1, folosire));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@BonuriMasa", SqlDbType.Bit, 1, bonuriMasa));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AplicWeekendNoapte", SqlDbType.Bit, 1, aplicWeekendNoapte));
         m_con.Open();
         myCommand.ExecuteNonQuery();
         m_con.Close();
     }
     catch {}
 }
        /// <summary>
        /// Procedura calculeaza nr de ore pe zi pentru fiecare zi din luna
        /// </summary>
        /// <param name="Data">Data</param>
        /// <returns>Returneaza un dataset</returns>
        //Lungu Andreea - 08.09.2008
        //Descriere - se creaza un dataset ce contine nr de ore pentru fiecare  zi a lunii
        public DataSet GetOreZiLuna(DateTime dataStart, DateTime dataEnd)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetOreZi_Luna", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataStart", SqlDbType.DateTime, 8, dataStart));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataEnd", SqlDbType.DateTime, 8, dataEnd));

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);
                return(ds);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Procedura sterge un interval de absenta medicala
        /// </summary>
        /// <param name="AbsentaContinuareID">Id-ul absentei care se sterge</param>
        public void DeleteIntervalAbsenteMedicaleContinuare(int AbsentaContinuareID)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_InsertUpdateDeleteIntervalAbsentaMedicalaContinuare", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 2));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AbsentaContinuareID", SqlDbType.Int, 4, AbsentaContinuareID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AbsentaID", SqlDbType.Int, 4, -1));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataStart", SqlDbType.DateTime, 8, DateTime.Now));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataEnd", SqlDbType.DateTime, 8, DateTime.Now));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Observatii", SqlDbType.NText, 16, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@BoalaID", SqlDbType.Int, 4, -1));

                m_con.Open();
                myCommand.ExecuteNonQuery();
                m_con.Close();
            }
            catch {}
        }
        /// <summary>
        /// Procedura sterge un tip de interval
        /// </summary>
        /// <param name="TipIntervalID">Id-ul tipului de interval</param>
        public void DeleteTipInterval(int TipIntervalID)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_InsertUpdateDeleteTipInterval", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 2));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@TipIntervalID", SqlDbType.Int, 4, TipIntervalID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Procent", SqlDbType.Float, 4, 0));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Denumire", SqlDbType.NVarChar, 255, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Descriere", SqlDbType.NText, 4000, ""));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Modificare", SqlDbType.Bit, 1, false));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Folosire", SqlDbType.Bit, 1, false));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@BonuriMasa", SqlDbType.Bit, 1, false));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AplicWeekendNoapte", SqlDbType.Bit, 1, false));
                m_con.Open();
                myCommand.ExecuteNonQuery();
                m_con.Close();
            }
            catch {}
        }
        /// <summary>
        /// Zilele din luna curenta... pt care este intrerupt contractul
        /// </summary>
        /// <param name="An">Anul</param>
        /// <param name="Luna">Luna</param>
        /// <param name="DataStart">Data de inceput</param>
        /// <param name="DataEnd">Data de sfarsit</param>
        /// <returns>Returneaza un DataSet care contine aceste date</returns>
        public DataSet GetZileIntrerupereContract(int An, int Luna, DateTime DataStart, DateTime DataEnd)
        {
            try
            {
                DataStart = GetDataStart(DataStart, An, Luna);
                DataEnd   = GetDataEnd(DataEnd, An, Luna);

                SqlCommand myCommand = new SqlCommand("tm_GetZileLunaIntrerupereContract", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataStart", SqlDbType.DateTime, 8, DataStart));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataEnd", SqlDbType.DateTime, 8, DataEnd));

                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);
                DataSet        ds     = new DataSet();
                dAdapt.Fill(ds);
                return(ds);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Procedura determina codul unei boli
        /// </summary>
        /// <param name="boalaID">Id-ul bolii</param>
        /// <returns>Returneaza codul bolii</returns>
        public string GetCodBoala(string boalaID)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetCodBoala", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@BoalaID", SqlDbType.Int, 4, boalaID));

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);

                if (ds.Tables[0].Rows.Count > 0)
                {
                    return(ds.Tables[0].Rows[0]["Cod"].ToString());
                }
                return("");
            }
            catch
            {
                return("");
            }
        }
        /// <summary>
        /// Procedura actualizeaza un tip de absenta
        /// </summary>
        /// <param name="TipAbsentaID">Id-ul tipului de absenta</param>
        /// <param name="Procent">Procentul</param>
        /// <param name="Denumire">Denumirea</param>
        /// <param name="Descriere">Descierea</param>
        /// <param name="codAbsenta">Codul absentei</param>
        /// <param name="medical">Absenta medicala sau nu</param>
        /// <param name="modificare">Paote fi nodificata sau nu</param>
        /// <param name="folosire"></param>
        public void UpdateTipAbsenta(int TipAbsentaID, float Procent, string Denumire, string Descriere, string codAbsenta, bool medical, bool modificare, bool folosire)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_InsertUpdateDeleteTipAbsenta", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@tip_actiune", SqlDbType.Int, 4, 1));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@TipAbsentaID", SqlDbType.Int, 4, TipAbsentaID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Procent", SqlDbType.Real, 4, Procent));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Denumire", SqlDbType.NVarChar, 255, Denumire));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Descriere", SqlDbType.NText, 4000, Descriere));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@CodAbsenta", SqlDbType.NVarChar, 5, codAbsenta));

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Medical", SqlDbType.Bit, 1, medical));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Modificare", SqlDbType.Bit, 1, modificare));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Folosire", SqlDbType.Bit, 1, folosire));

                m_con.Open();
                myCommand.ExecuteNonQuery();
                m_con.Close();
            }
            catch {}
        }
 /// <summary>
 /// Procedura determina zilele de weekend posibile pentru un angajat
 /// </summary>
 /// <param name="An">Anul</param>
 /// <param name="Luna">Luna</param>
 /// <param name="DataInceput">Data de inceput</param>
 /// <param name="DataSfarsit">Data de sfarsit</param>
 /// <returns>Returneaza un DataSet care contine aceste date</returns>
 public DataSet GetZileWeekendPosibileLunaAngajat(int An, int Luna, DateTime DataInceput, DateTime DataSfarsit)
 {
     try
     {
         SqlCommand myCommand = new SqlCommand("tm_GetZileWeekendPosibileLunaAngajat", m_con);
         myCommand.CommandType = CommandType.StoredProcedure;
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@An", SqlDbType.Int, 4, An));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@Luna", SqlDbType.Int, 4, Luna));
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataInceput", SqlDbType.DateTime, 8, DataInceput));
         if (DataSfarsit == DateTime.MinValue)
         {
             DataSfarsit = DateTime.MaxValue;
         }
         myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataSfarsit", SqlDbType.DateTime, 8, DataSfarsit));
         SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);
         DataSet        ds     = new DataSet();
         dAdapt.Fill(ds);
         return(ds);
     }
     catch
     {
         return(null);
     }
 }
        /// <summary>
        /// Procedura selecteaza continuarile intervalelor de absenta
        /// </summary>
        /// <param name="AbsentaID">Id-ul absentei</param>
        /// <returns>Returneaza un sir care contine aceste date</returns>
        public int[] GetIntervalAbsentaContinuari(int AbsentaID)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetIntervalAbsentaContinuari", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AbsentaID", SqlDbType.Int, 4, AbsentaID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));

                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);

                int [] sirContinuariID = new int[ds.Tables[0].Rows.Count];

                int i = -1;
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if ((bool)dr["ContinuareAbsenta"])
                    {
                        sirContinuariID[++i] = int.Parse(dr["IntervalAbsentaID"].ToString());
                    }
                    else
                    {
                        break;
                    }
                }
                return(sirContinuariID);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// 0 - Poate fi introdus;
        /// 1 - DataStart e inclusa in alt interval;
        /// 2 - DataEnd e inclusa in alt interval;
        /// 3 - DataStart si DataEnd sunt incluse in alte intervale;
        /// 4 - Intervalul introdus contine un interval existent
        /// 5 - Intervalul introdus contine zile pontate ca fiind lucrate
        /// 6 - DataStart e inclusa in alt interval de intreruperi;
        /// 7 - DataEnd e inclusa in alt interval de intreruperi;
        /// 8 - DataStart si DataEnd sunt incluse in alte intervale de intreruperi;
        /// 9 - Intervalul introdus contine un interval de intreruperi existent
        /// </summary>
        /// <param name="DataStart">Data de inceput a intervalului</param>
        /// <param name="DataEnd">Data de sfarsit a intervalului</param>
        /// <param name="IntervalID">Id-ul intervalului</param>
        /// <returns>Returneaza rezultatul verificarii</returns>
        public int IntersectieCuAlteIntervaleAbsente(DateTime DataStart, DateTime DataEnd, int IntervalID)
        {
            try
            {
                SqlCommand myCommand = new SqlCommand("tm_GetIntervaleAbsenta", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@IntervalID", SqlDbType.Int, 4, IntervalID));

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);

                int poateStart = 0, poateEnd = 0;

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if (DataStart <= (DateTime)dr["DataStart"] && (DateTime)dr["DataEnd"] <= DataEnd)
                    {
                        return(4);
                    }
                    if ((DateTime)dr["DataStart"] <= DataStart && DataStart <= (DateTime)dr["DataEnd"])
                    {
                        poateStart = 1;
                    }
                    if ((DateTime)dr["DataStart"] <= DataEnd && DataEnd <= (DateTime)dr["DataEnd"])
                    {
                        poateEnd = 1;
                    }
                    if (poateStart == 1 && poateEnd == 1)
                    {
                        return(3);
                    }
                }
                if (poateStart == 1)
                {
                    return(1);
                }
                else if (poateEnd == 1)
                {
                    return(2);
                }

                myCommand             = new SqlCommand("tm_GetIntervaleLucratePerioada", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataStart", SqlDbType.DateTime, 8, DataStart));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataEnd", SqlDbType.DateTime, 8, DataEnd));

                ds = new DataSet();
                dAdapt.Fill(ds);

                if (ds.Tables[0].Rows.Count > 0)
                {
                    return(5);
                }

                myCommand             = new SqlCommand("GetIntervaleAngajatIntreruperi", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@IntervalID", SqlDbType.Int, 4, -1));

                ds = new DataSet();
                dAdapt.Fill(ds);

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if (DataStart <= (DateTime)dr["DataStart"] && (DateTime)dr["DataEnd"] <= DataEnd)
                    {
                        return(9);
                    }
                    if ((DateTime)dr["DataStart"] <= DataStart && DataStart <= (DateTime)dr["DataEnd"])
                    {
                        poateStart = 1;
                    }
                    if ((DateTime)dr["DataStart"] <= DataEnd && DataEnd <= (DateTime)dr["DataEnd"])
                    {
                        poateEnd = 1;
                    }
                    if (poateStart == 1 && poateEnd == 1)
                    {
                        return(8);
                    }
                }
                if (poateStart == 1)
                {
                    return(6);
                }
                else if (poateEnd == 1)
                {
                    return(7);
                }
                return(0);
            }
            catch
            {
                return(-1);
            }
        }
        /// <summary>
        /// 0 - Poate fi introdus; 1 - DataStart e inclusa in alt interval; 2 - DataEnd e inclusa in alt interval;
        /// 3 - DataStart si DataEnd sunt incluse in alte intervale; 4 - Intervalul introdus contine un interval existent;
        /// 5 - Intervalul introdus contine zile pontate ca fiind lucrate;
        /// 6 - DataStart e inclusa in alt interval de intreruperi; 7 - DataEnd e inclusa in alt interval de intreruperi;
        /// 8 - DataStart si DataEnd sunt incluse in alte intervale de intreruperi; 9 - Intervalul introdus contine un interval de intreruperi existent
        /// </summary>
        /// <param name="DataStart">Data de inceput</param>
        /// <param name="DataEnd">Data de sfarsit</param>
        /// <param name="IntervalID">Id-ul intervalului</param>
        /// <returns>Returneaza rezultatul verufucaruu</returns>
        public int IntersectieCuIntervaleExistente(DateTime DataStart, DateTime DataEnd, int IntervalID)
        {
            try
            {
                //Modificat:	Oprescu Claudia
                //Data:			27.07.2007
                //Descriere:	A fost adaugata verificarea pentru data de inceput si de sfarst astfel incat sa nu fie inversate
                //				S-a modificat ordinea de verificare a intervalelor.
                //				Initial se verificau in ordinea Absente, LucrarePerioada si apoi Intreruperi.
                //				Ordinea actuala este Intreruperi, Absente si LucratePerioada.
                if (DataStart > DataEnd)
                {
                    return(10);
                }

                SqlCommand myCommand = new SqlCommand("GetIntervaleAngajatIntreruperi", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@IntervalID", SqlDbType.Int, 4, IntervalID));

                DataSet ds = new DataSet();
                dAdapt.Fill(ds);

                int poateStart = 0, poateEnd = 0;

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if (DataStart <= (DateTime)dr["DataStart"] && (DateTime)dr["DataEnd"] <= DataEnd)
                    {
                        return(9);
                    }
                    if ((DateTime)dr["DataStart"] <= DataStart && DataStart <= (DateTime)dr["DataEnd"])
                    {
                        poateStart = 1;
                    }
                    if ((DateTime)dr["DataStart"] <= DataEnd && DataEnd <= (DateTime)dr["DataEnd"])
                    {
                        poateEnd = 1;
                    }
                    if (poateStart == 1 && poateEnd == 1)
                    {
                        return(8);
                    }
                }
                if (poateStart == 1)
                {
                    return(6);
                }
                else if (poateEnd == 1)
                {
                    return(7);
                }

                myCommand             = new SqlCommand("tm_GetIntervaleAbsenta", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@IntervalID", SqlDbType.Int, 4, -1));

                ds = new DataSet();
                dAdapt.Fill(ds);

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if (DataStart <= (DateTime)dr["DataStart"] && (DateTime)dr["DataEnd"] <= DataEnd)
                    {
                        return(4);
                    }
                    if ((DateTime)dr["DataStart"] <= DataStart && DataStart <= (DateTime)dr["DataEnd"])
                    {
                        poateStart = 1;
                    }
                    if ((DateTime)dr["DataStart"] <= DataEnd && DataEnd <= (DateTime)dr["DataEnd"])
                    {
                        poateEnd = 1;
                    }
                    if (poateStart == 1 && poateEnd == 1)
                    {
                        return(3);
                    }
                }
                if (poateStart == 1)
                {
                    return(1);
                }
                else if (poateEnd == 1)
                {
                    return(2);
                }

                myCommand             = new SqlCommand("tm_GetIntervaleLucratePerioada", m_con);
                myCommand.CommandType = CommandType.StoredProcedure;
                dAdapt = new SqlDataAdapter(myCommand);

                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@AngajatID", SqlDbType.Int, 4, this.AngajatID));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataStart", SqlDbType.DateTime, 8, DataStart));
                myCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@DataEnd", SqlDbType.DateTime, 8, DataEnd));

                ds = new DataSet();
                dAdapt.Fill(ds);

                if (ds.Tables[0].Rows.Count > 0)
                {
                    return(5);
                }

                return(0);
            }
            catch
            {
                return(-1);
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            settings = Salaries.Configuration.ModuleConfig.GetSettings();
            if (!IsPostBack)
            {
                //se obtine tipul de autentificare la aplicatie
                string authentication = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode("authentication");

                //virtual path
                string    path      = Page.Request.FilePath;
                char      separator = '/';
                string [] pathArr   = path.Split(separator);
                int       nr        = pathArr.Length;

                //autentificare de tip windows
                if (authentication == "1")
                {
                    //user-ul loginat
                    user = new WindowsPrincipal(WindowsIdentity.GetCurrent());

                    //user-ul loginat nu are dreptul sa acceseze aceasta pagina este redirectat catre o pagina care sa il instiinteze de acest lucru
                    if (!Salaries.Business.Authentication.HasUserRightsOnPage(pathArr[nr - 1], user))
                    {
                        ErrHandler.MyErrHandler.WriteError("SearchAngajatiList_Recrutori.aspx - autentificare windows fara drepturi - " + user.Identity.Name);
                        Server.Transfer("../Unauthorized.aspx");
                    }
                }
                //autentificare cu user si parola
                else
                {
                    try
                    {
                        string nume        = Session["Nume"].ToString();
                        string parola      = Session["Parola"].ToString();
                        int    angajatorId = int.Parse(Session["AngajatorId"].ToString());

                        //user-ul loginat nu are dreptul sa acceseze aceasta pagina este redirectat catre o pagina care sa il instiinteze de acest lucru
                        if (!Salaries.Business.Authentication.HasUserRightsOnPage(pathArr[nr - 1], nume, parola, angajatorId))
                        {
                            ErrHandler.MyErrHandler.WriteError("SearchAngajatiList_Recrutori.aspx - autentificare user parola fara drepturi - " + nume + ", " + angajatorId);
                            Server.Transfer("../Unauthorized.aspx");
                        }
                    }
                    catch (Exception exc)
                    {
                        Response.Redirect("../index.aspx");
                    }
                }

                string searchTipCautare = Session["txtTipCautareHidden"].ToString();

                string searchNume    = Session["txtNumeSearch"].ToString();
                string searchPrenume = Session["txtPrenumeSearch"].ToString();

                int    searchNationalitate         = Convert.ToInt32(Session["lstNationalitateSearch"]);
                int    searchTaraOrigine           = Convert.ToInt32(Session["lstTaraOrigineSearch"]); //tara de origine
                int    searchStareCivila           = Convert.ToInt32(Session["lstStareCivilaSearch"]);
                int    searchCopii                 = Convert.ToInt32(Session["lstCopiiSearch"]);       //copii
                string searchSex                   = Session["lstSexSearch"].ToString();
                int    searchTitulatura            = Convert.ToInt32(Session["lstTitulaturaSearch"]);
                int    searchStudii                = Convert.ToInt32(Session["lstStudiiSearch"]);
                string searchMarca                 = Session["txtMarcaSearch"].ToString();
                int    searchDepartament           = Convert.ToInt32(Session["lstDepartamentSearch"]);
                int    searchFunctie               = Convert.ToInt32(Session["lstFunctieSearch"]);               //functie
                int    searchModIncadrare          = Convert.ToInt32(Session["lstModIncadrareSearch"]);
                int    searchIndemnizatieConducere = Convert.ToInt32(Session["lstIndemnizatieConducereSearch"]); //indemnizatie conducere

                //categorie angajat : scutit impozit/categorii
                int searchScutitImpozit = Convert.ToInt32(Session["lstScutitImpozitSearch"]);                   //scutit impozit |
                int searchCategorii     = Convert.ToInt32(Session["lstCategorieAngajatSearch"]);                //categorii |

                //deducere+copii
                int searchDeducere      = Convert.ToInt32(Session["lstDeducereSearch"]);               //deducere |
                int searchDeducereCopii = Convert.ToInt32(Session["lstDeducereCopiiSearch"]);          // copii |

                //conturi bancare: are conturi/banca
                int searchContBancarExistenta = Convert.ToInt32(Session["lstContBancarExistentaSearch"]); //are conturi |
                int searchBanca = Convert.ToInt32(Session["lstBancaSearch"]);                             //banca |

                //Data angajarii: tip data angajare/data fixa - data/luna - luna+an/interval - dataSt+dataEnd/blank - nimic/
                int      searchTipDataAngajare   = Convert.ToInt32(Session["lstTipDataAngajareSearch"]);
                DateTime searchDataFixa          = DateTime.MinValue;
                DateTime searchIntervalDataStart = DateTime.MinValue;
                DateTime searchIntervalDataEnd   = DateTime.MinValue;
                int      searchAnData            = -1;
                int      searchLunaData          = -1;

                switch (searchTipDataAngajare)
                {
                case 0:
                    try
                    {
                        searchDataFixa = Utilities.ConvertText2DateTime(Session["txtDataAngajatiSearch"].ToString());
                        Session.Remove("txtDataAngajatiSearch");
                    }
                    catch {}
                    break;

                case 1:
                    try
                    {
                        searchAnData   = Convert.ToInt32(Session["lstAnAngajatiSearch"]);
                        searchLunaData = Convert.ToInt32(Session["lstLunaAngajatiSearch"]);
                        Session.Remove("lstAnAngajatiSearch");
                        Session.Remove("lstLunaAngajatiSearch");
                    }
                    catch {}
                    break;

                case 2:
                    try
                    {
                        searchIntervalDataStart = Utilities.ConvertText2DateTime(Session["txtDataStartAngajatiSearch"].ToString());
                        searchIntervalDataEnd   = Utilities.ConvertText2DateTime(Session["txtDataEndAngajatiSearch"].ToString());
                        Session.Remove("txtDataStartAngajatiSearch");
                        Session.Remove("txtDataEndAngajatiSearch");
                    }
                    catch {}
                    break;

                case -1:
                    break;
                }
                int searchPerioadaDeterminata = Convert.ToInt32(Session["lstPerioadaDeterminataSearch"]);                    //Contract pe perioada determinata

                //stergerea variabilelor de sesiune
                stergeVariabile();

                //comanda de cautare
                SqlConnection m_con         = new SqlConnection(settings.ConnectionString);
                SqlCommand    searchCommand = new SqlCommand("tmp_CautareAngajat", m_con);
                searchCommand.CommandType = CommandType.StoredProcedure;

                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_TipCautare", SqlDbType.NVarChar, 50, searchTipCautare));

                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_Nume", SqlDbType.NVarChar, 50, searchNume));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_Prenume", SqlDbType.NVarChar, 50, searchPrenume));

                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_Nationalitate", SqlDbType.Int, 4, searchNationalitate));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_TaraOrigineID", SqlDbType.Int, 4, searchTaraOrigine));   //tara de origine
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_StareCivila", SqlDbType.Int, 4, searchStareCivila));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_Copii", SqlDbType.Int, 4, searchCopii));                 //copii
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_Sex", SqlDbType.Char, searchSex.Length, searchSex));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_TitluID", SqlDbType.Int, 4, searchTitulatura));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_StudiuID", SqlDbType.Int, 4, searchStudii));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_Marca", SqlDbType.NVarChar, 8, searchMarca));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_DepartamentID", SqlDbType.Int, 5, searchDepartament));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_FunctieID", SqlDbType.Int, 4, searchFunctie));                           //functie
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_ModIncadrare", SqlDbType.Int, 4, searchModIncadrare));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_IndemnizatieConducere", SqlDbType.Int, 4, searchIndemnizatieConducere)); //indemnizatie de conducere

                //categorie angajat
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_ScutitImpozit", SqlDbType.Int, 4, searchScutitImpozit));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_CategorieID", SqlDbType.Int, 4, searchCategorii));

                //deducere
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_Deducere", SqlDbType.Int, 4, searchDeducere));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_DeducereCopii", SqlDbType.Int, 4, searchDeducereCopii));

                //conturi bancare
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_ContBancarExistenta", SqlDbType.Int, 4, searchContBancarExistenta));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_BancaID", SqlDbType.Int, 4, searchBanca));

                //data angajarii
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_TipDataAngajare", SqlDbType.Int, 4, searchTipDataAngajare));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_DataFixa", SqlDbType.DateTime, 8, searchDataFixa));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_LunaData", SqlDbType.Int, 4, searchLunaData));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_AnData", SqlDbType.Int, 4, searchAnData));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_IntervalDataStart", SqlDbType.DateTime, 8, searchIntervalDataStart));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_IntervalDataEnd", SqlDbType.DateTime, 8, searchIntervalDataEnd));
                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_DataMinValue", SqlDbType.DateTime, 8, DateTime.MinValue));

                searchCommand.Parameters.Add(UtilitiesDb.AddInputParameter("@in_PerioadaDeterminata", SqlDbType.Int, 4, searchPerioadaDeterminata));                //Contract pe perioada determinata

                SqlDataAdapter dAdapt = new SqlDataAdapter(searchCommand);
                DataSet        ds     = new DataSet();
                dAdapt.Fill(ds);

                Session["SortBy"] = "";
                Index             = 1;
                Session["DataSource_searchList"] = ds;
                listDataGrid.DataSource          = ds;
                listDataGrid.DataBind();
            }
        }