public static void AnnullaOfferteEffettuate(DatabaseContext db, int vendita) { // annullo offerte di baratto effettuate foreach (OFFERTA_BARATTO b in db.OFFERTA_BARATTO.Where(b => b.ID_ANNUNCIO == vendita).ToList()) { b.OFFERTA.DATA_MODIFICA = DateTime.Now; b.OFFERTA.STATO = (int)StatoOfferta.ANNULLATA; OffertaContoCorrenteMoneta offertaMoneta = new OffertaContoCorrenteMoneta(); offertaMoneta.RemoveCrediti(db, b.ID_OFFERTA, new PersonaModel(b.OFFERTA.PERSONA)); b.OFFERTA.PERSONA.DATA_MODIFICA = DateTime.Now; db.SaveChanges(); } }
public static void AnnullaOfferteRicevute(DatabaseContext db, int vendita) { // anullo le altre offerte ricevute foreach (OFFERTA o in db.OFFERTA.Where(o => (o.STATO == (int)StatoOfferta.ACCETTATA || o.STATO == (int)StatoOfferta.ATTIVA) && o.ID_ANNUNCIO == vendita).ToList()) { o.DATA_MODIFICA = DateTime.Now; o.STATO = (int)StatoOfferta.ANNULLATA; o.PERSONA.DATA_MODIFICA = DateTime.Now; db.SaveChanges(); // restituzione crediti sospesi OffertaContoCorrenteMoneta offertaMoneta = new OffertaContoCorrenteMoneta(); offertaMoneta.RemoveCrediti(db, o.ID, new PersonaModel(o.PERSONA)); } }
public static void AnnullaOfferteRicevute(DatabaseContext db, int vendita, int offerta = 0) { // anullo le altre offerte ricevute foreach (OFFERTA o in db.OFFERTA.Where(o => (offerta == 0 || o.ID != offerta) && (o.STATO != (int)StatoOfferta.ACCETTATA && o.STATO != (int)StatoOfferta.ANNULLATA) && o.ID_ANNUNCIO == vendita).ToList()) { o.DATA_MODIFICA = DateTime.Now; o.STATO = (int)StatoOfferta.ANNULLATA; o.PERSONA.DATA_MODIFICA = DateTime.Now; db.Entry(o.PERSONA).State = System.Data.Entity.EntityState.Modified; db.Entry(o).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); // restituzione crediti sospesi OffertaContoCorrenteMoneta offertaMoneta = new OffertaContoCorrenteMoneta(); offertaMoneta.RemoveCrediti(db, o.ID, (int)o.PUNTI, new PersonaModel(o.PERSONA)); } }
public bool Rifiuta() { //using (DatabaseContext db = new DatabaseContext()) //{ DatabaseContext db = new DatabaseContext(); try { db.Database.Connection.Open(); using (var transazione = db.Database.BeginTransaction()) { OFFERTA offerta = db.OFFERTA.Where(o => o.ID == this.ID && o.ANNUNCIO.ID_PERSONA == this.ANNUNCIO.ID_PERSONA && o.STATO == (int)StatoOfferta.ATTIVA).SingleOrDefault(); offerta.DATA_MODIFICA = DateTime.Now; offerta.STATO = (int)StatoOfferta.ANNULLATA; OffertaContoCorrenteMoneta offertaMoneta = new OffertaContoCorrenteMoneta(); offertaMoneta.RemoveCrediti(db, offerta.ID, (int)offerta.PUNTI, new PersonaModel(offerta.PERSONA)); offerta.PERSONA.DATA_MODIFICA = DateTime.Now; db.Entry(offerta).State = System.Data.Entity.EntityState.Modified; if (db.SaveChanges() > 1) { transazione.Commit(); return(true); } transazione.Rollback(); } } catch (Exception eccezione) { Elmah.ErrorSignal.FromCurrentContext().Raise(eccezione); } finally { if (db.Database.Connection.State != System.Data.ConnectionState.Closed) { db.Database.Connection.Close(); db.Database.Connection.Dispose(); } } //} return(false); }