public static string GetTestData_PreProd(string testcase, DataConstants Constants)
 {
     try
     {
         int    column = (int)Constants;
         string Value  = "";
         int    count  = ExcelSheet.Dimension.End.Row;
         for (int index = 1; index <= count; index++)
         {
             if (ExcelSheet.GetValue(index, 1).ToString().Equals(testcase))
             {
                 Value = ExcelSheet.GetValue(index, column).ToString();
                 break;
             }
         }
         return(Value);
     }
     catch (Exception e)
     {
         string screenShotPath = AutomationReport.Capture(Selenium.ObjDriver, "ExcelReaderError" + DateTime.Today.ToString("MM-dd-yyyy_hh_mm_ss"));
         Selenium.Log.Log(LogStatus.Fail, "Snapshot below: " + Selenium.Log.AddScreenCapture(screenShotPath));
         Selenium.Log.Log(LogStatus.Fail, "Unable to get test case date from Excel || " + e);
         throw (e);
     }
 }
Example #2
0
        public void SendLocationQuery(long id, int page, string lang)
        {
            try
            {
                List <SimpleQuickReply> reply = new List <SimpleQuickReply>();
                int lastindex = (page * 8 + 8) > DataConstants.Locations.Count ? DataConstants.Locations.Count : (page * 8 + 8);
                for (int i = page * 8; i < lastindex; i++)
                {
                    string l = DataConstants.Locations[i].PrettyName;
                    reply.Add(new QuickReply("text", l, "DEVELOPER_DEFINED_LOCATION°" + l + "°" + lang));
                }
                //Max 10 quickreplies, we got more locations. When at first page, add extra button to show second page
                if (page == 0)
                {
                    reply.Add(new QuickReply("text", DataConstants.GetMessage("More", lang), "GET_EVENT_HERE_NOW°" + 1 + "°" + lang));
                }
                else
                {
                    reply.Add(new QuickReply("text", DataConstants.GetMessage("Previous", lang), "GET_EVENT_HERE_NOW°" + (page - 1) + "°" + lang));
                }
                GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Which_location", lang), reply);

                //Console.WriteLine("All squares: " + api.SendMessageToUser(message).Result);
                api.SendMessageToUser(message);
            }
            catch (Exception ex)
            {
                //Console.WriteLine(ex);
            }
        }
Example #3
0
        public static void CheckText(long id, string text)
        {
            string res;

            if (!string.IsNullOrEmpty(DataConstants.GetLocationBySearchTag(text)?.Id))
            {
                RemoteDataManager.GetInstance().GetEventsHereNow(id, DataConstants.GetLocationBySearchTag(text).Id, DataConstants.Now, "NL");
            }
            else
            {
                if (ReplyStore == null)
                {
                    InitReplies();
                }

                res = GetResponse(text);
                if (res != null && res.Length > 3)
                {
                    RMmanager.SendTextMessage(id, res);
                }
                if (res.Length < 4)
                {
                    RMmanager.SendTextMessage(id, DataConstants.GetMessage("INVALID_INPUT", "NL"));
                }
                RemoteDataManager.GetInstance().GetEventByName(text, id, "NL");
            }
        }
Example #4
0
        public static GenericMessage makeLocationButton(long id, string lang)
        {
            List <SimpleQuickReply> quick_replies = new List <SimpleQuickReply>();

            quick_replies.Add(new SimpleQuickReply("location"));
            String hmess = DataConstants.GetMessage("Pick_map", lang);

            return(new GenericMessage(id, hmess, quick_replies));
        }
