Example #1
0
        public ActionResult Calling(string text)
        {
            CallCardViewModel ccvm = new CallCardViewModel();

            var username = HttpContext.User.Identity.Name;

            ccvm.user = _UserRepos.GetUserByUsername(username);

            var phoneuser = _PhoneUserRepos.GetPhoneUser(ccvm.user.UserId);

            //user = phoneuser.UserName;
            //password = phoneuser.Password;
            user     = "******";
            password = "******";
            //int numbertocall = int.Parse(text);
            var num = text;

            if (num.Contains("("))
            {
                num = num.Remove(0, 1);
                num = num.Remove(3, 1);
                num = num.Remove(7, 1);
                num = num.Remove(3, 1);
            }
            //num = "1" + num;
            long phoneNumberDialing = Convert.ToInt64(num);

            string xml = "<request method= \"switchvox.users.call\"> <parameters> <account_id>" + /*phoneuser.AccountId*/ 1155 + "</account_id><dial_first>" + phoneuser.Extension + "</dial_first> <dial_second>" + phoneNumberDialing + "</dial_second> <variables> <variable>balance=300</variable> </variables> </parameters> </request> ";
            //string xml = "<request method= \"switchvox.users.call\"> <parameters> <account_id>1106</account_id><dial_first>201</dial_first> <dial_second>202</dial_second> <variables> <variable>balance=300</variable> </variables> </parameters> </request> ";
            // string xml = "<request method=\"switchvox.extensions.getInfo\"> <parameters> <extensions> <extension>201</extension> <extension>202</extension> </extensions> </parameters></request> ";
            //string xml = "<request method=\"switchvox.extensionGroups.getList\">	<parameters>		<sort_field>name</sort_field>		<sort_order>ASC</sort_order>	</parameters></request>";
            //string xml = "<request method=\"switchvox.extensions.featureCodes.callMonitoring.add\">  <parameters>    <feature_code>41</feature_code>        <groups>            <group>                <authorized>                    <members>                        <member>                     <type>extension_group</type>                         <id>1005</id>                        </member>        </members>                </authorized>                <targeted>                    <members>                        <member>                            <type>extension_group</type>                            <id>1004</id>                        </member>                    </members>                </targeted>            </group>        </groups>  </parameters></request>";

            //string xml = "<request method=\"switchvox.extensionGroups.add\"> <parameters>  <extension_group_name>Admin</extension_group_name>   <members> <member>       <type>account</type> <id>1106</id> </member> </members>  <vm_quota>100</vm_quota>  <description> Administrator</description>  <user_viewable>1</user_viewable>    </parameters></request>";
            string         url = ConfigReader.VoipIP;
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

            //string s = "id="+Server.UrlEncode(xml);
            byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(xml);
            req.Method        = "POST";
            req.ContentType   = "text/xml;charset=utf-8";
            req.ContentLength = requestBytes.Length;
            req.Credentials   = new NetworkCredential(user, password);
            ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); };

            Stream requestStream = req.GetRequestStream();

            requestStream.Write(requestBytes, 0, requestBytes.Length);
            requestStream.Close();

            HttpWebResponse res     = (HttpWebResponse)req.GetResponse();
            StreamReader    sr      = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);
            string          backstr = sr.ReadToEnd();

            sr.Close();
            res.Close();

            return(Content("Calling " + text));
        }
Example #2
0
        public ActionResult Edit(Int32 id)
        {
            Web.ViewModel.UserCreateViewModel uc = new Web.ViewModel.UserCreateViewModel();

            var username  = HttpContext.User.Identity.Name;
            var phoneuser = _PhoneUserRepos.GetPhoneUser(id);

            uc.displayuser = _UserRepository.GetUserByUsername(username);

            uc.extensionNum = phoneuser.Extension;
            uc.user         = _UserRepository.GetUserById(id);

            if (uc.user.AssignedRoleId == 1)
            {
                uc.user.selectedRole = "Administrator";
            }
            if (uc.user.AssignedRoleId == 2)
            {
                uc.user.selectedRole = "Manager";
            }
            if (uc.user.AssignedRoleId == 3)
            {
                uc.user.selectedRole = "SA";
            }
            if (uc.user.AssignedRoleId == 4)
            {
                uc.user.selectedRole = "AA";
            }
            if (uc.user.AssignedRoleId == 5)
            {
                uc.user.selectedRole = "Customer Service Agent";
            }

            uc.ZoneList = _ZoneRepository.Zones.ToList();
            var uzones = _UserZoneRepository.GetAllZonesByUser(id).ToList();

            IList <int> uzoneslist = new List <int>();

            foreach (var singleZone in uzones)
            {
                uzoneslist.Add(singleZone.ZoneId);
            }

            uc.AssignedZoneList = uzoneslist;
            uc.eId = uc.user.FirstName.Substring(0, 1) + uc.user.LastName.Substring(0, 1) + "1000" + uc.user.UserId.ToString();

            return(View(uc));
        }
