/// <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 bool UpdateAll(int pIdClient, int pIdCabinet, int pIdReprezentantClient, int pIdPacient, DateTime pDataCreare, DateTime pDataInchidere, string pCodComanda, string pObservatii, string pMotivInchidere, IDbTransaction pTranzactie) { IDbTransaction Tranzactie = null; try { if (pTranzactie == null) { Tranzactie = CCerereSQL.GetTransactionOnConnection(); } else { Tranzactie = pTranzactie; } //Facem actualizarea in baza bool succesModificare = false; if (!this.ExistaProprietatiModificate()) { succesModificare = true; } else { succesModificare = DClientiComenziHeader.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); } }
/// <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("BClientiFacturi"); } IDbTransaction Tranzactie = null; try { if (pTranzactie == null) { Tranzactie = CCerereSQL.GetTransactionOnConnection(); } else { Tranzactie = pTranzactie; } //Inchidem obiectul in baza de date DClientiFacturi.CloseById(BUtilizator.GetIdUtilizatorConectat(Tranzactie), this.Id, pInchidere, pMotivInchidere, Tranzactie); //Recuperam toate comenzile si le disociem GetListaLucrari(Tranzactie).ScoateDinFactura(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); } }
/// <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 = true;// DComportamentAplicatie.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 //NU FACE SENS AICI //this.Refresh(pTranzactie); } }
/// <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) { BUtilizator UserInchidere = BUtilizator.GetUtilizatorConectat(); if (this.Id <= 0) { throw new IdentificareBazaImposibilaException("BDocumenteInline"); } IDbTransaction Tranzactie = null; try { if (pTranzactie == null) { Tranzactie = CCerereSQL.GetTransactionOnConnection(); } else { Tranzactie = pTranzactie; } //Inchidem obiectul in baza de date DDocumenteInline.CloseById(UserInchidere.Id, this.Id, pInchidere, pMotivInchidere, 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); } }