Example #5
0
        public void SendInfoForEnding(long id, string lang)
        {
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            reply.Add(new QuickReply("text", "Begin opnieuw", "GET_STARTED_PAYLOAD°°" + lang));
            GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Welcome", lang), reply);

            //Console.WriteLine(api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #6
0
        public void SendLocationsChoice(long id, string lang)
        {
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            reply.Add(new QuickReply("text", DataConstants.GetMessage("Choose_list", lang), "GET_EVENT_HERE_NOW°0°" + lang));
            reply.Add(new QuickReply("text", DataConstants.GetMessage("Choose_card", lang), "GET_USER_LOCATION°°" + lang));
            GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Choose_options", lang), reply);

            //////Console.WriteLine("Location choice: " + api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #7
0
        public void SendDateChoice(long id, string lang)
        {
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            reply.Add(new QuickReply("text", DataConstants.GetMessage("Now", lang), "DEVELOPER_DEFINED_LOCATION°ALL°" + lang));
            reply.Add(new QuickReply("text", DataConstants.GetMessage("Choice_For_Date", lang), "DEVELOPER_DEFINED_DATE_SPECIFIC°°" + lang));
            GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Date_Choice", lang), reply);

            //Console.WriteLine("All now or date specific: " + api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #8
0
        public void SendConfirmation(long id, string lang)
        {
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            reply.Add(new QuickReply("text", DataConstants.GetMessage("Yes", lang), "SEND_LOCATION_CHOICE°°" + lang));
            reply.Add(new QuickReply("text", DataConstants.GetMessage("No", lang), "DEVELOPER_DEFINED_SEARCHFALSE°°" + lang));
            GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Other_location", lang), reply);

            //Console.WriteLine("Confirmation: " + api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #9
0
        public void SendWelcomeMessage(long id, string lang)
        {
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            reply.Add(new QuickReply("text", DataConstants.GetMessage("Search_location", lang), "SEND_LOCATION_CHOICE°°" + lang));
            reply.Add(new QuickReply("text", DataConstants.GetMessage("Search_Date", lang), "SEND_DATE_CHOICE°°" + lang));
            reply.Add(new QuickReply("text", "Language", "SEND_LANGUAGE_OPTIONS°°" + lang));
            GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Welcome", lang), reply);

            //Console.WriteLine("Welcome message: " + api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #10
0
        public static GenericMessage MakeLocationResponse(long id, double lat, double lon, string lang)
        {
            string          image_url = $"https://maps.googleapis.com/maps/api/staticmap?size=764x400&center={lat},{lon}&zoom=15&markers={lat},{lon}";
            string          item_url  = $"http://maps.apple.com/maps?q={lat},{lon}&z=16";
            LocationElement element   = new LocationElement(DataConstants.GetMessage("CLOSEST_TOILET", lang), image_url, "", null, item_url);
            List <Element>  elements  = new List <Element>();

            elements.Add(element);
            IPayload   payload    = new PayloadMessage("generic", elements, true, "horizontal");
            Attachment attachment = new Attachment("template", payload);

            return(new GenericMessage(id, attachment));
        }
Example #11
0
        public void ChangeLanguage(long id)
        {
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            reply.Add(new QuickReply("text", "English", "SET_LANGUAGE°EN°" + lang));
            reply.Add(new QuickReply("text", "Nederlands", "SET_LANGUAGE°NL°" + lang));
            reply.Add(new QuickReply("text", "Gents", "SET_LANGUAGE°GENTS°" + lang));
            // reply.Add(new QuickReply("text", "Deutsch", "SET_LANGUAGE°DE°" + lang));
            GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Choose_Language", "NL"), reply);

            //Console.WriteLine("Language message: " + api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #12
0
        public void SendDayOption(long id, string lang)
        {
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            string[] data = DataConstants.GetMessage("Day_Block", lang).Split(',');
            foreach (var block in data)
            {
                reply.Add(new QuickReply("text", block, "DEVELOPER_DEFINED_DAY°" + block.Split(' ')[1] + "°" + lang));
            }
            reply.Add(new QuickReply("text", DataConstants.GetMessage("Previous_Block", lang), "SEND_DATE_CHOICE°°" + lang));
            GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Choice_For_Date", lang), reply);

            //Console.WriteLine("Pick a date: " + api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #13
0
        public void SendLocationResult(long id, List <SearchableLocation> locations, string lang)
        {
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            foreach (SearchableLocation loc in locations)
            {
                reply.Add(new QuickReply("text", loc.PrettyName, $"DEVELOPER_DEFINED_LOCATION°{loc.Name}°{lang}"));
            }
            var text = DataConstants.GetMessage("Nearest_location", lang);
            //$"Je bent het dichtst bij {loc.PrettyName}. Wil je op deze locatie zoeken?"
            GenericMessage message = new GenericMessage(id, text, reply);

            //Console.WriteLine("Approval of using this location: " + api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #14
0
        public void SendTimePeriod(long id, string value, string lang)
        {
            // value is om bij te houden opwelke dag ze hebben gekozen
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            string[] data = DataConstants.GetMessage("Time_Block", lang).Split('|');
            foreach (var block in data)
            {
                string[] blockinfo = block.Split(':');
                reply.Add(new QuickReply("text", blockinfo[0], "DEVELOPER_DEFINED_HOURS°" + blockinfo[1] + "|" + value + "°" + lang));
            }
            reply.Add(new QuickReply("text", DataConstants.GetMessage("Previous_Block", lang), "DEVELOPER_DEFINED_DATE_SPECIFIC°°" + lang));
            GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Time_Periods", lang), reply);

            //Console.WriteLine("Pick a time block: " + api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #15
0
        public void SendHoursChoice(long id, string looping, string value, string lang)
        {
            if (!value.Contains("T"))
            {
                value = $"2017-07-{value}T";
            }
            string[] loop = looping.Split('~');
            List <SimpleQuickReply> reply = new List <SimpleQuickReply>();

            for (int i = Convert.ToInt32(loop[0]); i <= Convert.ToInt32(loop[1]); i++)
            {
                string view = (i.ToString().Length == 1) ? "0" + i + ":00" : i + ":00";
                reply.Add(new QuickReply("text", view, "DEVELOPER_DEFINED_HOURS_COMP°" + view + "|" + value + "°" + lang));
            }
            reply.Add(new QuickReply("text", DataConstants.GetMessage("Previous_Block", lang), "DEVELOPER_DEFINED_DAY°" + value + "°" + lang));
            GenericMessage message = new GenericMessage(id, DataConstants.GetMessage("Time_Periods", lang), reply);

            //Console.WriteLine("Choice hour: " + api.SendMessageToUser(message).Result);
            api.SendMessageToUser(message);
        }
Example #16
0
        private void SetDiffSettings(BaseTune baseTune)
        {
            var drivetrain = baseTune.Drivetrain;

            var data = new DataConstants();

            switch (drivetrain)
            {
            case StringConstants.AWD:
                baseTune.Diff = data.AWDDiff;
                break;

            case StringConstants.RWD:
                baseTune.Diff = data.RWDDiff;
                break;

            case StringConstants.FWD:
                baseTune.Diff = data.FWDDiff;
                break;
            }
        }
Example #17
0
        public void handle(Messaging message)
        {
            try
            {
                long        id      = message.sender.id;
                PayloadData payload = new PayloadData(message.postback.payload);
                //Console.WriteLine(payload);
                switch (payload.Payload)
                {
                case "GET_STARTED_PAYLOAD":
                    rmanager.SendWelcomeMessage(id, payload.Language);
                    break;

                case "SEND_LOCATION_CHOICE":
                    rmanager.SendLocationsChoice(id, payload.Language);
                    break;

                // tijd keuze extra
                case "SEND_DATE_CHOICE":
                    rmanager.SendDateChoice(message.sender.id, payload.Language);
                    break;

                case "DEVELOPER_DEFINED_DATE_SPECIFIC":
                    rmanager.SendDayOption(message.sender.id, payload.Language);
                    break;

                case "SEND_LANGUAGE_OPTIONS":
                    rmanager.ChangeLanguage(message.sender.id);
                    break;

                case "GET_TOILET":
                    string[]           co       = payload.Value.Split(':');
                    SearchableLocation location = DataConstants.GetClosestsToilet(double.Parse(co[0]), double.Parse(co[1]));
                    // Console.WriteLine($"Closest location found: {location.PrettyName} ");
                    rmanager.SendGenericMessage(LocationFactory.MakeLocationResponse(id, location.Lat, location.Lon, payload.Language));
                    break;

                case "SET_LANGUAGE":
                    rmanager.SendWelcomeMessage(id, payload.Value);
                    break;

                case "GET_USER_LOCATION":
                    if (!string.IsNullOrWhiteSpace(payload.Value) && payload.Value == "true")
                    {
                        TempUserData.Instance.Add(id, payload.Language, true);
                    }
                    else
                    {
                        TempUserData.Instance.Add(id, payload.Language, false);
                    }
                    rmanager.SendGetLocationButton(message.sender.id, payload.Language);
                    break;

                case "DEVELOPER_DEFINED_SEARCHFALSE":
                    rmanager.SendInfoForEnding(message.sender.id, payload.Language);
                    break;

                case "GET_EVENT_HERE_NOW":
                    rmanager.SendLocationQuery(id, int.Parse(payload.Value), payload.Language);
                    break;

                case "DEVELOPER_DEFINED_LOCATION":
                    if (payload.Value != "ALL")
                    {
                        RemoteDataManager.GetInstance().GetEventsHereNow(id, DataConstants.GetLocation(payload.Value).Id, DataConstants.Now, payload.Language);
                    }
                    else
                    {
                        RemoteDataManager.GetInstance().GetEventsNow(id, payload.Language, DataConstants.Now);
                    }
                    break;

                case "DEVELOPER_DEFINED_DAY":
                    rmanager.SendTimePeriod(id, payload.Value, payload.Language);
                    break;

                case "DEVELOPER_DEFINED_COORDINATES":
                    string[] data = payload.Value.Split(':');
                    List <SearchableLocation> locatio = DataConstants.GetClosestLocation(new Coordinates {
                        lat = double.Parse(data[1]), lon = double.Parse(data[0])
                    }, 3);
                    // Console.WriteLine($"Closest location found: {location.PrettyName} ");
                    rmanager.SendLocationResult(id, locatio, payload.Language);
                    break;

                case "DEVELOPER_DEFINED_DESCRIPTION":
                    rmanager.SendTextMessage(id, payload.Value);
                    break;

                case "DEVELOPER_DEFINED_HOURS":
                    string[] dat = payload.Value.Split('|');
                    rmanager.SendHoursChoice(id, dat[0], dat[1], payload.Language);
                    break;

                case "DEVELOPER_DEFINED_HOURS_COMP":
                    string[] da = payload.Value.Split('|');
                    payload.Value = $"{da[1]}{da[0]}:00+02:00";
                    //rmanager.SendTextMessage(id, value);
                    //Console.WriteLine("Datum: " + payload.Value);
                    RemoteDataManager.GetInstance().GetEventsAtTime(id, payload.Value, payload.Language);
                    break;

                case "DEVELOPER_DEFINED_NEXT":
                    // moet nog normaal gezet worden maar voor test gevallen is het deze tijd
                    int pos = payload.Value.IndexOf("-_-");
                    RemoteDataManager.GetInstance().GetNextEvents(payload.Value.Substring(0, pos), payload.Value.Substring(pos + 3), 3, id, payload.Language);
                    break;

                default:
                    //do nothing
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Example #18
0
        public static GenericMessage makeCarousel(long id, List <Event> events, string lang)
        {
            if (events.Count > 10)
            {
                events = events.GetRange(0, 10);
            }

            List <Element> elements = new List <Element>();

            foreach (var eve in events)
            {
                List <IButton> buttons       = new List <IButton>();
                DefaultAction  defaultAction = new DefaultAction("web_url", MakeUrl(eve.name.nl), true);
                if (!string.IsNullOrWhiteSpace(eve.description.nl))
                {
                    if (eve.description.nl.Length < 640)
                    {
                        buttons.Add(new ButtonPayload(DataConstants.GetMessage("What_Is_It", lang), "postback", "DEVELOPER_DEFINED_DESCRIPTION°" + eve.description.nl + "°" + lang));
                    }
                    else
                    {
                        buttons.Add(new ButtonPayload(DataConstants.GetMessage("What_Is_It", lang), "postback", "DEVELOPER_DEFINED_DESCRIPTION°" + eve.description.nl.Substring(0, 635) + "..." + "°" + lang));
                    }
                }

                buttons.Add(new ButtonPayload(DataConstants.GetMessage("NEXT", lang), "postback", "DEVELOPER_DEFINED_NEXT°" + eve.location + "-_-" + eve.startDate + "°" + lang));

                var image = eve.image;
                if (string.IsNullOrEmpty(image))
                {
                    image = "https://chatbot.lab9k.gent/images/default0.png";
                }

                string dates = " ";
                string juli  = $" {DataConstants.GetMessage("MONTH", lang)} ";
                if (eve.startDate.ToString().Equals(eve.endDate.ToString()))
                {
                    string[] helpStart = eve.startDate.ToString().Split('T');
                    string[] daySt     = helpStart[0].Split('-');
                    string[] hourSt    = helpStart[1].Split(':');
                    dates += daySt[2];
                    dates += juli;
                    dates += hourSt[0];
                    dates += ":";
                    dates += hourSt[1];
                    string[] helpEnd = eve.endDate.ToString().Split('T');
                    string[] hourEnd = helpEnd[1].Split(':');
                    dates += " - ";
                    dates += hourEnd[0];
                    dates += ":";
                    dates += hourEnd[1];
                    //dates = $" | {start.Day} juli {start.ToString("HH:mm")} - {end.ToString("HH:mm")}";
                }
                else
                {
                    string[] helpStart = eve.startDate.ToString().Split('T');
                    string[] daySt     = helpStart[0].Split('-');
                    string[] hourSt    = helpStart[1].Split(':');
                    dates += daySt[2];
                    dates += juli;
                    dates += hourSt[0];
                    dates += ":";
                    dates += hourSt[1];

                    string[] helpEnd = eve.endDate.ToString().Split('T');
                    string[] dayEnd  = helpEnd[0].Split('-');
                    string[] hourEnd = helpEnd[1].Split(':');
                    dates += " - ";
                    dates += dayEnd[2];
                    dates += juli;
                    dates += hourEnd[0];
                    dates += ":";
                    dates += hourEnd[1];
                }
                buttons.Add(new ButtonShare());
                string free    = (eve.isAccessibleForFree == true) ? DataConstants.GetMessage("FREE", lang) : DataConstants.GetMessage("NOTFREE", lang);
                string wheelie = "";
                if (!(eve.isWheelchairUnfriendly ?? true))
                {
                    wheelie = " | ♿";
                }
                string loc = (DataConstants.GetLocation(eve.location)?.PrettyName ?? (eve.locationName ?? "???"));
                if (loc.Length > 21)
                {
                    loc = loc.Substring(0, 20) + "...";
                }
                string subtitle = loc + " | " + dates + " | " + free + wheelie;
                elements.Add(new Element(eve.name.nl, image, subtitle, buttons, defaultAction));
            }
            IPayload   payload    = new PayloadMessage("generic", elements, true, "horizontal");
            Attachment attachment = new Attachment("template", payload);

            return(new GenericMessage(id, attachment));
        }
Example #19
0
 public void SendNoEventFound(long id, string lang)
 {
     SendTextMessage(id, DataConstants.GetMessage("Not_found", lang));
 }