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")); } }
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")); } }
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()); }