Exemple #1
0
        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;
        }
Exemple #2
0
        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;
        }
Exemple #7
0
        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;
            };
        }
Exemple #8
0
        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;
        }
Exemple #10
0
 private string UpdateOrderResolver(string clientRequest, User user)
 {
     updateOrderResolver = new UpdateOrderResolver();
     return updateOrderResolver.GetResponse(clientRequest, user);
 }
Exemple #11
0
 private string TransactionResolver(string clientRequest, User user)
 {
     transactionResolver = new TransactionResolver();
     return transactionResolver.GetResponse(clientRequest, user);
 }
Exemple #12
0
 private string SellResolver(string clientRequest, User user)
 {
     sellResolver = new SellResolver();
     return sellResolver.GetResponse(clientRequest, user);
 }
Exemple #13
0
 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;
        }