Example #3
0
        public ActionResult CallProfile(int LeadId)
        {
            ProfileViewModel pvm       = new ProfileViewModel();
            Report           newRecord = new Report();

            _logger.Debug("Trying to make a call.");
            var username = HttpContext.User.Identity.Name;

            pvm.user = _UserRepository.GetUserByUsername(username);

            newRecord = _ReportRepository.CheckExistingRecord(pvm.user.UserId);
            newRecord.MonthlyAppointments = newRecord.MonthlyAppointments + 1;
            newRecord.AssignedAAUserID    = pvm.user.UserId;
            _ReportRepository.SaveReports(newRecord);

            // Please remember to include this part of the code whenever Click to Dial is implemented.
            Lead lead = new Lead();

            lead         = _service.GetLeadByLeadId(LeadId);
            pvm.lead     = lead;
            pvm.accounts = GetNumberOfAccounts(lead.LeadId);

            // Call to Extend API for calling the customer

            var phoneuser = _PhoneUserRepos.GetPhoneUser(pvm.user.UserId);
            //string user = phoneuser.UserName;
            //string password = phoneuser.Password;
            var num = lead.PrimaryPhoneNumber;

            if (num.Contains("("))
            {
                num = num.Remove(0, 1);
                num = num.Remove(3, 1);
                num = num.Remove(7, 1);
                num = num.Remove(3, 1);
            }
            string user     = "******";
            string password = "******";
            //string snum = num;
            //num = "1" + num;
            long phoneNumberDialing = Convert.ToInt64(num);

            //if (lead.PrimaryPhoneChecked == true)
            //{
            //    phoneNumberDialing = int.Parse(lead.PrimaryPhoneNumber);
            //}
            //else
            //{
            //    phoneNumberDialing = int.Parse(lead.AddtionalPhoneNumber);
            //}
            string xml = "<request method= \"switchvox.users.call\"> <parameters> <account_id>" + /*phoneuser.AccountId*/ 1155 + "</account_id><dial_first>" + phoneuser.Extension + "</dial_first> <dial_second>" + phoneNumberDialing + "</dial_second> <variables> <variable>balance=300</variable> </variables> </parameters> </request> ";
            //string xml = "<request method= \"switchvox.users.call\"> <parameters> <account_id>1106</account_id><dial_first>326</dial_first> <dial_second>326</dial_second> <variables> <variable>balance=300</variable> </variables> </parameters> </request> ";
            //string xml = "<request method=\"switchvox.extensions.getInfo\"> <parameters> <extensions> <extension>327</extension> <extension>326</extension> </extensions> </parameters></request> ";
            string url = ConfigReader.VoipIP;

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

            //string s = "id="+Server.UrlEncode(xml);
            byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(xml);
            req.Method        = "POST";
            req.ContentType   = "text/xml;charset=utf-8";
            req.ContentLength = requestBytes.Length;
            req.Credentials   = new NetworkCredential(user, password);
            ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); };

            Stream requestStream = req.GetRequestStream();

            requestStream.Write(requestBytes, 0, requestBytes.Length);
            requestStream.Close();

            HttpWebResponse res     = (HttpWebResponse)req.GetResponse();
            StreamReader    sr      = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);
            string          backstr = sr.ReadToEnd();

            sr.Close();
            res.Close();


            //Make sure that Customer is not converted to Warm Lead here
            if (lead.Status != "Customer")
            {
                lead.Status = "Warm Lead";
            }
            _leadRepos.SaveLead(lead);
            return(View(pvm));
        }