Exemple #1
0
        public override string OnConnect()
        {
            MenuItem currentMenu = new MenuItem();
            var      menu        = GetMenuScreen(CampaignMenu.MutualSmart);

            subscription = new exactmobile.ussdcommon.Subscription();
            if (subscription.IsSubscribedToService(Session.MSISDN, SubscriptionServiceId))
            {
                var model = subscription.GetSubscription(Session.MSISDN, SubscriptionServiceId);
                if (model != null && model.status_id == 1)
                {
                    var mutuel  = TestData.ListOfMutuels().mutuels.Where(n => n.mutuel_id == model.mutuel_id).FirstOrDefault();
                    var address = Logic.Instance.Addresses.Fetch(new Address {
                        Id = mutuel.address_id ?? -1
                    });
                    return(string.Format("request# Bienvenue a la Mutuelle Smart!\n\n" + NOT_ACTIVATED.Replace("##Address##", $"{address?.StreetAndNumber} {address?.Suburb} {address?.Province}")));
                }

                else
                {
                    return(string.Format("request# Bienvenue a la Mutuelle Smart!\n\n1)Services\n2)Payment\n3)Se desabonner\n4)Info"));
                }
            }
            else
            {
                return(string.Format("request# Bienvenue a la Mutuelle Smart!\n\n1)souscrire\n2)Verifiez votre Balalance\n3)Se desabonner\n4)Info"));
            }
        }
Exemple #2
0
        private string GetHomeScreen()
        {
            Session["CurrentProvinceSelection"]  = null;
            Session["CurrentCitySelection"]      = null;
            Session["CurrentTerritorySelection"] = null;
            Session["CurrentMutuelSelection"]    = null;
            Session["SelectedProvince"]          = null;
            Session["SelectedCity"]     = null;
            Session["SelectedCommune"]  = null;
            Session["SelectedMutuelle"] = null;

            MenuItem currentMenu = new MenuItem();
            var      menu        = GetMenuScreen(CampaignMenu.MutualSmart);

            subscription = new exactmobile.ussdcommon.Subscription();
            if (subscription.IsSubscribedToService(Session.MSISDN, 1))
            {
                var model = subscription.GetSubscription(Session.MSISDN, 1);
                if (model != null && model.status_id == 1)
                {
                    var mutuel  = TestData.ListOfMutuels().mutuels.Where(n => n.mutuel_id == model.mutuel_id).FirstOrDefault();
                    var address = Logic.Instance.Addresses.Fetch(new Address {
                        Id = mutuel.address_id ?? -1
                    });
                    return(string.Format("request# Bienvenue a la Mutuelle Smart!\n\n" + NOT_ACTIVATED.Replace("##Address##", $"{address?.StreetAndNumber} {address?.Suburb} {address?.Province}")));
                    //return string.Format($"request# {NOT_ACTIVATED} \n\n3)Se desabonner\n4)Info");
                }

                else
                {
                    return(string.Format("request# Bienvenue a la Mutuelle Smart!\n\n1)Services\n2)Verifiez votre solde\n3)Se desabonner\n4)Info"));
                }
            }
            else
            {
                return(string.Format("request# Bienvenue a la Mutuelle Smart!\n\n1)souscrire\n2)Verifiez votre solde\n3)Se desabonner\n4)Info"));
            }
        }
