public IIngredient Save(IRecipeIngredient ingredient) { if (ingredient.IngredientID < 1) return Create(ingredient); else return Update(ingredient); }
private IIngredient Create(IRecipeIngredient data) { var recIng = data as RecipeIngredient; IIngredient ingredient = null; using (var connection = Database.GetConnection()) { var command = connection.CreateCommand(); command.CommandText = "insert into ingredients (title, urlkey, description, created_date, createdby, modified_date, modifiedby) values (@title, @urlkey, @description, @created_date, @createdby, @modified_date, @modifiedby ) returning *"; command.AddParams( Database.CreateParameter("@title", data.Title, DbType.String, command), Database.CreateParameter("@urlkey", data.UrlKey, DbType.String, command), Database.CreateParameter("@description", data.Description, DbType.String, command), Database.CreateParameter("@created_date", recIng.CreatedDate, DbType.DateTime, command), Database.CreateParameter("@createdby", recIng.CreatedBy, DbType.Int64, command), Database.CreateParameter("@modified_date", recIng.ModifiedDate, DbType.DateTime, command), Database.CreateParameter("@modifiedby", recIng.ModifiedBy, DbType.Int64, command) ); command.Connection.Open(); var reader = command.ExecuteReader(CommandBehavior.SingleResult); reader.Read(); ingredient = LoadIngredient(reader); command.Connection.Close(); } return ingredient; }