示例#1
0
 public int AddCredito(DatabaseContext db, string nomeTransazione, TipoTransazione tipo, int punti)
 {
     using (DbContextTransaction transazione = db.Database.BeginTransaction())
     {
         TRANSAZIONE model = new TRANSAZIONE();
         //model.ID_COMPRATORE = this.CONTO_CORRENTE.; >>> mettere conto corrente
         model.TIPO             = (int)tipo;
         model.NOME             = nomeTransazione;
         model.PUNTI            = punti;
         model.DATA_INSERIMENTO = DateTime.Now;
         model.STATO            = (int)StatoPagamento.ACCETTATO;
         db.TRANSAZIONE.Add(model);
         db.SaveChanges();
         CONTO_CORRENTE_MONETA moneta = new CONTO_CORRENTE_MONETA();
         moneta.ID_CONTO_CORRENTE = this.ID_CONTO_CORRENTE;
         for (int i = 0; i < punti; i++)
         {
             try
             {
                 moneta.ID_MONETA        = db.MONETA.FirstOrDefault(m => m.CONTO_CORRENTE_MONETA.Count(item => item.ID_MONETA == m.ID) <= 0).ID;
                 moneta.DATA_INSERIMENTO = DateTime.Now;
                 moneta.STATO            = (int)StatoMoneta.ATTIVA;
                 db.CONTO_CORRENTE_MONETA.Add(moneta);
                 db.SaveChanges();
             }
             catch (Exception eccezione)
             {
                 i -= 1;
                 Elmah.ErrorSignal.FromCurrentContext().Raise(eccezione);
             }
         }
         transazione.Commit();
         return(db.CONTO_CORRENTE_MONETA.Count(item => item.ID_CONTO_CORRENTE == this.ID_CONTO_CORRENTE));
     }
 }
示例#2
0
 public void RemoveCrediti(DatabaseContext db, int idOfferta, PersonaModel persona)
 {
     foreach (OFFERTA_CONTO_CORRENTE_MONETA item in db.OFFERTA_CONTO_CORRENTE_MONETA.Where(item => item.ID_OFFERTA == idOfferta).ToList())
     {
         CONTO_CORRENTE_MONETA conto = item.CONTO_CORRENTE_MONETA;
         conto.STATO = (int)StatoMoneta.ASSEGNATA;
         db.CONTO_CORRENTE_MONETA.Attach(conto);
         var entry = db.Entry(conto);
         entry.Property(e => e.STATO).IsModified = true;
         if (db.SaveChanges() > 0)
         {
             db.OFFERTA_CONTO_CORRENTE_MONETA.Remove(item);
             db.SaveChanges();
         }
         else
         {
             throw new Exception(App_GlobalResources.Language.ErrorRecoveryPoints);
         }
     }
 }