Esempio n. 1
0
        /// <summary>
        /// Metoda de clasa ce permite adaugarea unui obiect de tip DClientiPlati
        /// </summary>
        /// <param name="pIdClient"></param>
        /// <param name="pDataPlata"></param>
        /// <param name="pSumaPlatita"></param>
        /// <param name="pModalitatePlata"></param>
        /// <param name="pCursBNR"></param>
        /// <returns></returns>
        /// <remarks></remarks>
        public static int Add(int pIdClient, DateTime pDataPlata, double pSumaPlatita, BDefinitiiGenerale.EnumModalitatePlata pModalitatePlata, double pCursBNR, string pObservatii, BColectieClientiComenzi lComenzi, IDbTransaction pTranzactie)
        {
            int id = DClientiPlati.Add(BUtilizator.GetIdUtilizatorConectat(pTranzactie), pIdClient, pDataPlata, pSumaPlatita, Convert.ToInt32(pModalitatePlata), pCursBNR, pObservatii, pTranzactie);

            if (id > 0)
            {
                double valoarePlatita = pSumaPlatita;

                foreach (var item in lComenzi)
                {
                    if (valoarePlatita > 0)
                    {
                        if (valoarePlatita >= item.ValoareFinala)
                        {
                            BClientiPlatiComenzi.Add(item.Id, id, item.ValoareFinala, null);
                            valoarePlatita -= item.ValoareFinala;
                        }
                        else
                        {
                            BClientiPlatiComenzi.Add(item.Id, id, valoarePlatita, null);
                            valoarePlatita = 0;
                        }
                    }
                }
            }

            return(id);
        }
Esempio n. 2
0
        public static double GetTotalIncasari(int pIdClient, IDbTransaction pTranzactie)
        {
            double nTotalPlati = 0;

            using (DataSet ds = DClientiPlati.GetTotalIncasari(pIdClient, pTranzactie))
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    nTotalPlati = CUtil.GetAsDouble(dr["nTotal"]);
                }
            }
            return(nTotalPlati);
        }
Esempio n. 3
0
        public static BColectieClientiPlati GetListaIncasari(int pIdClient, DateTime pDataInceput, DateTime pDataSfarsit, IDbTransaction pTranzactie)
        {
            BColectieClientiPlati lstDClientiPlati = new BColectieClientiPlati();

            using (DataSet ds = DClientiPlati.GetListByParamSiPerioada(pIdClient, pDataInceput, pDataSfarsit, CDefinitiiComune.EnumStare.Activa, pTranzactie))
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    lstDClientiPlati.Add(new BClientiPlati(dr));
                }
            }
            return(lstDClientiPlati);
        }
Esempio n. 4
0
        public static BColectieClientiPlati GetListByParamIdClient(int pIdClient, CDefinitiiComune.EnumStare pStare, IDbTransaction pTranzactie)
        {
            BColectieClientiPlati lstDClientiPlati = new BColectieClientiPlati();

            using (DataSet ds = DClientiPlati.GetListByParamIdClient(pIdClient, pStare, pTranzactie))
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    lstDClientiPlati.Add(new BClientiPlati(dr));
                }
            }
            return(lstDClientiPlati);
        }
Esempio n. 5
0
        public static BColectieClientiPlati getById(int pId, IDbTransaction pTranzactie)
        {
            BColectieClientiPlati listaRetur = new BColectieClientiPlati();

            if (pId > 0)
            {
                using (DataSet ds = DClientiPlati.GetById(pId, pTranzactie))
                {
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        listaRetur.Add(new BClientiPlati(dr));
                    }
                }
            }
            return(listaRetur);
        }
Esempio n. 6
0
        public static BColectieClientiPlati getByListaId(List <int> pListaId, IDbTransaction pTranzactie)
        {
            BColectieClientiPlati listaRetur = new BColectieClientiPlati();

            if (!CUtil.EsteListaIntVida(pListaId))
            {
                using (DataSet ds = DClientiPlati.GetByListId(pListaId, pTranzactie))
                {
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        listaRetur.Add(new BClientiPlati(dr));
                    }
                }
            }
            return(listaRetur);
        }
Esempio n. 7
0
 /// <summary>
 /// Metoda de clasa pentru obtinerea DataRow-ului corespunzator obiectului in baza de date
 /// </summary>
 /// <param name="pId"></param>
 /// <returns>Un DataRow ce contine informatiile corespunzatoare obiectului</returns>
 /// <remarks></remarks>
 private static DataRow GetDataRowForObjet(int pId, IDbTransaction pTranzactie)
 {
     if (pId <= 0)
     {
         throw new IdentificareBazaImposibilaException("BClientiPlati");
     }
     using (DataSet ds = DClientiPlati.GetById(pId, pTranzactie))
     {
         if (ds.Tables[0].Rows.Count > 0)
         {
             return(ds.Tables[0].Rows[0]);
         }
         else
         {
             throw new IdentificareBazaImposibilaException("BClientiPlati");
         }
     }
 }
