private string USSDResolver(string clientRequest, User user) { string[] requestItems = clientRequest.Split('*'); string type = requestItems[0]; string result = null; switch (type) { case "0": result = RegistrationResolver(clientRequest); break; case "1": result = PurchaseResolver(clientRequest, user); break; case "2": result = SellResolver(clientRequest, user); break; case "3": result = UpdateOrderResolver(clientRequest, user); break; case "4": result = TransactionResolver(clientRequest, user); break; } return result; }
public string GetResponse(string clientRequest, User user) { string[] requestItems = clientRequest.Split('*'); int requestItemLength = requestItems.Length; string response = null; switch (requestItemLength) { case 1: response = COMMODITY_TYPE_MESSAGE; break; case 2: response = STOCK_MESSAGE; break; case 3: response = PRICE_MESSAGE; break; case 4: response = READY_PERIOD_MESSAGE; break; case 5: Order order = InsertOrder(requestItems, user); response = string.Format("Data Jualan Anda: Jenis:{0}\n, Stok:{1}Kg\n, Harga:Rp.{2}\n, Tanggal Tersedia: {3}\n Terima Kasih", GetCommodityType(order.CommodityType).Name, order.Amount, order.Price, order.Date); break; } return response; }
public string GetResponse(string clientRequest, User user) { string response = ""; string[] requestItems = clientRequest.Split('*'); int requestItemLength = requestItems.Length; switch (requestItemLength) { case 1: response = GetUpdateListResponse(clientRequest, user); break; case 2: response = GetCommodityTypeResponse(clientRequest); break; case 3: response = UPDATE_AMOUNT_MESSAGE; break; case 4: response = UPDATE_PRICE_MESSAGE; break; case 5: response = UPDATE_AVAILABILITY_WEEK_MESSAGE; break; case 6: response = UpdateOrder(clientRequest); break; } return response; }
public string GetResponse(string clientRequest, User user) { string[] requestItems = clientRequest.Split('*'); int requestItemLength = requestItems.Length; string response = null; switch (requestItemLength) { case 1: String userOrderString = GetUserOrder(user); response = USER_ORDER + userOrderString; break; case 2: String orderMatching = GetMatcingOder(requestItems[1]); response = USER_MATCHING_ORDER + orderMatching; break; case 3: updateMatchingOrderId(int.Parse(requestItems[1]), int.Parse(requestItems[2])); response = STOCK; break; case 5: //Order order = InsertOrder(requestItems, user); // response = string.Format("Data Jualan Anda: Jenis:{0}\n, Stok:{1}Kg\n, Harga:Rp.{2}\n, Tanggal Tersedia: {3}\n Terima Kasih", GetCommodityType(order.CommodityType).Name, order.Amount, order.Price, order.Date); break; } return response; }
public User GetUser(string phoneNumber) { User user = new User(); string query = string.Format("SELECT id,name,ktpnumber,phonenumber,address,longitude,latitude FROM users WHERE phonenumber = '{0}'", phoneNumber); user = conn.Query<User>(query).FirstOrDefault(); return user; }
public String GetUserOrder(User user) { String response = ""; var orders = conn.Query<Order>("select * from Orders where fkuserid = @UserId and id in (select first_id from orders_matches)", new{ UserId = user.Id}).ToList(); foreach (Order orderItem in orders) { response += string.Format("{0}. {1}, {2}, {3}Kg Rp.{4}, {5} Minggu\n", orderItem.Id, orderItem.OrderType, GetCommodityType(orderItem.CommodityType).Name, orderItem.Amount, orderItem.Price, orderItem.Date); } return response; }
public MainModule() { Get["/ussd/"] = parameters => { registrationResolver = new RegistrationResolver(); string response = null; string phoneNumber = this.Request.Query["n"]; string clientRequest = this.Request.Query["m"]; isRegistered = registrationResolver.AuthorizeUser(phoneNumber); if (!isRegistered && (!clientRequest.StartsWith("0") || string.IsNullOrEmpty(clientRequest))) return ApplicationConfig.REGISTER_MESSAGE; else if (isRegistered && string.IsNullOrEmpty(clientRequest)) return ApplicationConfig.MAIN_MESSAGE; user = registrationResolver.GetUser(phoneNumber); response = USSDResolver(clientRequest, user); return response; }; }
private Order InsertOrder(string[] requestItems, User user) { Order order = new Order(); long commodityTypeId = long.Parse(requestItems[1]); long amount = long.Parse(requestItems[2]); long price = long.Parse(requestItems[3]); int dateToGo = int.Parse(requestItems[4]); order.fkUserId = user.Id; order.CommodityType = commodityTypeId; order.Price = price; order.Amount = amount; order.OrderType = "Sell"; order.Date = CalculateDate(dateToGo); order.fkMatchingOrderId = 0; string query = string.Format("INSERT INTO orders(fkuserid, commoditytype, price, amount, ordertype, orderdate, fkmatchingorderid) VALUES({0},{1},{2},{3},'{4}','{5}','{6}')", order.fkUserId, order.CommodityType, order.Price, order.Amount, order.OrderType, order.Date, order.fkMatchingOrderId); conn.Execute(query, order); return order; }
private string GetUpdateListResponse(string clientRequest, User user) { string response = ""; List<Order> orders = conn.Query<Order>(string.Format("SELECT id,fkuserid,commoditytype,amount,price,orderdate,fkmatchingorderid,ordertype FROM orders WHERE fkuserid = {0}", user.Id)) .OrderBy(e => e.Id) .ToList<Order>(); foreach (Order orderItem in orders) { response += string.Format("{0}. {1}, {2}, {3}Kg Rp.{4}, {5} Minggu\n", orderItem.Id, orderItem.OrderType, GetCommodityType(orderItem.CommodityType).Name, orderItem.Amount, orderItem.Price, orderItem.Date); } return response; }
private string UpdateOrderResolver(string clientRequest, User user) { updateOrderResolver = new UpdateOrderResolver(); return updateOrderResolver.GetResponse(clientRequest, user); }
private string TransactionResolver(string clientRequest, User user) { transactionResolver = new TransactionResolver(); return transactionResolver.GetResponse(clientRequest, user); }
private string SellResolver(string clientRequest, User user) { sellResolver = new SellResolver(); return sellResolver.GetResponse(clientRequest, user); }
private string PurchaseResolver(string clientRequest, User user) { purchaseResolver = new PurchaseResolver(); return purchaseResolver.GetResponse(clientRequest, user); }
private User InsertUser(Registration registration) { User user = new User(); user.KtpNumber = registration.KtpNumber; user.PhoneNumber = registration.PhoneNumber; user.Address = registration.Address; string query = string.Format("INSERT INTO users(ktpnumber, phonenumber, address) VALUES('{0}','{1}','{2}')", user.KtpNumber, user.PhoneNumber, user.Address); conn.Execute(query); return user; }