/// <summary> /// Deletes the specified egm event entity. /// </summary> /// <param name="egmEvent">The egm event.</param> public void Delete(EgmEvent egmEvent) { using (var context = new HmsDbContext()) { if (!context.EgmEvents.Any(evt => evt.Id == egmEvent.Id)) { return; } // matching PK found, thus we proceed with Delete DaoUtilities.DeleteEntity(context, context.EgmEvents, egmEvent); } }
/// <summary> /// Updates the state of the existing entity. /// </summary> /// <param name="context">The context.</param> /// <param name="entityEntry">The EgmEvent entity entry.</param> /// <param name="egmEvent">The egm event.</param> private static void UpdateExistingEntityState(HmsDbContext context, DbEntityEntry entityEntry, EgmEvent egmEvent) { var evtEntity = (EgmEvent)entityEntry.Entity; if (!evtEntity.SentAt.Equals(egmEvent.SentAt)) { evtEntity.SentAt = egmEvent.SentAt; } if (!evtEntity.ReportGuid.Equals(egmEvent.ReportGuid)) { evtEntity.ReportGuid = egmEvent.ReportGuid; } DaoUtilities.UpdateVersion(context, entityEntry); }
/// <summary> /// Saves the specified egm event. /// </summary> /// <param name="egmEvent">The egm event.</param> public void Save(EgmEvent egmEvent) { using (var context = new HmsDbContext()) { //context.Database.Log = Console.Write; if (!context.EgmEvents.Any(evt => evt.Id == egmEvent.Id)) { // no matching PK for this EgmEvent in database, // thus we create new entity and add it to db DaoUtilities.SaveCreatedEntity(context, context.EgmEvents, egmEvent, SetNewEntityState); } else { // matching PK found, thus we update state of existing EgmEvent entity DaoUtilities.SaveUpdatedEntity(context, context.EgmEvents, egmEvent, UpdateExistingEntityState); } } }
/// <summary> /// Sets the state of the new entity. /// </summary> /// <param name="entity">The egm event.</param> private static void SetNewEntityState(EgmEvent entity) { entity.Version = 0; entity.Hash = GenerateHash(entity); }
/// <summary> /// Generates the hash for the specified EgmEvent entity. /// </summary> /// <param name="egmEvent">The egm event.</param> /// <returns>System.String.</returns> public static string GenerateHash(EgmEvent egmEvent) { return(GenerateHash(egmEvent.Code, egmEvent.Description, egmEvent.EgmSerialNumber, egmEvent.OccurredAt, egmEvent.CasinoCode)); }