public static int ComparaDupaNume(BUtilizatoriVenituriDetalii xElemLista1, BUtilizatoriVenituriDetalii xElemLista2)
 {
     if (xElemLista1 == null)
     {
         if (xElemLista2 == null)
         {
             return(0);
         }
         else
         {
             return(-1);
         }
     }
     else
     {
         if (xElemLista2 == null)
         {
             return(1);
         }
         else
         {
             return(xElemLista1.Denumire.CompareTo(xElemLista2.Denumire));
         }
     }
 }
        public static BUtilizatoriVenituriDetalii GetVenituriDetalii(int pIdUtilizatorVenituri, CDefinitiiComune.EnumStare pStare, IDbTransaction pTranzactie)
        {
            BUtilizatoriVenituriDetalii lstDListaVenituriDetalii = null;

            using (DataSet ds = DUtilizatoriVenituriDetalii.GetListByParam(pIdUtilizatorVenituri, pStare, pTranzactie))
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    lstDListaVenituriDetalii = new BUtilizatoriVenituriDetalii(dr);
                }
            }
            return(lstDListaVenituriDetalii);
        }
        /// <summary>
        /// Metoda de clasa ce permite adaugarea unui obiect de tip DUtilizatoriVenituri
        /// </summary>
        /// <param name="pIdUtilizator"></param>
        /// <param name="pDataInceput"></param>
        /// <param name="pDataFinal"></param>
        /// <param name="pObservatii"></param>
        /// <param name="pTipVenit"></param>
        /// <param name="pSalariuFix"></param>
        /// <returns></returns>
        /// <remarks></remarks>
        public static int Add(int pIdUtilizator, DateTime pDataInceput, DateTime pDataFinal, string pObservatii, EnumTipVenit pTipVenit, double pSalariuFix, Dictionary <int, double> pDictIdEtapaPret, IDbTransaction pTranzactie)
        {
            IDbTransaction Tranzactie = null;
            int            id         = 0;

            try
            {
                if (pTranzactie == null)
                {
                    Tranzactie = CCL.DAL.CCerereSQL.GetTransactionOnConnection();
                }
                else
                {
                    Tranzactie = pTranzactie;
                }

                id = DUtilizatoriVenituri.Add(BUtilizator.GetIdUtilizatorConectat(pTranzactie), pIdUtilizator, pDataInceput, pDataFinal, pObservatii, Convert.ToInt32(pTipVenit), pSalariuFix, Tranzactie);

                if (pDictIdEtapaPret != null)
                {
                    foreach (var item in pDictIdEtapaPret)
                    {
                        BUtilizatoriVenituriDetalii.Add(id, item.Key, item.Value, Tranzactie);
                    }
                }

                if (pTranzactie == null)
                {
                    //Facem Comit tranzactiei doar daca aceasta nu a fost transmisa in parametru. Altfel comitul va fi gestionat de functia apelanta
                    CCL.DAL.CCerereSQL.CloseTransactionOnConnection(Tranzactie, true);
                }
            }
            catch (Exception)
            {
                if ((pTranzactie == null) && (Tranzactie != null))
                {
                    CCL.DAL.CCerereSQL.CloseTransactionOnConnection(Tranzactie, false);
                }
                throw;
            }

            return(id);
        }