private void PopulateModel(CafeTable model, IDictionary values) { string ID = nameof(CafeTable.Id); string NAME = nameof(CafeTable.Name); string NUMBER = nameof(CafeTable.Number); string IS_BUSY = nameof(CafeTable.IsBusy); if (values.Contains(ID)) { model.Id = Convert.ToInt32(values[ID]); } if (values.Contains(NAME)) { model.Name = Convert.ToString(values[NAME]); } if (values.Contains(NUMBER)) { model.Number = Convert.ToInt32(values[NUMBER]); } if (values.Contains(IS_BUSY)) { model.IsBusy = Convert.ToBoolean(values[IS_BUSY]); } }
public IEnumerable <CafeTable> GetAllTablesInCafe(int cafeId) { List <CafeTable> cafeTables = new List <CafeTable>(); try { using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); using (SqlCommand command = connection.CreateCommand()) { command.CommandText = "SELECT * FROM CafeTable WHERE CafeID = @cafeID"; command.Parameters.AddWithValue("@cafeID", cafeId); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { CafeTable table = new CafeTable { Id = reader.GetInt32(reader.GetOrdinal("ID")), TableNo = reader.GetInt32(reader.GetOrdinal("TableNo")), NoOfSeats = reader.GetInt32(reader.GetOrdinal("NoOfSeats")) }; cafeTables.Add(table); } } } } catch (Exception) { throw; } return(cafeTables); }
public CafeTable GetTableByID(int ID) { CafeTable table = new CafeTable(); try { using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); using (SqlCommand command = connection.CreateCommand()) { command.CommandText = "SELECT * FROM CafeTable WHERE CafeTable.ID = @id"; command.Parameters.AddWithValue("@id", ID); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { table.Id = reader.GetInt32(reader.GetOrdinal("ID")); table.TableNo = reader.GetInt32(reader.GetOrdinal("TableNo")); table.NoOfSeats = reader.GetInt32(reader.GetOrdinal("NoOfSeats")); } } } } catch (Exception) { throw; } return(table); }
public int CreateTable(CafeTable table, int cafeId) { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew, _options)) { int insertedId; try { using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); using (SqlCommand command = connection.CreateCommand()) { command.CommandText = "INSERT INTO CafeTable (TableNo, NoOfSeats, CafeID) VALUES (@tableNo, @noOfSeats, @cafeID); SELECT SCOPE_IDENTITY();"; command.Parameters.AddWithValue("@tableNo", table.TableNo); command.Parameters.AddWithValue("@noOfSeats", table.NoOfSeats); command.Parameters.AddWithValue("@cafeID", cafeId); insertedId = Convert.ToInt32(command.ExecuteScalar()); } scope.Complete(); } } catch (Exception) { throw; } return(insertedId); } }
public void UpdateTable(CafeTable table) { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew, _options)) { try { using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); using (SqlCommand command = connection.CreateCommand()) { command.CommandText = "UPDATE CafeTable SET TableNo = @tableNo, NoOfSeats = @noOfSeats WHERE ID = @id;"; command.Parameters.AddWithValue("@id", table.Id); command.Parameters.AddWithValue("@tableNo", table.TableNo); command.Parameters.AddWithValue("@noOfSeats", table.NoOfSeats); command.ExecuteNonQuery(); } scope.Complete(); } } catch (Exception) { throw; } } }
public IActionResult Post(string values) { var model = new CafeTable(); var valuesDict = JsonConvert.DeserializeObject <IDictionary>(values); PopulateModel(model, valuesDict); if (!TryValidateModel(model)) { return(BadRequest(ModelState.GetFullErrorMessage())); } _cafeTableBusiness.AddCafeTable(model); return(Json(model.Id)); }
public object Post(CafeTableRequest request) { DbCafeTable dbCafeTable = new DbCafeTable(); var cafeTable = new CafeTable { TableNo = request.TableNo.Value, NoOfSeats = request.NoOfSeats.Value }; var cafeTableId = dbCafeTable.CreateTable(cafeTable, request.CafeId.Value); cafeTable.Id = cafeTableId; return(new CafeTableResponse { Result = new CafeTable[] { cafeTable } }); }
public object Put(CafeTableRequest request) { DbCafeTable dbCafeTable = new DbCafeTable(); if (request.Id.HasValue) { var cafeTable = new CafeTable { Id = request.Id.Value, TableNo = request.TableNo.Value, NoOfSeats = request.NoOfSeats.Value }; dbCafeTable.UpdateTable(cafeTable); var updatedCafeTable = dbCafeTable.GetTableByID(cafeTable.Id); return(new CafeTableResponse { Result = new CafeTable[] { updatedCafeTable } }); } else { throw new Exception("Please input a vaild ID for the Table!"); } }
public void CafeTableIntergrationTest() { JsonServiceClient client = new JsonServiceClient(ConfigurationManager.AppSettings["Host"]); var CafeTable = new CafeTable(); var CafeTableObj = new CafeTable(); //Creates test CafeTable with CafeID(4) var ctRes = client.Post(new CafeTableRequest { TableNo = 10, NoOfSeats = 4, CafeId = 4 }); foreach (var item in ctRes.Result) { CafeTable = item; } Assert.IsNotNull(CafeTable.Id); //Gets the CafeTable by Id var ctResId = client.Get(new CafeTableRequest { Id = CafeTable.Id }); foreach (var item in ctResId.Result) { CafeTableObj = item; } Assert.AreEqual(CafeTableObj.Id, CafeTable.Id); //Gets all CafeTable in the Cafe(4) var ctResByCId = client.Get(new GetAllTablesInCafeRequest { CafeId = 4 }); Assert.IsNotNull(ctResByCId.Result); //Updates CafeTable by Id with different TableNo var ctResUp = client.Put(new CafeTableRequest { Id = CafeTable.Id, TableNo = 11, NoOfSeats = 10 }); foreach (var item in ctResUp.Result) { CafeTableObj = item; } Assert.AreNotSame(CafeTableObj, CafeTable); //Deletes the test CafeTable after the test client.Delete(new DeleteTableRequest { Id = CafeTable.Id }); }
public void UpdateCafeTable(CafeTable CafeTable) { _uow.CafeTable.Update(CafeTable); _uow.SaveChanges(); }
public void AddCafeTable(CafeTable CafeTable) { _uow.CafeTable.Insert(CafeTable); _uow.SaveChanges(); }