public int SaveRequest(CustomerRequests customerrequests, SqlConnection connection) { //Create the SQL Query for inserting a product string createQuery = String.Format("Insert into RequestEstimate (FName, LName, Phone, Email, Comments) Values('{0}', '{1}', '{2}', '{3}', '{4}');" + "Select @@Identity", customerrequests.fname, customerrequests.lname, customerrequests.phone, customerrequests.email, customerrequests.comments); //Create the SQL Query for updating a product string updateQuery = String.Format("Update Products SET FName = '{0}', LName ='{1}', Phone = '{2}',Email= '{3}', Comments= '{4}' Where Id = '{5}';", customerrequests.fname, customerrequests.lname, customerrequests.phone, customerrequests.email, customerrequests.comments, customerrequests.requestestimatId); string query = (customerrequests.requestestimatId != 0) ? updateQuery : createQuery; int savedRequestID = 0; using (SqlCommand command = new SqlCommand(query, connection)) { //Execute the command to SQL Server and return the newly created ID var commandResult = command.ExecuteScalar(); savedRequestID = (commandResult != null) ? Convert.ToInt32(commandResult) : customerrequests.requestestimatId; } return(savedRequestID); }
public async Task <CustomerResult> CreateCustomer(CustomerRequests request) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("@Name", request.Name); parameters.Add("@Mail", request.Mail); parameters.Add("@PhoneNumber", request.PhoneNumber); return(await SqlMapper.QueryFirstOrDefaultAsync <CustomerResult>(cnn: conn, param: parameters, sql: "sp_CreateCustomer", commandType: CommandType.StoredProcedure)); }
private static void HandleWareHouseMessage(WarehouseReply warehouseMsg) { if (CustomerRequests.Find(x => x.CustomerId == warehouseMsg.Order.CustomerId) != null) { if (!HasPublished[warehouseMsg.Order.CustomerId]) { Console.WriteLine("Recieved message from a local warehouse."); if (warehouseMsg.Order.IsAvailable) { Console.WriteLine("Product is available..\nSending to client.."); RetailerReply msg = new RetailerReply() { ProductId = warehouseMsg.Order.ProductIds[0], IsAvailable = warehouseMsg.Order.IsAvailable }; Bus.Send <RetailerReply>($"retailer.client.{warehouseMsg.Order.CustomerId}", msg); CustomerRequests.RemoveAll(x => x.CustomerId == warehouseMsg.Order.CustomerId); WarehouseReplyLimiter.Remove(warehouseMsg.Order.CustomerId); HasPublished.Remove(warehouseMsg.Order.CustomerId); Console.WriteLine($"Response sent to customer with client id: {warehouseMsg.Order.CustomerId}"); } else { Console.WriteLine("Product not available.. Publishing to all warehouses.."); RetailerRequest req = new RetailerRequest() { Order = warehouseMsg.Order }; Bus.Publish <RetailerRequest>(req, "retailer.warehouses"); HasPublished[warehouseMsg.Order.CustomerId] = true; } } else { Console.WriteLine("Recieved message from one of all warehouses.."); if (warehouseMsg.Order.IsAvailable || ++WarehouseReplyLimiter[warehouseMsg.Order.CustomerId] >= MAX_WAREHOUSES) { RetailerReply reply = new RetailerReply() { ProductId = warehouseMsg.Order.ProductIds[0], IsAvailable = warehouseMsg.Order.IsAvailable }; Bus.Send <RetailerReply>($"retailer.client.{warehouseMsg.Order.CustomerId}", reply); CustomerRequests.RemoveAll(x => x.CustomerId == warehouseMsg.Order.CustomerId); WarehouseReplyLimiter.Remove(warehouseMsg.Order.CustomerId); HasPublished.Remove(warehouseMsg.Order.CustomerId); Console.WriteLine($"Response sent to customer with client id: {warehouseMsg.Order.CustomerId}"); } } } }
private static void HandleCustomerRequest(CustomerRequest req) { CustomerRequests.Add(req); HasPublished.Add(req.CustomerId, false); WarehouseReplyLimiter.Add(req.CustomerId, 0); Console.WriteLine($"Message recieved on (client.retailer). Client id: '{req.CustomerId}', Location: '{req.CountryCode}'"); Order o = new Order { CustomerId = req.CustomerId, CountryCode = req.CountryCode }; o.ProductIds.Add(req.ProductId); var retailerRequest = new RetailerRequest() { Order = o }; Bus.Publish <RetailerRequest>(retailerRequest, $"retailer.warehouses.{req.CountryCode}"); }
// Adds a new student to the table public int AddRequest(CustomerRequests customerrequests, SqlConnection connection) { //Create the SQL Query for inserting a product // No need for null value in in column if autoincrement string sqlQuery = String.Format("Insert into RequestEstimate (FName, LName, Phone, Email, Comments) Values('{0}', '{1}', '{2}', '{3}', '{4}');" + "Select @@Identity", customerrequests.fname, customerrequests.lname, customerrequests.phone, customerrequests.email, customerrequests.comments); //Create a Command object // new SqlCommand("query", "SqlConnection" int requestID = 0; using (SqlCommand command = new SqlCommand(sqlQuery, connection)) { //SqlCommand.ExecuteNonQuery executes query with no reutrns requestID = Convert.ToInt32((decimal)command.ExecuteScalar()); //Close and dispose } return(requestID); }
public Task <CustomerResult> Create(CustomerRequests request) { return(customerService.CreateCustomer(request)); }
public Task <CustomerResult> CreateCustomer(CustomerRequests request) { return(customerRepository.CreateCustomer(request)); }