/// <summary> /// Deletes the record /// </summary> /// <typeparam name="T"></typeparam> /// <param name="input"></param> public void DeleteRecord <T>(T input) where T : IStaticType, new() { var actualType = input.GetType(); var entityName = actualType.Name; var deleting = this.GetById <T>(input.Id); // get the object out before delete NancyBlackDatabase.ObjectDeleting(this, entityName, deleting); _db.Delete(deleting); NancyBlackDatabase.ObjectDeleted(this, entityName, deleting); }
/// <summary> /// Deletes the specified entity name. /// </summary> /// <param name="entityName">Name of the entity.</param> /// <param name="inputObject">The input object.</param> /// <exception cref="System.InvalidOperationException"> /// Entity: + entityName + does not exists /// or /// Id of inputObject is not set or has default value /// </exception> public void DeleteRecord(string entityName, dynamic inputObject) { var type = _dataType.FromName(entityName); int?id = inputObject.Id == null ? null : inputObject.Id; if (type == null) { throw new InvalidOperationException("Entity: " + entityName + " does not exists"); } if (id == null || id == 0) { throw new InvalidOperationException("Id of inputObject is not set or has default value"); } var deleting = this.GetById(entityName, id.Value); // get the object out before delete NancyBlackDatabase.ObjectDeleting(this, entityName, deleting); _db.Delete(deleting); NancyBlackDatabase.ObjectDeleted(this, entityName, deleting); }