public SupplyRequestDetail Add(RestaurantDatabaseSettings ctx, SupplyRequestDetail supplyRequestDetail) { SupplyRequestDetail result = null; using (OracleConnection conn = new OracleConnection(ctx.ConnectionString)) { conn.Open(); string query = $"INSERT INTO {SupplyRequestDetail.TableName} (" + $"{SupplyRequestDetail.ColumnNames.SupplyRequestId}, " + $"{SupplyRequestDetail.ColumnNames.ProductId}, " + $"{SupplyRequestDetail.ColumnNames.Count}, " + $"{SupplyRequestDetail.ColumnNames.Active} " + $") VALUES (" + $"{supplyRequestDetail.SupplyRequestId}, " + $"{supplyRequestDetail.ProductId}, " + $"{supplyRequestDetail.Count}, " + $"{1} " + $")"; OracleCommand cmd = new OracleCommand(query, conn); cmd.ExecuteNonQuery(); result = supplyRequestDetail; } return(result); }
private IList <SupplyRequestDetail> Get(OracleConnection connection, SupplyRequest supplyRequest) { IList <SupplyRequestDetail> result = new List <SupplyRequestDetail>(); string query = $"SELECT " + $"{SupplyRequestDetail.ColumnNames.SupplyRequestId}, " + $"{SupplyRequestDetail.ColumnNames.ProductId}, " + $"{SupplyRequestDetail.ColumnNames.Count}, " + $"{SupplyRequestDetail.ColumnNames.Active} " + $"FROM {SupplyRequestDetail.TableName} " + $"WHERE {SupplyRequestDetail.ColumnNames.Active} = 1 " + $"AND {SupplyRequestDetail.ColumnNames.SupplyRequestId} = {supplyRequest.Id}"; OracleCommand cmd = new OracleCommand(query, connection); OracleDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { SupplyRequestDetail supplyRequestDetail = new SupplyRequestDetail() { SupplyRequestId = Convert.ToInt32(reader[SupplyRequestDetail.ColumnNames.SupplyRequestId]), ProductId = Convert.ToInt32(reader[SupplyRequestDetail.ColumnNames.ProductId]), Count = Convert.ToDecimal(reader[SupplyRequestDetail.ColumnNames.Count]), Active = Convert.ToBoolean(Convert.ToInt16(reader[SupplyRequestDetail.ColumnNames.Active].ToString())) }; result.Add(supplyRequestDetail); } reader.Dispose(); return(result); }
public SupplyRequestDetail Get(RestaurantDatabaseSettings ctx, int supplyRequestId, int productId) { SupplyRequestDetail result = null; using (OracleConnection conn = new OracleConnection(ctx.ConnectionString)) { string query = $"SELECT " + $"{SupplyRequestDetail.ColumnNames.SupplyRequestId}, " + $"{SupplyRequestDetail.ColumnNames.ProductId}, " + $"{SupplyRequestDetail.ColumnNames.Count}, " + $"{SupplyRequestDetail.ColumnNames.Active} " + $"FROM {SupplyRequestDetail.TableName} " + $"WHERE {SupplyRequestDetail.ColumnNames.SupplyRequestId} = {supplyRequestId} " + $"AND {SupplyRequestDetail.ColumnNames.ProductId} = {productId}"; OracleCommand cmd = new OracleCommand(query, conn); conn.Open(); OracleDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { result = new SupplyRequestDetail() { SupplyRequestId = Convert.ToInt32(reader[SupplyRequestDetail.ColumnNames.SupplyRequestId]), ProductId = Convert.ToInt32(reader[SupplyRequestDetail.ColumnNames.ProductId]), Count = Convert.ToDecimal(reader[SupplyRequestDetail.ColumnNames.Count]), Active = Convert.ToBoolean(Convert.ToInt16(reader[SupplyRequestDetail.ColumnNames.Active].ToString())) }; } reader.Dispose(); } return(result); }
private SupplyRequestDetail Add(OracleConnection connection, OracleTransaction transaction, int supplyRequestId, SupplyRequestDetail supplyRequestDetail) { string query = $"INSERT INTO {SupplyRequestDetail.TableName} (" + $"{SupplyRequestDetail.ColumnNames.SupplyRequestId}, " + $"{SupplyRequestDetail.ColumnNames.ProductId}, " + $"{SupplyRequestDetail.ColumnNames.Count}, " + $"{SupplyRequestDetail.ColumnNames.Active} " + $") VALUES (" + $"{supplyRequestId}, " + $"{supplyRequestDetail.ProductId}, " + $"{supplyRequestDetail.Count}, " + $"{1} " + $")"; OracleCommand cmd = new OracleCommand(query, connection) { Transaction = transaction }; cmd.ExecuteNonQuery(); supplyRequestDetail.SupplyRequestId = supplyRequestId; SupplyRequestDetail result = supplyRequestDetail; return(result); }
private SupplyRequestDetail Edit(OracleConnection conn, OracleTransaction transaction, SupplyRequestDetail supplyRequestDetail) { string query = $"UPDATE {SupplyRequestDetail.TableName} " + $"SET " + $"{SupplyRequestDetail.ColumnNames.Count} = {supplyRequestDetail.Count} " + $"WHERE {SupplyRequestDetail.ColumnNames.SupplyRequestId} = {supplyRequestDetail.SupplyRequestId} " + $"AND {SupplyRequestDetail.ColumnNames.ProductId} = {supplyRequestDetail.ProductId}"; OracleCommand deleteCommand = new OracleCommand(query, conn); deleteCommand.Transaction = transaction; deleteCommand.ExecuteNonQuery(); SupplyRequestDetail result = supplyRequestDetail; return(result); }
private bool Delete(OracleConnection conn, OracleTransaction transaction, SupplyRequestDetail supplyRequestDetail) { string query = $"DELETE FROM {SupplyRequestDetail.TableName} " + $"WHERE {SupplyRequestDetail.ColumnNames.SupplyRequestId} = {supplyRequestDetail.SupplyRequestId} " + $"AND {SupplyRequestDetail.ColumnNames.ProductId} = {supplyRequestDetail.ProductId}"; OracleCommand deleteCommand = new OracleCommand(query, conn) { Transaction = transaction }; deleteCommand.ExecuteNonQuery(); bool result = true; return(result); }
public bool Delete(RestaurantDatabaseSettings ctx, SupplyRequestDetail supplyRequestDetail) { bool result = false; using (OracleConnection conn = new OracleConnection(ctx.ConnectionString)) { conn.Open(); string query = $"DELETE FROM {SupplyRequestDetail.TableName} " + $"WHERE {SupplyRequestDetail.ColumnNames.SupplyRequestId} = {supplyRequestDetail.SupplyRequestId} " + $"AND {SupplyRequestDetail.ColumnNames.ProductId} = {supplyRequestDetail.ProductId}"; OracleCommand deleteCommand = new OracleCommand(query, conn); deleteCommand.ExecuteNonQuery(); result = true; } return(result); }
public SupplyRequest Add(RestaurantDatabaseSettings ctx, SupplyRequest supplyRequest) { SupplyRequest result = null; using (OracleConnection conn = new OracleConnection(ctx.ConnectionString)) { conn.Open(); OracleTransaction transaction = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted); supplyRequest.CreationDate = DateTime.Now; supplyRequest.Code = $"{supplyRequest.ProviderId}{supplyRequest.CreationDate:yyMMddHHmmss}"; string query = $"INSERT INTO {SupplyRequest.TableName} (" + $"{SupplyRequest.ColumnNames.Code}, " + $"{SupplyRequest.ColumnNames.ProviderId}, " + $"{SupplyRequest.ColumnNames.StateId}, " + $"{SupplyRequest.ColumnNames.CreationDate}, " + $"{SupplyRequest.ColumnNames.Active} " + $") VALUES (" + $"'{supplyRequest.Code}', " + $"{supplyRequest.ProviderId}, " + $"{supplyRequest.StateId}, " + $"TO_DATE('{supplyRequest.CreationDate:ddMMyyyyHHmm}', 'DDMMYYYYHH24MI'), " + $"{1} " + $") RETURNING {SupplyRequest.ColumnNames.Id} INTO :{SupplyRequest.ColumnNames.Id}"; OracleCommand cmd = new OracleCommand(query, conn) { Transaction = transaction }; cmd.Parameters.Add(new OracleParameter() { ParameterName = $":{SupplyRequest.ColumnNames.Id}", OracleDbType = OracleDbType.Decimal, Direction = System.Data.ParameterDirection.Output }); try { cmd.ExecuteNonQuery(); supplyRequest.Id = Convert.ToInt32(cmd.Parameters[$":{SupplyRequest.ColumnNames.Id}"].Value.ToString()); if (supplyRequest.SupplyRequestDetails != null) { List <SupplyRequestDetail> recipeDetails = new List <SupplyRequestDetail>(); foreach (var supplyRequestDetail in supplyRequest.SupplyRequestDetails) { SupplyRequestDetail createdRecipeDetail = this.Add(conn, transaction, supplyRequest.Id, supplyRequestDetail); recipeDetails.Add(createdRecipeDetail); } } transaction.Commit(); result = supplyRequest; } catch (Exception) { transaction.Rollback(); throw; } } return(result); }