Beispiel #1
0
 public Kunde Update(Kunde kunde)
 {
     using (AutoReservationContext context = new AutoReservationContext())
     {
         Kunde kundeFromList = context.Kunden.SingleOrDefault(k => k.Id == kunde.Id);
         if (kundeFromList != default(Kunde))
         {
             context.Entry(kundeFromList).OriginalValues["RowVersion"] = kunde.RowVersion;
             kundeFromList.CopyFrom(kunde);
             try
             {
                 context.SaveChanges();
                 if (context.Entry(kundeFromList).State == EntityState.Unchanged)
                 {
                     return(context.Kunden.Include(r => r.Reservationen).SingleOrDefault(k => k.Id == kunde.Id));
                 }
                 throw new DatabaseChangeException("Could not update kunde");
             }
             catch (DbUpdateConcurrencyException)
             {
                 throw CreateOptimisticConcurrencyException(context, kundeFromList);
             }
         }
         throw new EntityNotFoundException($"Could not find kunde with id {kunde.Id}");
     }
 }