Exemple #3
0
        public override string ManualOverRide()
        {
            //if (Helper.Message.Equals("0"))
            //    return GetHomeScreen();
            try {
                if (string.IsNullOrEmpty(Helper.Message))

                {
                    return(string.Format("notify# votre choix n'est pas correcte! "));
                }
                if (Helper.Message == "00")

                {
                    return(GetHomeScreen());
                }
                if (subscription.IsSubscribedToService(Session.MSISDN, SubscriptionServiceId))//Already  Subscribed to this service
                {
                    var model = subscription.GetSubscription(Session.MSISDN, SubscriptionServiceId);
                    if (model != null && model.status_id == 1 && Helper.Message == "1" && Session.LastMenuAccessed.MenuId == 1)
                    {
                        if (Helper.Message == "1" && Session.LastMenuAccessed.MenuId == 1)

                        {
                            return(string.Format("request# Confirmation Menu\n\nVeillez taper le numero de reference"));
                        }
                        else
                        {
                            if (model.reference_number == Helper.Message.Trim())
                            {
                                UpdateSubscription(model, 2); //Activate subscription
                                return(CONFIRMATION_SUCCESS);
                            }
                            else
                            {
                                return(CONFIRMATION_ERROR);
                            }
                        }
                    }

                    else if (model.status_id != 3 && Helper.Message != "3" && Session.LastMenuAccessed.MenuId == 1)
                    {
                        return(string.Format("request# Bienvenu a la Mutuelle Smart!\n\n1)Services\n2)Payment\n3)Se desabonner\n4)Guide"));
                    }
                    else
                    {
                        if (Helper.Message == "3" && Session.LastMenuAccessed.MenuId == 1)

                        {
                            return("request# Confirmation de desabonnement\n\n" + GetMenuScreen(CampaignMenu.CancelSubscribeMenu));
                        }
                        if (Helper.Message == "1" && Session.LastMenuAccessed.MenuId == (int)CampaignMenu.CancelSubscribeMenu)

                        {
                            UpdateSubscription(model, 3); //Activate subscription
                            return(string.Format("nofify# Nous vous avons desabonne avec succes!"));
                        }
                        if (Helper.Message == "2" && Session.LastMenuAccessed.MenuId == (int)CampaignMenu.CancelSubscribeMenu)

                        {
                            return(GetHomeScreen());
                        }
                        else
                        {
                            return(GetHomeScreen());
                        }
                    }
                }

                MenuItem currentMenu_Back = new MenuItem();
                string   ret_Val          = Menu.ShowMenu(Convert.ToInt32(CampaignMenu.ProvinceSelection), Convert.ToInt32(CampaignMenu.ProvinceSelection), ref currentMenu_Back, false);
                string   BackButton       = currentMenu_Back.Name;
                string   data             = null;
                string   selection        = Helper.Message;
                //Choix de la province
                if (Helper.Message == "1" && Session.LastMenuAccessed.MenuId == 1 || ((Helper.Message == "10" || Helper.Message == "0") && Session.LastMenuAccessed.MenuId == (int)CampaignMenu.ProvinceSelection)
                    )
                {
                    MenuItem currentMenu = new MenuItem();
                    string   results     = "";

                    if (Session.LastMenuAccessed.ParentMenuId != 1)
                    {
                        results = Menu.ShowMenu(Session.LastMenuAccessed.ParentMenuId, Session.LastMenuAccessed.ParentMenuId, ref currentMenu, false);
                        Session.LastMenuAccessed = currentMenu;
                    }
                    else
                    {
                        results = GetMenuScreen(CampaignMenu.ProvinceSelection);
                    }
                    //var provinces = DisplayListOfProvinces();
                    data = results;
                    if (data.Length < 180)
                    {
                        data += GetMenuSubScreen(CampaignMenu.ProvinceSelection, data.Length, selection);
                    }
                    return("request# " + data);
                }
                //choix de la cite
                else if (((Helper.Message == "10" || Helper.Message == "0") && Session.LastMenuAccessed.MenuId == (int)CampaignMenu.CitySelection) || (Session.LastMenuAccessed.MenuId == (int)CampaignMenu.ProvinceSelection))
                {
                    MenuItem currentMenu = new MenuItem();
                    string   results     = "";
                    if (Session["SelectedProvince"] == null)
                    {
                        try
                        {
                            Session["SelectedProvince"] = (int.Parse(selection) > 10 && selection != "10") ? selection = (int.Parse(selection) - 1 == 10 ? int.Parse(selection) - 2 : int.Parse(selection) - 1).ToString() : Helper.Message;
                        }
                        catch
                        {
                            results = Menu.ShowMenu(Session.LastMenuAccessed.ParentMenuId, Session.LastMenuAccessed.ParentMenuId, ref currentMenu, false);
                            Session.LastMenuAccessed = currentMenu;
                        }
                    }

                    if (Session.LastMenuAccessed.ParentMenuId != 1)
                    {
                        results = Menu.ShowMenu((int)CampaignMenu.CitySelection, (int)CampaignMenu.CitySelection, ref currentMenu, false);
                        Session.LastMenuAccessed = currentMenu;
                    }
                    else
                    {
                        results = GetMenuScreen(CampaignMenu.CitySelection);
                    }
                    data = results;
                    if (data.Length < 180)
                    {
                        data += GetMenuSubScreen(CampaignMenu.CitySelection, data.Length, selection);
                    }
                    return("request# " + data);
                }
                //choix de la commune
                else if (((Helper.Message == "10" || Helper.Message == "0") && Session.LastMenuAccessed.MenuId == (int)CampaignMenu.CommuneSelection) || (Session.LastMenuAccessed.MenuId == (int)CampaignMenu.CitySelection))
                {
                    MenuItem currentMenu = new MenuItem();
                    string   results     = "";
                    if (Session["SelectedCity"] == null)

                    {
                        try
                        {
                            Session["SelectedCity"] = (int.Parse(selection) > 10 && selection != "10") ? selection = (int.Parse(selection) - 1 == 10 ? TestData.ListOfCities().cities.Where(n => n.province_id == Convert.ToInt32(Session["SelectedProvince"])).ToList()[int.Parse(selection) - 2].city_id : TestData.ListOfCities().cities.Where(n => n.province_id == Convert.ToInt32(Session["SelectedProvince"])).ToList()[int.Parse(selection) - 1].city_id).ToString() : TestData.ListOfCities().cities.Where(n => n.province_id == Convert.ToInt32(Session["SelectedProvince"])).ToList()[int.Parse(Helper.Message) - 1].city_id.ToString();
                        }
                        catch
                        {
                            results = Menu.ShowMenu((int)CampaignMenu.CitySelection, (int)CampaignMenu.CitySelection, ref currentMenu, false);
                            Session.LastMenuAccessed = currentMenu;
                        }
                    }
                    if (Session.LastMenuAccessed.ParentMenuId != 1)
                    {
                        results = Menu.ShowMenu((int)CampaignMenu.CommuneSelection, (int)CampaignMenu.CommuneSelection, ref currentMenu, false);
                        Session.LastMenuAccessed = currentMenu;
                    }
                    else
                    {
                        results = GetMenuScreen(CampaignMenu.CommuneSelection);
                    }
                    data = results;
                    if (data.Length < 180)
                    {
                        data += GetMenuSubScreen(CampaignMenu.CommuneSelection, data.Length, selection);
                    }
                    return("request# " + data);
                }
                //choix de la commune
                else if (((Helper.Message == "10" || Helper.Message == "0") && Session.LastMenuAccessed.MenuId == (int)CampaignMenu.MutuelSelection) || (Session.LastMenuAccessed.MenuId == (int)CampaignMenu.CommuneSelection))
                {
                    MenuItem currentMenu = new MenuItem();
                    string   results     = "";
                    if (Session["SelectedCommune"] == null)
                    {
                        try
                        {
                            Session["SelectedCommune"] = (int.Parse(selection) > 10 && selection != "10") ? selection = (int.Parse(selection) - 1 == 10 ? TestData.ListOfCommunes().communes.Where(n => n.city_id == Convert.ToInt32(Session["SelectedCity"])).ToList()[int.Parse(selection) - 2].commune_id : TestData.ListOfCommunes().communes.Where(n => n.city_id == Convert.ToInt32(Session["SelectedCity"])).ToList()[int.Parse(selection) - 1].commune_id).ToString() : TestData.ListOfCommunes().communes.Where(n => n.city_id == Convert.ToInt32(Session["SelectedCity"])).ToList()[int.Parse(Helper.Message) - 1].commune_id.ToString();
                        }
                        catch
                        {
                            results = Menu.ShowMenu((int)CampaignMenu.CommuneSelection, (int)CampaignMenu.CommuneSelection, ref currentMenu, false);
                            Session.LastMenuAccessed = currentMenu;
                        }
                    }


                    if (Session.LastMenuAccessed.ParentMenuId != 1)
                    {
                        results = Menu.ShowMenu((int)CampaignMenu.MutuelSelection, (int)CampaignMenu.MutuelSelection, ref currentMenu, false);
                        Session.LastMenuAccessed = currentMenu;
                    }
                    else
                    {
                        results = GetMenuScreen(CampaignMenu.MutuelSelection);
                    }
                    data = results;
                    if (data.Length < 180)
                    {
                        data += GetMenuSubScreen(CampaignMenu.MutuelSelection, data.Length, selection);
                    }
                    return("request# " + data);
                }
                //choix de la mutuelle
                else if (Session.LastMenuAccessed.MenuId == (int)CampaignMenu.MutuelSelection)

                {
                    if (Session["SelectedMutuelle"] == null)

                    {
                        try
                        {
                            Session["SelectedMutuelle"] = (int.Parse(selection) > 10 && selection != "10") ? selection = (int.Parse(selection) - 1 == 10 ? TestData.ListOfMutuels().mutuels.Where(n => n.commune_id == Convert.ToInt32(Session["SelectedCommune"])).ToList()[int.Parse(selection) - 2].mutuel_id : TestData.ListOfMutuels().mutuels.Where(n => n.commune_id == Convert.ToInt32(Session["SelectedCommune"])).ToList()[int.Parse(selection) - 1].mutuel_id).ToString() : TestData.ListOfMutuels().mutuels.Where(n => n.commune_id == Convert.ToInt32(Session["SelectedCommune"])).ToList()[int.Parse(Helper.Message) - 1].mutuel_id.ToString();
                        }
                        catch
                        {
                        }
                    }
                    MenuItem currentMenu = new MenuItem();
                    data = "request# Confirmation d'abonnement\n\n" + GetMenuScreen(CampaignMenu.SubscriptionConfirmation);
                    return(data);
                }
                //abonnement
                else if (Session.LastMenuAccessed.MenuId == (int)CampaignMenu.SubscriptionConfirmation)

                {
                    if (Convert.ToInt32(Helper.Message) == 1)
                    {
                        //Active 1 NOT_ACtive = 2 NOT_Activated =3 Terminated =4
                        //subcribe user to mutuelle smart
                        int?mutuelId = Session["SelectedMutuelle"] != null?TestData.ListOfMutuels().mutuels.Where(n => n.mutuel_id == Convert.ToInt32(Session["SelectedMutuelle"])).FirstOrDefault()?.address_id : null;

                        var sub    = new ussdcommon.Subscription();
                        var result = sub.Subscribe(Session.MSISDN, 1, int.Parse(Session["SelectedMutuelle"].ToString()));
                        data = result.Item1;
                        var mutuel  = TestData.ListOfMutuels().mutuels.Where(n => n.mutuel_id == mutuelId).FirstOrDefault();
                        var address = Logic.Instance.Addresses.Fetch(new Address {
                            Id = mutuel.address_id ?? -1
                        });

                        if (address != null)
                        {
                            ussdcommon.utility.CommonUtility.SendSMSNotification(Session.MSISDN, $"Veillez visiter ce centre de capture pour finaliser l'abonnement: {address?.StreetAndNumber} {address?.Suburb} {address?.Province}");
                        }
                        ussdcommon.utility.CommonUtility.SendSubscriptionRequestToAlain(new SubscriptionRequest {
                            subscriptionid = result.Item2,
                            idcenter       = address != null? mutuelId.ToString():"null",
                            idsender       = "ussd",
                            mut            = SubscriptionServiceId,
                            phonnum        = Session.MSISDN.Substring(Session.MSISDN.Length - 9, 8),
                            status         = 3
                        });
                        //return data;// -- YES_TO_SUBSCRIBE;
                        return("notify# " + data);
                    }
                    else
                    {
                        return(NO_TO_SUBSCRIBE);
                    }
                }
            }catch {
                GetHomeScreen();
            }
            return(GetHomeScreen());
        }