Esempio n. 8
0
        /// <summary>
        /// Metoda de instanta ce permite inchiderea(dezactivarea) obiectului
        /// </summary>
        /// <param name="pInchidere">inchidem sau activam?</param>
        /// <param name="pMotivInchidere">Motivul inchiderii</param>
        /// <param name="pTranzactie">Tranzactia</param>
        /// <remarks>Exceptie daca nu se poate identifica obiectul</remarks>
        public void Close(bool pInchidere, string pMotivInchidere, IDbTransaction pTranzactie)
        {
            if (this.Id <= 0)
            {
                throw new IdentificareBazaImposibilaException("BClientiPlati");
            }
            IDbTransaction Tranzactie = null;

            try
            {
                if (pTranzactie == null)
                {
                    Tranzactie = CCerereSQL.GetTransactionOnConnection();
                }
                else
                {
                    Tranzactie = pTranzactie;
                }
                //Inchidem obiectul in baza de date
                DClientiPlati.CloseById(BUtilizator.GetIdUtilizatorConectat(Tranzactie), this.Id, pInchidere, pMotivInchidere, Tranzactie);

                BClientiPlatiComenzi.DeleteByIdPlata(this.Id, Tranzactie);

                if (pTranzactie == null)
                {
                    //Facem Comit tranzactiei doar daca aceasta nu a fost transmisa in parametru. Altfel comitul va fi gestionat de functia apelanta
                    CCerereSQL.CloseTransactionOnConnection(Tranzactie, true);
                }
            }
            catch (Exception)
            {
                if ((pTranzactie == null) && (Tranzactie != null))
                {
                    CCerereSQL.CloseTransactionOnConnection(Tranzactie, false);
                }
                throw;
            }
            finally
            {
                //Reinitializam obiectul pentru a recupera, printre altele, data de inchidere generata de baza de date
                this.Refresh(pTranzactie);
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Metoda de instanta ce permite actualizarea informatiilor din baza de date pentru a fi conforme cu informatiile actuale ale obiectului
        /// </summary>
        /// <param name="pTranzactie">Tranzactia</param>
        /// <returns>True daca inregistrarea a fost modificata; False in caz contrar</returns>
        /// <remarks>Exceptie daca nu avem initializate proprietatile ce permit identificarea obiectului in baza</remarks>
        public override bool UpdateAll(IDbTransaction pTranzactie)
        {
            if (!this.ExistaProprietatiModificate())
            {
                return(true);
            }

            IDbTransaction Tranzactie = null;

            try
            {
                if (pTranzactie == null)
                {
                    Tranzactie = CCerereSQL.GetTransactionOnConnection();
                }
                else
                {
                    Tranzactie = pTranzactie;
                }
                //Facem actualizarea in baza
                bool succesModificare = DClientiPlati.UpdateById(getDictProprietatiModificate(), this.Id, Tranzactie);

                if (pTranzactie == null)
                {
                    //Facem Comit tranzactiei doar daca aceasta nu a fost transmisa in parametru. Altfel comitul va fi gestionat de functia apelanta
                    CCerereSQL.CloseTransactionOnConnection(Tranzactie, true);
                }
                return(succesModificare);
            }
            catch (Exception)
            {
                if ((pTranzactie == null) && (Tranzactie != null))
                {
                    CCerereSQL.CloseTransactionOnConnection(Tranzactie, false);
                }
                throw;
            }
            finally
            {
                //Reinitializam obiectul pentru a recupera, printre altele, data de actualizare generata de baza de date
                //this.Refresh(pTranzactie);
            }
        }
Esempio n. 10
0
        public static Dictionary <int, double> GetDictIdClinicaTotalIncasari(List <int> pListaIdClinici, IDbTransaction pTranzactie)
        {
            Dictionary <int, double> dictRetur = new Dictionary <int, double>();

            if (!CUtil.EsteListaIntVida(pListaIdClinici))
            {
                using (DataSet ds = DClientiPlati.GetDictIdClinicaTotalIncasari(pListaIdClinici, pTranzactie))
                {
                    int    idClinica = 0;
                    double totalInc  = 0;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        idClinica = CUtil.GetAsInt32(dr[DClientiPlati.EnumCampuriTabela.xnIdClient.ToString()]);
                        totalInc  = CUtil.GetAsDouble(dr["nTotal"]);
                        dictRetur.Add(idClinica, totalInc);
                    }
                }
            }

            return(dictRetur);
        }