コード例 #1
0
        protected async void CloseTicket()
        {
            ViewModel_PhoneUI.UIFunctions.showProgressIndicator("Closing your ticket...");
            ViewModel_PhoneUI.UIFunctions.ShowOverlay(ContentOverlay);
            disableApplicationBar();

            vm = new ViewModel.VM_faq_PastIssues();
            int i = await vm.CloseTicket(ParentId);
            ViewModel_PhoneUI.UIFunctions.hideProgressIndicator();

            if (i > 0)
            {
                enableApplicationBar();
                ViewModel_PhoneUI.UIFunctions.hideProgressIndicator();
                ViewModel_PhoneUI.UIFunctions.HideOverlay(ContentOverlay);

                //successfuly closed

                showMessage("Success", "Ticket closed", 2);// With code for suitable Navigation
                // showMessage("Success", "Ticket closed .");
              
            }
            else
                ViewModel_PhoneUI.UIFunctions.showMessage(Network.SOMETHING_WENT_WRONG);
        }
コード例 #2
0
        protected async void ReOpenTicket(string UserText)
        {
            try
            {
                if (Account.isLoggedIn())
                {
                    if (Network.checkNetwork())
                    {
                        mobileNumber = Account.readLocalData(Connection.KEY_LOCAL_STORAGE_PRIMARY_NUM);
                        if (MKValidations.isValidMobileNumber(mobileNumber) && UserText.Length > 0 && !UserText.Equals(placeholderQuery))
                        {
                           ViewModel_PhoneUI.UIFunctions.showProgressIndicator("Submitting your query...");
                            ViewModel_PhoneUI.UIFunctions.ShowOverlay(ContentOverlay);
                            disableApplicationBar();
                            BackEnabled = false;


                            Model.RootObject_ReOpenIssue response = new Model.RootObject_ReOpenIssue();
                            vm = new ViewModel.VM_faq_PastIssues();
                            response = await vm.ReOpenTicket(UserText.Trim(), ParentId);

                            ViewModel_PhoneUI.UIFunctions.hideProgressIndicator();
                            if (response != null)
                            {
                                if (response.failure == true)
                                {
                                    showMessage("Sorry!", response.description, 0);

                                }
                                else
                                {
                                    GetNewQueryData(ParentId.ToString(), response.data);
                                }
                            }
                            else
                                ViewModel_PhoneUI.UIFunctions.showMessage(Network.CHECK_CONNECTION_MESSAGE);

                            enableApplicationBar();
                            ViewModel_PhoneUI.UIFunctions.HideOverlay(ContentOverlay);
                            BackEnabled = true;
                        }
                    }
                }
                else
                {
                   this.Frame.Navigate(typeof(MainPage));
                    //NavigationService.Navigate(new Uri("/MainPage.xaml?goto=1&from=1", UriKind.Relative));
                }
            }
            catch (Exception ex)
            {
                //List<Parameter> Params = new List<Parameter>();
                //Params.Add(AccountFunctions.createParameter("Location", "FaqChat"));
                //Params.Add(AccountFunctions.createParameter("Method", "ReOpenTicket, Error:" + ex.Message));
                //FlurryWP8SDK.Api.LogEvent("FAQ Exception", Params);
            }
        }
コード例 #3
0
        private async void GetPastIssues()
        {
            try
            {
                if (Account.isLoggedIn())
                {
                    if (Network.checkNetwork())// If no Network,This Method will show Connection msg itself
                    {
                        ViewModel.VM_faq_PastIssues vm = new ViewModel.VM_faq_PastIssues();
                        Model.RootObject_Chat response = await vm.GetFAQ_PastIssues();
                        if (response.failure.Equals(false))
                        {
                            response.data.Reverse(0, response.data.Count);
                            lstPastIssues.DataContext = response.data;
                        }
                        else
                        { //No Ticket History
                            
                            showMessage("Ticket History", response.description,  0);// code for suitable Navigation
                        }
                    }
                    else
                      ViewModel_PhoneUI.UIFunctions.showMessage(Network.CHECK_CONNECTION_MESSAGE);

                    ViewModel_PhoneUI.UIFunctions.hideProgressIndicator();
                    enableApplicationBar();
                    ViewModel_PhoneUI.UIFunctions.HideOverlay(ContentOverlay);
                }

                else
                {
                    ViewModel_PhoneUI.UIFunctions.hideProgressIndicator();
                    enableApplicationBar();
                    ViewModel_PhoneUI.UIFunctions.HideOverlay(ContentOverlay);

                    // showMessage("Login", "Please log in to view your ticket history", NavigationService);
                   showMessage("Login", "Please log in to view your ticket history",  2);
                    //if (r.Equals(MessageBoxResult.OK))
                    //    NavigationService.Navigate(new Uri("/MainPage.xaml?goto=" + ViewModel_PhoneUI.UIFunctions.NAVIGATION_ID_LOGIN + "&from=1", UriKind.Relative));
                }
            }
            catch (Exception ex)
            {
                //List<Parameter> Params = new List<Parameter>();
                //Params.Add(AccountFunctions.createParameter("Location", "Faq Home"));
                //Params.Add(AccountFunctions.createParameter("Method", "GetPastIssues, Error:" + ex.Message));
                //FlurryWP8SDK.Api.LogEvent("FAQ Exception", Params);
            }

        }
コード例 #4
0
        protected void GetChatByParentTicket()
        {
            try
            {
                bool Last_CommentByMobikwik = false;
                stpn_ChatPanel.Children.Clear();
                CustomControls.UC_Chat_User uc;//chat by user
                CustomControls.UC_Chat_Mobikwik ucM;// Chat by mobikwik

                vm = new ViewModel.VM_faq_PastIssues();
                Model.Datum data = vm.GetTicketDetailByID(ParentId);// get history by Ticket ID
                txtTicket.Text = "TICKET #" + data.parentTicket.id;

                uc = new CustomControls.UC_Chat_User();
                uc.DataContext = data.parentTicket;
                stpn_ChatPanel.Children.Add(uc);// Chat initiated by user

                if (data.parentTicket.resolution != null)//if Some resolution sent by Mobikwik
                {
                    //ucM = new UserControl.UC_Chat_Mobikwik();
                    //ucM.DataContext = data.comment;
                    //stpn_ChatPanel.Children.Add(ucM);

                    ucM = new CustomControls.UC_Chat_Mobikwik();
                    Model.Model_Chat ch = new Model.Model_Chat();
                    ch.Text = data.parentTicket.resolution;
                    ch.ChatTime = data.parentTicket.resDate;
                    ucM.DataContext = ch;
                    stpn_ChatPanel.Children.Add(ucM);
                    Last_CommentByMobikwik = true;

                }
                if (data.comment != null)// Ticket ReOpened
                {
                    for (int i = 0; i < data.comment.Count; i++)
                    {
                        uc = new CustomControls.UC_Chat_User();
                        uc.DataContext = data.comment[i];
                        stpn_ChatPanel.Children.Add(uc);// Added Reopened Ticket Issue
                        Last_CommentByMobikwik = false;

                        if (data.comment[i].resolved == true || data.comment[i].resolution != null)// some solution sent by Mobikwik
                        {
                            ucM = new CustomControls.UC_Chat_Mobikwik();
                            Model.Model_Chat ch = new Model.Model_Chat();
                            ch.Text = data.comment[i].resolution;
                            ch.ChatTime = data.comment[i].resDate;
                            ucM.DataContext = ch;
                            stpn_ChatPanel.Children.Add(ucM);
                            Last_CommentByMobikwik = true;
                        }
                    }
                }
                ///There could be a scenerio where Mobikwik asks User some question,although this is rare.In Such case Last response is by Mobikwik but Ticket.resolution=false
                if (data.parentTicket.resolved == false & Last_CommentByMobikwik == false)//Ticket not resolved and Last Chat is not by Mobikwik, then show static data
                    GetMobikwikStaticRespone(DateTime.Now);

                ////--------------------------------------------------

                UC_Query = new CustomControls.UC_QueryMore();

                if (data.parentTicket.resolved) UC_Query.DataContext = 2;
                else UC_Query.DataContext = 1;

                stpnQueryMore.Children.Add(UC_Query);
                GetMoreQurery();
            }
            catch (Exception ex)
            {
                //List<Parameter> Params = new List<Parameter>();
                //Params.Add(AccountFunctions.createParameter("Location", "Faq Chat"));
                //Params.Add(AccountFunctions.createParameter("Method", "GetChatByParentTicket, Error:" + ex.Message));
                //FlurryWP8SDK.Api.LogEvent("FAQ Exception", Params);
            }
        }
コード例 #5
0
        public async void SendUserQuery()
        {
            try
            {
                if (MKValidations.isValidMobileNumber(mobileNo) && fieldQuery.Text.Trim().Length > MinimumCharacter && !fieldQuery.Text.Equals(placeholderQuery))
                {
                    ViewModel_PhoneUI.UIFunctions.showProgressIndicator("Submitting your query...");
                ViewModel_PhoneUI.UIFunctions.ShowOverlay(ContentOverlay);
                disableApplicationBar();
                // BackEnabled = false; // need to update

                if (Account.Category == string.Empty)
                    Account.Category = "Others";

                Model.RootObject_QuerySubmitResponse response = new Model.RootObject_QuerySubmitResponse();
                vm = new ViewModel.VM_faq_PastIssues();
                response = await vm.SendQuery(Account.Category, mobileNo, email, fieldQuery.Text.Trim(), placeholderQuery);

                enableApplicationBar();
                ViewModel_PhoneUI.UIFunctions.HideOverlay(ContentOverlay);
                ViewModel_PhoneUI.UIFunctions.hideProgressIndicator();

                BackEnabled = true;

                if (response.status != null)
                    if (String.Equals(response.status, "error", StringComparison.OrdinalIgnoreCase))
                    {
                        showMessage("Sorry", response.body.id, 0);
                        //if (res != null)
                        //    this.NavigationService.GoBack();

                    }
                    else//response.status, "ok"
                    {
                        showMessage("Ticket id: " + response.body.id, "Thank you, We will get back to you shortly!", 1);
                        //NavigationService.Navigate(new Uri("/Views/FAQ_Chat.xaml?Ticket=" + response.body.id + "&UserChat=" + fieldQuery.Text.Trim() + "&MobikwikChat=" + response.body.message, UriKind.Relative));
                    }
                else
                    ViewModel_PhoneUI.UIFunctions.showMessage(Network.CHECK_CONNECTION_MESSAGE);

                }
                else
                {
                    showMessage("Invalid input", "Please enter a valid query with minimum 20 characters. ", 0);//Code for suitable Navigation
                }
            }
            catch (Exception ex)
            {
                //List<Parameter> Params = new List<Parameter>();
                //Params.Add(AccountFunctions.createParameter("Location", "Help"));
                //Params.Add(AccountFunctions.createParameter("Method", "Send User Query, Error:" + ex.Message));
                //FlurryWP8SDK.Api.LogEvent("FAQ Exception", Params);
            }
        }