Example #1
0
        // определяем пользователя битрикс24
        public List <string> GetIdUsersB24(string B24_URL, string actok, string[] USER_PHONE_INNER)
        {
            List <string> operb24 = new List <string>();

            var data7 = new
            {
                filter = new
                {
                    UF_PHONE_INNER = USER_PHONE_INNER
                }
            };
            string contentText7 = JsonConvert.SerializeObject(data7).ToString();

            string content7;

            using (xNet.HttpRequest request7 = new xNet.HttpRequest())
            {
                content7 = request7.Post("https://" + B24_URL + "/rest/user.get.json?auth=" + actok, contentText7, "application/json").ToString();
            }
            var     converter7 = new ExpandoObjectConverter();
            dynamic otvetst7   = JsonConvert.DeserializeObject <System.Dynamic.ExpandoObject>(content7, converter7);

            foreach (var item in  otvetst7.result)
            {
                operb24.Add(item.ID);
            }
            return(operb24);
        }
Example #2
0
        public string  RegaCall(string B24_URL, string LeadID, string Comment, string actok, string USER_PHONE_INNER, string PHONE_NUMBER)
        {
            // string operb24 = GetIdUserB24(B24_URL, actok, USER_PHONE_INNER);
            var data = new
            {
                fields = new
                {
                    OWNER_TYPE_ID  = 1,
                    OWNER_ID       = LeadID,
                    TYPE_ID        = 2,
                    COMMUNICATIONS = new[]
                    {
                        new{ VALUE = PHONE_NUMBER }
                    },
                    SUBJECT        = "Новое дело",
                    COMPLETED      = "N",
                    RESPONSIBLE_ID = "1",
                    DESCRIPTION    = Comment
                }
            };
            string contentText = JsonConvert.SerializeObject(data).ToString();

            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                content = request.Post("https://" + B24_URL + "/rest/crm.activity.add?auth=" + actok, contentText, "application/json").ToString();
            }

            return("ok");
        }
Example #3
0
        public List <Custumer> GetCostumers(string telef)
        {
            List <Custumer> listuser = new List <Custumer>();
            string          token    = CreatLidAlfa();
            var             data     = new
            {
                page  = 0,
                phone = telef
            };
            string contentText = JsonConvert.SerializeObject(data).ToString();

            using (xNet.HttpRequest reqtok = new xNet.HttpRequest())
            {
                reqtok.AddHeader("X-ALFACRM-TOKEN", token);
                string  content   = reqtok.Post("https://legionsport.s20.online/v2api/1/customer/index", contentText, "application/json").ToString();
                var     converter = new ExpandoObjectConverter();
                dynamic obj       = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);

                foreach (var item in obj.items)
                {
                    Custumer user = new Custumer();
                    user.Id       = item.id;
                    user.BierzDay = item.dob;
                    user.FullName = item.name;
                    user.Object   = item.custom_obekt;
                    user.Gruop    = item.custom_gruppa;
                    user.Telef1   = item.phone[0];
                    user.Telef2   = item.phone[1];
                    listuser.Add(user);
                }
            }
            return(listuser);
        }
Example #4
0
        //получаем ид оператора битрикс24
        public string GetIdUserB24(string B24_URL, string actok, string USER_PHONE_INNER)
        {
            string operb24 = "1";

            if (USER_PHONE_INNER != "0")
            {
                var data7 = new
                {
                    filter = new
                    {
                        UF_PHONE_INNER = USER_PHONE_INNER
                    }
                };
                string contentText7 = JsonConvert.SerializeObject(data7).ToString();

                string content7;
                using (xNet.HttpRequest request7 = new xNet.HttpRequest())
                {
                    content7 = request7.Post("https://" + B24_URL + "/rest/user.get.json?auth=" + actok, contentText7, "application/json").ToString();
                }
                var     converter7 = new ExpandoObjectConverter();
                dynamic otvetst7   = JsonConvert.DeserializeObject <System.Dynamic.ExpandoObject>(content7, converter7);
                try { operb24 = otvetst7.result[0].ID.ToString(); }
                catch { operb24 = "1"; }
            }
            return(operb24);
        }
Example #5
0
        public ActionResult Index(string code = "", string referer = "", string client_id = "", string from_widget = "")
        {
            string pach = System.Web.Hosting.HostingEnvironment.MapPath("/logamo.txt");

            System.IO.StreamWriter myfile = new System.IO.StreamWriter(pach, true);
            try
            {
                myfile.WriteLine(DateTime.Now.ToString() + "--Install--code:" + code + "--referer:" + referer + "--client_id:" + client_id + "--\n\n");
            }
            catch
            {
                myfile.WriteLine(DateTime.Now.ToString() + "Ошибка логирования--\n\n");
            }
            myfile.Close();
            myfile.Dispose();

            if (!string.IsNullOrEmpty(code))
            {
                var data = new
                {
                    client_id     = amoFunction.ClienID,
                    client_secret = amoFunction.ClientSecret,
                    grant_type    = "authorization_code",
                    code          = code,
                    redirect_uri  = amoFunction.RedirectUrl
                };
                string contentText = JsonConvert.SerializeObject(data).ToString();
                string content;
                using (xNet.HttpRequest request = new xNet.HttpRequest())
                {
                    content = request.Post("https://" + referer + "/oauth2/access_token", contentText, "application/json").ToString();
                }
                var     converter = new ExpandoObjectConverter();
                dynamic obj       = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);

                amoCompan co = _db.amoCompans.Where(p => p.PortalName == referer).FirstOrDefault();
                if (co == null)
                {
                    amoCompan comp = new amoCompan();
                    comp.AcesTok    = obj.access_token;
                    comp.DTRefTok   = DateTime.Now.AddSeconds(86400);
                    comp.DTSetApp   = DateTime.Now;
                    comp.PortalName = referer;
                    comp.RefTok     = obj.refresh_token;
                    _db.amoCompans.Add(comp);
                    _db.SaveChanges();
                }
                else
                {
                    co.AcesTok          = obj.access_token;
                    co.DTRefTok         = DateTime.Now.AddSeconds(86400);
                    co.RefTok           = obj.refresh_token;
                    _db.Entry(co).State = System.Data.Entity.EntityState.Modified;
                    _db.SaveChanges();
                }
            }

            //  Response.Headers.Add("Access-Control-Allow-Origin", "https://service-axatel.ru");
            return(View());
        }
Example #6
0
        //public ActionResult Test()
        //{
        //    // string text = System.IO.File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath("/text.txt"));
        //    var data = new
        //    {
        //        AMO_URL = "xecoli8508.amocrm.ru",
        //        PHONE_NUMBER = "80261691950",
        //        AXATEL_GUID = "ceb9906c-0a24-4d7b-a8f4-f6e8f381c355"


        //    };
        //    string contentText2 = JsonConvert.SerializeObject(data).ToString();
        //    string content;
        //    using (xNet.HttpRequest request = new xNet.HttpRequest())
        //    {
        //        content = request.Post("http://localhost:8098/amo/method/reg", contentText2, "application/json").ToString();
        //    }
        //    var converter = new ExpandoObjectConverter();
        //    dynamic obj4 = JsonConvert.DeserializeObject<ExpandoObject>(content, converter);

        //    return Content("9");

        //}
        public ActionResult Test()
        {
            // string text = System.IO.File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath("/text.txt"));
            var data = new
            {
                AMO_URL          = "xecoli8508.amocrm.ru",
                PHONE_NUMBER     = "80291554499",
                AXATEL_GUID      = "ceb9906c-0a24-4d7b-a8f4-f6e8f381c355",
                CALL_FINISH_DATE = "2020-03-20 17:34:09",
                DURATION         = 65,
                VI_STATUS        = 6,
                TYPE             = "inbound",
                USER_PHONE_INNER = "300",
                URL = "/callrecords/domains/axata.a1.axatel.by/data/20200520/mtezmjywnjk0ma53d5.mp3"
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                content = request.Post("http://localhost:62415/method/amo/finish", contentText2, "application/json").ToString();
            }
            var     converter = new ExpandoObjectConverter();
            dynamic obj4      = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);

            return(Content("9"));
        }
Example #7
0
        static public void translate()
        {
            if (detectedLanguage.decte == true)
            {
                while (true)
                {
                    var post = new xNet.HttpRequest();

                    try {
                        getgive = post.Post("https://translate.yandex.net/api/v1.5/tr.json/translate?" +
                                            "key=trnsl.1.1.20191207T155655Z.98fc42dcc71b1955.5a64a70d4dcb416d72248a2f5ac02b7eda46213c" +
                                            "&text=" + detectedLanguage.lo + "&lang=" + detectedLanguage.lang + "-" + RK.theSecond).ToString();
                    }
                    catch
                    {
                        MessageBox.Show("Проверьте подключение к сети");
                    }
                    var json = JObject.Parse(getgive);

                    JToken translate = json["text"][0];
                    rich.Invoke((MethodInvoker)(() => rich.Text = translate.ToString()));

                    detectedLanguage.decte = false;
                    break;
                }
            }
            else
            {
            }
        }
Example #8
0
        public int Transfer(string B24_URL, string actok, string CALL_GUID, string NUMBER_HIDE, string NUMBER_SHOW)
        {
            string hideuser = GetIdUserB24(B24_URL, actok, NUMBER_HIDE);

            System.Threading.Thread.Sleep(100);
            string showuser = GetIdUserB24(B24_URL, actok, NUMBER_SHOW);

            System.Threading.Thread.Sleep(100);

            var data = new
            {
                CALL_ID = CALL_GUID,
                USER_ID = hideuser
            };
            string content = JsonConvert.SerializeObject(data).ToString();

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                string cont = request.Post("https://" + B24_URL + "/rest/telephony.externalcall.hide.json?auth=" + actok, content, "application/json").ToString();
            }
            System.Threading.Thread.Sleep(100);
            var data2 = new
            {
                CALL_ID = CALL_GUID,
                USER_ID = showuser
            };
            string content2 = JsonConvert.SerializeObject(data2).ToString();

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                string cont = request.Post("https://" + B24_URL + "/rest/telephony.externalcall.show.json?auth=" + actok, content2, "application/json").ToString();
            }

            return(1);
        }
Example #9
0
        private async Task MessageReceivedAsync(SocketMessage message)
        {
            if (message.Author.Id == _client.CurrentUser.Id)
            {
                return;
            }

            if (message.Channel is SocketDMChannel)
            {
                if (message.Content.Split(' ').Length == 2)
                {
                    settings = JsonConvert.DeserializeObject <SettingsJSON>(File.ReadAllText("settings.json"));
                    using (var request = new xNet.HttpRequest())
                    {
                        try
                        {
                            string[] data = message.Content.Split(' ');
                            request.UserAgent = Http.ChromeUserAgent();
                            request.Cookies   = new CookieDictionary();
                            request.AddHeader("XF-Api-Key", settings.xfToken);
                            var         response      = request.Post(settings.xfUri + "/api/auth", "login="******"&password="******"application/x-www-form-urlencoded").ToString();
                            XenforoJSON response_data = JsonConvert.DeserializeObject <XenforoJSON>(response);

                            if (response.Contains("success") && response_data != null && response_data.success != null && response_data.User != null)
                            {
                                int max_group = response_data.User.user_group_id;
                                foreach (int group in (int[])response_data.User.secondary_group_ids)
                                {
                                    int place = Array.IndexOf(settings.groupsHierarchy, group);
                                    max_group = max_group > place ? max_group : place;
                                }
                                var        user = message.Author as SocketGuildUser;
                                SocketRole role = user.Guild.GetRole(settings.groups[max_group].dsRoleId);
                                // TODO: можете также работать с данными полученного класса, например, для выдачи роли стаффа или добавления в какую-нибудь рассылку
                                await user.AddRoleAsync(role);

                                await message.Author.SendMessageAsync("Успешно");
                            }
                            else
                            {
                                await message.Author.SendMessageAsync("Неверный логин и/или пароль");
                            }
                        }
                        catch (Exception ex)
                        {
                            await message.Author.SendMessageAsync("Во время авторизации возникла ошибка: " + ex.Message);
                        }
                    }
                }
            }
            else
            if (message.Content == "!auth")
            {
                await message.Author.SendMessageAsync("Для авторизации в системе и получения соответствущей вам роли, отправьте в текущий диалог свой логин и пароль от форума MYPASTE.COM в формате log{пробел}pass");
            }
        }
Example #10
0
        // ложим трубку
        public int FinishCall(string CALL_Guid, string B24_URL, string INNER_PHONE, string DURATION, string VI_STATUS, string FAILED_REASON, string VOTE, string CALL_FINISH_DATE, string actok, string PROCES_STATUS)
        {
            string operb24 = GetIdUserB24(B24_URL, actok, INNER_PHONE);
            object data;

            if (VI_STATUS == "304")
            {
                data = new
                {
                    CALL_ID = CALL_Guid,
                    USER_ID = operb24,

                    STATUS_CODE   = VI_STATUS,
                    FAILED_REASON = FAILED_REASON,
                    VOTE          = VOTE
                };
            }
            else
            {
                data = new
                {
                    CALL_ID       = CALL_Guid,
                    USER_ID       = operb24,
                    DURATION      = DURATION,
                    STATUS_CODE   = VI_STATUS,
                    FAILED_REASON = FAILED_REASON,
                    VOTE          = VOTE,
                    RECORD_URL    = "https://service-axatel.ru:8099/content/zapisvobrabotke.mp3"
                };
            }

            string contentText = JsonConvert.SerializeObject(data).ToString();
            string content     = "";

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                content = request.Post("https://" + B24_URL + "/rest/telephony.externalcall.finish.json?auth=" + actok, contentText, "application/json").ToString();
            }
            string pach = System.Web.Hosting.HostingEnvironment.MapPath("/logb24.txt");

            System.IO.StreamWriter myfile = new System.IO.StreamWriter(pach, true);
            try
            {
                myfile.WriteLine(DateTime.Now.ToString() + "--FinishCallB24--Content: " + content + "--\n\n");
            }
            catch
            {
                myfile.WriteLine(DateTime.Now.ToString() + "--FinishCallB24--Ошибка логирования!--\n\n");
            }
            myfile.Close();
            myfile.Dispose();
            return(1);
        }
Example #11
0
        public string Zvonok(string call_id, string direction, string remote_number)
        {
            RequestParams reqpar = new RequestParams();

            reqpar["event"]         = "alert";
            reqpar["call_id"]       = call_id;
            reqpar["direction"]     = direction;
            reqpar["remote_number"] = remote_number;
            using (xNet.HttpRequest reqtok = new xNet.HttpRequest())
            {
                string content = reqtok.Post("https://legionsport.s20.online/api/1/sip/process?token=c4ca4238a0b923820dcc509a6f75849b", reqpar).ToString();
            }
            return("ok");
        }
Example #12
0
        public string Active(string call_id, string direction, string remote_number)
        {
            RequestParams reqpar2 = new RequestParams();

            reqpar2["event"]         = "active";
            reqpar2["call_id"]       = call_id;
            reqpar2["direction"]     = direction;
            reqpar2["remote_number"] = remote_number;
            using (xNet.HttpRequest request2 = new xNet.HttpRequest())
            {
                xNet.HttpResponse content2 = request2.Post("https://legionsport.s20.online/api/1/sip/process?token=c4ca4238a0b923820dcc509a6f75849b", reqpar2);
            }
            return("ok");
        }
Example #13
0
 string Post(RequestParams req, string url)
 {
  string content = "";
     using (var request = new HttpRequest())
     {
         try{
                 content = request.Post(url, req).ToString();
             }
         catch(HttpException e)
             {
                 MessageBox.Show(e.Message);
             }         
       }
     return content;                
 }
Example #14
0
        // Постит фотгафии в ответ возвращая массив айдишников последних добавленных фотографий
        public string[] photoPost(string groupId, string albumId, string[] photos)
        {
            // Получаем ответ от сервера в формате JSON group_id - должен быть положительным, то есть минус не нужен!!!
            string response = vkMethod("photos.getUploadServer", String.Format("group_id={0}&album_id={1}", groupId, albumId));


            // Получаем ссылку на сервер, которую можно использовать для загрузки фотки путем обработки JSON запроса
            var json = JObject.Parse(response);
            // Отлавливаем ошибку в случае если пользователь что-то не так ввел и отправил это на сервер

            /*var jCheck = json["error"]["error_code"] as JValue;
             * if (jCheck == null)
             * {
             *  throw new Exception("Ошибка в формате отправки. Проверьте правильно ли вы ввели ID группы и ID альбома.");
             * }*/
            var strUrl = json["response"]["upload_url"] as JValue;



            Uri upploadUrl = new Uri(strUrl.ToString());

            // составляем POST запрос при помощи которого отправляем фотографии на сервер
            string[] photoWallArray = photos;
            using (var req = new xNet.HttpRequest())
            {
                if (photos.Length != 0)
                {
                    for (int photoNumber = 0; photoNumber < photos.Length; photoNumber++)
                    {
                        req.AddFile("file1", photos[photoNumber]);
                        string getUpload = req.Post(upploadUrl).ToString();

                        json = JObject.Parse(getUpload);
                        var server     = json["server"] as JValue;
                        var photosList = json["photos_list"] as JValue;
                        var hash       = json["hash"] as JValue;

                        response = vkMethod("photos.save", String.Format("group_id={0}&album_id={1}&server={2}&photos_list={3}&hash={4}&", groupId, albumId, server, photosList, hash));

                        json = JObject.Parse(response);
                        var photoId = (string)json["response"][0]["pid"];

                        photoWallArray[photoNumber] = photoId;
                    }
                }
            }
            return(photoWallArray);
        }
Example #15
0
        public ActionResult ClickToCall(int userid, string tel)
        {
            string pach = System.Web.Hosting.HostingEnvironment.MapPath("/logamo.txt");

            System.IO.StreamWriter myfile = new System.IO.StreamWriter(pach, true);
            try
            {
                myfile.WriteLine(DateTime.Now.ToString() + "--ClickToCall--userid:" + userid + "--tel:" + tel + "--\n\n");
            }
            catch
            {
                myfile.WriteLine(DateTime.Now.ToString() + "Ошибка логирования--\n\n");
            }
            myfile.Close();
            myfile.Dispose();
            amoOperator oper = _db.amoOperators.Where(i => i.AmoId == userid).FirstOrDefault();

            if (oper == null)
            {
                return(Content("оператор не найден"));
            }
            amoCompan co       = _db.amoCompans.Where(i => i.Id == oper.PortalId).FirstOrDefault();
            string    guid     = Guid.NewGuid().ToString();
            var       datasend = new
            {
                entity  = "callmanager",
                action  = "init_call",
                options = new
                {
                    USER_PHONE_INNER = oper.InerNumb,
                    PHONE_NUMBER     = tel,
                    AMO_URL          = co.PortalName,
                    AXATEL_GUID      = co.AxatelGuid,
                    CALL_GUID        = guid,
                    TYPE             = "INTERCOM"
                }
            };

            string contentText = JsonConvert.SerializeObject(datasend).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                content = request.Post("http://" + co.BackIp + "/api/token/v1/" + co.BackToken, contentText, "application/json").ToString();
            }
            Response.Headers.Add("Access-Control-Allow-Origin", "*");
            return(Json(new { result = "ok" }, JsonRequestBehavior.AllowGet));
        }
Example #16
0
        public int HideCard(string B24_URL, string actok, string[] USER_PHONE_INNER, string CALL_GUID)
        {
            string[] usersids = GetIdUsersB24(B24_URL, actok, USER_PHONE_INNER).ToArray();
            var      data     = new
            {
                CALL_ID = CALL_GUID,
                USER_ID = usersids
            };
            string content = JsonConvert.SerializeObject(data).ToString();

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                string cont = request.Post("https://" + B24_URL + "/rest/telephony.externalcall.hide.json?auth=" + actok, content, "application/json").ToString();
            }
            return(1);
        }
Example #17
0
        //Закрытый метод для получения и записи Токенов авторизации
        private void RefSetToken(string portal)
        {
            amoCompan conm = _db.amoCompans.Where(i => i.PortalName == portal).FirstOrDefault();

            // если токен свежий то выходим
            if (conm.DTRefTok.AddSeconds(-10) > DateTime.Now)
            {
                return;
            }

            xNet.HttpResponse resp2 = null;
            var data = new
            {
                client_id     = amoFunction.ClienID,
                client_secret = amoFunction.ClientSecret,
                grant_type    = "refresh_token",
                refresh_token = conm.RefTok,
                redirect_uri  = amoFunction.RedirectUrl
            };
            string contentText = JsonConvert.SerializeObject(data).ToString();

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                resp2 = request.Post("https://" + portal + "/oauth2/access_token", contentText, "application/json");

                //Если в ответ получаем статус-код отличный от 200, то это ошибка, вызываем исключение
                if (resp2.StatusCode != HttpStatusCode.OK)
                {
                    throw new FormatException("ErrorLogonBitrixOAuth");
                }
                else
                {
                    string  stringLogonBitrixOAuth = resp2.ToString();
                    var     converter           = new ExpandoObjectConverter();
                    dynamic objLogonBitrixOAuth = JsonConvert.DeserializeObject <ExpandoObject>(stringLogonBitrixOAuth, converter);
                    //Записывем Токены авторизации в поля нашего класса из динамического объекта
                    conm.AcesTok          = objLogonBitrixOAuth.access_token;
                    conm.RefTok           = objLogonBitrixOAuth.refresh_token;
                    conm.DTRefTok         = DateTime.Now.AddSeconds(objLogonBitrixOAuth.expires_in); //Добавляем к текущей дате количество секунд действия токена, обычно это плюс один час
                    _db.Entry(conm).State = System.Data.Entity.EntityState.Modified;
                    _db.SaveChanges();
                }
            }
        }
Example #18
0
        public string Close(string call_id, string direction, string remote_number, string USER_PHONE_INNER, string DURATION, string VI_STATUS, string finish_reason, string RECORD_URL)
        {
            RequestParams reqpar3 = new RequestParams();

            reqpar3["event"]         = "release";
            reqpar3["call_id"]       = call_id;
            reqpar3["direction"]     = direction;
            reqpar3["local_number"]  = USER_PHONE_INNER;
            reqpar3["duration"]      = DURATION;
            reqpar3["is_success"]    = VI_STATUS;
            reqpar3["remote_number"] = remote_number;
            reqpar3["finish_reason"] = finish_reason;
            reqpar3["record_url"]    = RECORD_URL;
            using (xNet.HttpRequest request3 = new xNet.HttpRequest())
            {
                xNet.HttpResponse content3 = request3.Post("https://legionsport.s20.online/api/1/sip/process?token=c4ca4238a0b923820dcc509a6f75849b", reqpar3);
            }
            return("ok");
        }
Example #19
0
        // прикрепление записи
        public int Record(string CALL_Guid, string B24_URL, string FILE_CONTENT, string URL, string Ip, string AcesTok)
        {
            if (URL.IndexOf("http") == -1)
            {
                URL = "http://" + Ip + URL;
            }

            var data2 = new
            {
                CALL_ID    = CALL_Guid,
                FILENAME   = CALL_Guid + ".mp3",
                RECORD_URL = URL
            };
            string contentText2 = JsonConvert.SerializeObject(data2).ToString();

            using (xNet.HttpRequest request2 = new xNet.HttpRequest())
            {
                string content = request2.Post("https://" + B24_URL + "/rest/telephony.externalCall.attachRecord.json?auth=" + AcesTok, contentText2, "application/json").ToString();
            }

            return(1);
        }
Example #20
0
        public string RegLead(string B24_URL, string PHONE_NUMBER, string NameLead, string actok, string USER_PHONE_INNER)
        {
            string operb24 = GetIdUserB24(B24_URL, actok, USER_PHONE_INNER);
            var    data    = new
            {
                fields = new
                {
                    TITLE          = NameLead,
                    NAME           = "Имя лида " + PHONE_NUMBER,
                    SECOND_NAME    = "",
                    LAST_NAME      = "",
                    STATUS_ID      = "NEW",
                    OPENED         = "Y",
                    ASSIGNED_BY_ID = operb24,
                    CURRENCY_ID    = "BYN",

                    PHONE = new[]
                    {
                        new { VALUE = PHONE_NUMBER, VALUE_TYPE = "WORK" }
                    }
                },
                @params = new
                {
                    REGISTER_SONET_EVENT = "Y"
                }
            };
            string contentText = JsonConvert.SerializeObject(data).ToString();

            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                content = request.Post("https://" + B24_URL + "/rest/crm.lead.add?auth=" + actok, contentText, "application/json").ToString();
            }
            var     converter2 = new ExpandoObjectConverter();
            dynamic idlead     = JsonConvert.DeserializeObject <System.Dynamic.ExpandoObject>(content, converter2);

            return(idlead.result.ToString());
        }
Example #21
0
        // получаем токен для альфа СРМ
        public string CreatLidAlfa()
        {
            var data = new
            {
                email   = "*****@*****.**",
                api_key = "acf112e1-2de8-11e9-9333-0cc47a6ca50e"
            };
            string contentText = JsonConvert.SerializeObject(data).ToString();

            string tokenkey = "";

            using (xNet.HttpRequest reqtok = new xNet.HttpRequest())
            {
                string  content   = reqtok.Post("https://legionsport.s20.online/v2api/auth/login", contentText, "application/json").ToString();
                var     converter = new ExpandoObjectConverter();
                dynamic obj       = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);

                tokenkey = obj.token;
            }

            return(tokenkey);
        }
Example #22
0
        static public void deteck()
        {
            lang = null;
            //   label.Invoke((MethodInvoker) (()=>label.Text = "halalujah"));


            string floop = null;

            lo = text1.Text;

            var Post = new xNet.HttpRequest();

            for (int i = 0; i <= 1; i++)
            {
                try
                {
                    floop = Post.Post("https://translate.yandex.net/api/v1.5/tr.json/detect?" +
                                      "key=trnsl.1.1.20191207T155655Z.98fc42dcc71b1955.5a64a70d4dcb416d72248a2f5ac02b7eda46213c" +
                                      "&text=" + lo).ToString();
                }
                catch
                {
                    MessageBox.Show("Проверьте подключение к сети");
                }


                var json = JObject.Parse(floop);


                JToken dec = json["lang"];
                lang = dec.ToString();

                decte = true;

                //        text2.Invoke((MethodInvoker)(() => text2.Text = lang ));
            }
        }
Example #23
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txbUserName.Text == "" || txbPass.Text == "")
            {
                MessageBox.Show("Vui lòng kiểm điền đầy đủ thông tin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            #region Khai báo request
            xNet.HttpRequest request = new xNet.HttpRequest();
            request.KeepAlive = true;
            request.Cookies   = new CookieDictionary();
            request.AddHeader(HttpHeader.Accept, "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
            request.AddHeader(HttpHeader.AcceptLanguage, "en-US,en;q=0.5");
            request.UserAgent = Http.ChromeUserAgent();
            #endregion
            string userName = txbUserName.Text;
            string login    = request.Get(domain + "Login/?RequestKey=" + md5(md5(GetHDDSerialNumber()) + "handsome") + "&MachineSerial=" + md5(GetHDDSerialNumber()) + "&UserName="******"&PassWord="******"\"", "") == "Error")
            {
                MessageBox.Show("Truy cập không hợp lệ!");
                return;
            }


            if (login.Equals("true"))
            {
                //login success
                string serial = GetHDDSerialNumber();

                Settings.Default.UserName   = txbUserName.Text;
                Settings.Default.PassWord   = txbPass.Text;
                Settings.Default.isRemember = true;
                Settings.Default.Save();


                string check = request.Get(fLogin.domain + "SelectMachine/?RequestKey=" + md5(md5(GetHDDSerialNumber()) + "handsome") + "&MachineSerial=" + md5(GetHDDSerialNumber()) + "&SoftIndex=" + fLogin.softIndex).ToString();
                check = check.Replace("\"", "");
                if (check == "Error")
                {
                    MessageBox.Show("Truy cập không hợp lệ!!!");
                    return;
                }

                String[] x  = check.Split('|');
                bool     kt = true;
                if (request.Get(fLogin.domain + "CheckExpired/?MachineSerial=" + md5(GetHDDSerialNumber()) + "&SoftIndex=" + fLogin.softIndex).ToString() == "true")
                {
                    kt = false;
                    MessageBox.Show("Phần mềm đã hết hạn sử dụng, vui lòng liên hệ với bộ phận hỗ trợ của MIN SOFTWARE để gia hạn!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    Process.Start("chrome.exe", "https://www.facebook.com/minsoftware.vn/");
                }
                else
                if (request.Get(fLogin.domain + "CheckActive/?MachineSerial=" + md5(GetHDDSerialNumber()) + "&SoftIndex=" + fLogin.softIndex).ToString() == "true")
                {
                    kt = false;
                    MessageBox.Show("Thiết bị của bạn đã bị vô hiệu hóa, vui lòng liên hệ với bộ phận hỗ trợ của MIN SOFTWARE để biết thêm thông tin chi tiết!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    Process.Start("chrome.exe", "https://www.facebook.com/minsoftware.vn/");
                }

                if (x[0] == "true")
                {
                    if (kt)
                    {
                        MessageBox.Show("Đăng nhập thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);


                        //Insert data to CustomerLog
                        string insert = request.Post(fLogin.domain + "AddCustomerLog/?Id_Soft=" + fLogin.softIndex + "&MachineSerial=" + md5(GetHDDSerialNumber()) + "&UserName="******"\"", "") == "true")
                        {
                            mainForm f = new mainForm(Convert.ToDateTime(x[1]).ToString("dd-MM-yyyy"));
                            this.Hide();
                            f.Show();
                        }
                        else
                        {
                            MessageBox.Show("Đã có lỗi xảy ra, vui lòng thử lại sau!");
                        }
                    }
                }
                else
                {
                    //add machine to table wait
                    if (MessageBox.Show("Thiết bị của bạn chưa được kích hoạt, bạn có muốn gửi yêu cầu kích hoạt tới Admin?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        string checkSent = request.Get(domain + "SelectMachineWait/?RequestKey=" + md5(md5(GetHDDSerialNumber()) + "handsome") + "&MachineSerial=" + md5(serial) + "&SoftIndex=" + softIndex).ToString();

                        if (checkSent.Equals("true"))
                        {
                            MessageBox.Show("Bạn đã gửi yêu cầu trước đó, vui lòng liên hệ admin để được kích hoạt!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            try
                            {
                                Process.Start("chrome.exe", "https://www.facebook.com/minsoftware.vn/");
                            }
                            catch { }
                            return;
                        }
                        else
                        {
                            string sendRequest = request.Post(domain + "AddMachine/?MachineSerial=" + md5(GetHDDSerialNumber()) + "&SoftIndex=" + softIndex + "&UserName="******"\"", "") == "true")
                            {
                                MessageBox.Show("Gửi yêu cầu thành công, vui lòng liên hệ admin để được kích hoạt!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                try
                                {
                                    Process.Start("chrome.exe", "https://www.facebook.com/minsoftware.vn/");
                                }
                                catch { }
                            }
                            else
                            {
                                MessageBox.Show("Đã có lỗi xảy ra, vui lòng thử lại sau!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Tài khoản hoặc mật khẩu không đúng, vui lòng kiểm tra lại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #24
0
        /// <summary>
        /// Регистрация 
        /// </summary>
        public void Registration()
        {
            CallUnitMsg("Registration start");
            var client = new HttpRequest();

            begin:;
            try
            {
                client.ClearAllHeaders();
                client.UserAgent = UnitUserAgent;
                client.CharacterSet = Encoding.UTF8;
                client.AddHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
                client.AddHeader("Accept-Language", "ru - RU,ru; q = 0.8,en - US; q = 0.5,en; q = 0.3");
                client.Cookies = UnitCookies;


                if (UnitProxy.ProxyUse && !UnitProxy.ProxyIsEmtpy)
                {
                    if(UnitProxyLine == null)
                    {
                        UnitProxyLine = UnitProxy.GetProxyLine();
                    }

                    UnitProxy.SetProxy(ref client, UnitProxyLine);
                }

                byte[] stream = client.Get("https://fotostrana.ru/signup/login/").ToBytes();

                GetToken(stream);

                client.CharacterSet = Encoding.Default;
                client.AddHeader("Accept-Language", "ru - RU,ru; q = 0.8,en - US; q = 0.5,en; q = 0.3");
                client.AddHeader("Accept", @"application/json, text/javascript, */*; q = 0.01");
                client.AllowAutoRedirect = true;
                client.AddHeader("X-Simple-Token:", UnitToken);
                client.AddHeader("X-Requested-With", "XMLHttpRequest");
                client.Referer = "https://fotostrana.ru/signup/login/";
                client.UserAgent = UnitUserAgent;
                client.Cookies = UnitCookies;

                GetPassword();

                string data = $"csrftkn={UnitToken}&user_email={UnitEmail}& user_password={UnitPassword}&submitted=1& issetFields%5B%5D=csrftkn&issetFields%5B%5D=user_email&issetFields%5B%5D=user_password&issetFields%5B%5D=submitted&_fs2ajax=1";

                CallUnitMsg("Попытка авторизации");
                string s = client.Post("https://fotostrana.ru/signup/signup/auth/", data, "application/x-www-form-urlencoded;charset=UTF-8").ToString();
                AnalizResult(s);
            }
            catch (Exception ex)
            {
               
                if (ex.Message == "Не удалось соединиться с HTTP-сервером 'fotostrana.ru'.")
                {
                    try
                    {
                        UnitProxy.WriteProxyToFile(UnitProxyLine, 1);
                    }
                    catch (Exception x)
                    {
                        MessageBox.Show(x.Message);
                    }
                    UnitProxyLine = null;
                    goto begin;
                }
                CallUnitMsg(ex.Message);
            }

        }
Example #25
0
        // Постит фотгафии в ответ возвращая массив айдишников последних добавленных фотографий
        public string[] photoPost(string groupId, string albumId, string[] photos)
        {
            // Получаем ответ от сервера в формате JSON group_id - должен быть положительным, то есть минус не нужен!!!
            string response = vkMethod("photos.getUploadServer", String.Format("group_id={0}&album_id={1}", groupId, albumId));


            // Получаем ссылку на сервер, которую можно использовать для загрузки фотки путем обработки JSON запроса
            var json = JObject.Parse(response);
            // Отлавливаем ошибку в случае если пользователь что-то не так ввел и отправил это на сервер
            /*var jCheck = json["error"]["error_code"] as JValue;
            if (jCheck == null)
            {
                throw new Exception("Ошибка в формате отправки. Проверьте правильно ли вы ввели ID группы и ID альбома.");
            }*/
            var strUrl = json["response"]["upload_url"] as JValue;

        


            Uri upploadUrl = new Uri(strUrl.ToString());

            // составляем POST запрос при помощи которого отправляем фотографии на сервер
            string[] photoWallArray = photos;
            using (var req = new xNet.HttpRequest())
            {
                if (photos.Length != 0)
                {
                    for (int photoNumber = 0; photoNumber < photos.Length; photoNumber++)
                    {
                        req.AddFile("file1", photos[photoNumber]);
                        string getUpload = req.Post(upploadUrl).ToString();

                        json = JObject.Parse(getUpload);
                        var server = json["server"] as JValue;
                        var photosList = json["photos_list"] as JValue;
                        var hash = json["hash"] as JValue;

                        response = vkMethod("photos.save", String.Format("group_id={0}&album_id={1}&server={2}&photos_list={3}&hash={4}&", groupId, albumId, server, photosList, hash));

                        json = JObject.Parse(response);
                        var photoId = (string)json["response"][0]["pid"];

                        photoWallArray[photoNumber] = photoId;
                    }
                }
            }
            return photoWallArray;
        }
Example #26
0
        /// <summary>
        /// Возвращает List с id квартир. Для перехода по страницам (каждая квартира имеет свою страницу). 
        /// </summary>
        /// <returns>коллекция ID квартир</returns>
        private static List<string> GetAllIdApartment(int numberApartments)
        {
            var listIdApartment = new List<string>();

            try
            {
                var reqParams = new RequestParams();

                //парсим и вытаскиваем все ID квартир (одна страница 20 квартир)
                for (int i = 0; i <= numberApartments; i += 20)
                {
                    using (var request = new HttpRequest())
                    {
                        reqParams["SEARCH_BEGINPOS"] = i.ToString();

                        //получпем страницу с квартирами
                        string contentPage = request.Post("www.volga-info.ru/togliatti/search/kvartiryi/x", reqParams).ToString();

                        string[] apartmentId;

                        //парсим страницу и записываем данные в массив
                        apartmentId = contentPage.Substrings("/togliatti/object/kvartiryi/", "/\">", 0).Distinct().ToArray();

                        foreach (var item in apartmentId)
                        {
                            listIdApartment.Add(item);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger logger = LogManager.GetCurrentClassLogger();
                logger.Error(ex);
            }

            return listIdApartment.Distinct().ToList();
        }
Example #27
0
        /// <summary>
        /// Отсылает сообщение пользователю
        /// </summary>
        /// <param name="pupilId">Id пользователя на сайте</param>
        private static void SendSpam(int pupilId)
        {
            string url = $"http://www.videosharp.info/{pupilId}/messages";

            using (var request = new HttpRequest())
            {

                #region Настройка параметров Post запроса
                request.ConnectTimeout = TimeOutProxy;
                request.Reconnect = false;
                request.Proxy = HttpProxyClient.Parse(Proxy);
                //request.UserAgent = Http.IEUserAgent();
                request.Cookies = MyCookies;

                request.AddParam("answer", Message)
                    .AddParam("def_pupil_id", pupilId)
                    .AddParam("forum_fid", $"pupil={pupilId}");
                #endregion
                var content = "Empty";

                try
                {
                    content = request.Post(url).ToString(); //Пытаемся отправить Post запрос
                }
                catch
                {
                    LogResult(pupilId, ERROR);
                }

                #region Проверка и вывод на консоль результата отправки сообщения
                if (content.Contains("error"))
                    LogResult(pupilId, FAIL);

                else if (content.Contains("submit"))
                    LogResult(pupilId, SUCCESS);

                else
                    LogResult(pupilId, UNKNOWN);
                #endregion
            }
        }
Example #28
0
        // регистрация звонка
        public Ansver RegisterCall(string B24_URL, string PHONE_NUMBER, string CALL_START_DATE, string TYPE, string CRM_CREATE, string PROCES_STATUS, string actok, string USER_PHONE_INNER = "0", string LINE_NUMBER = "")
        {
            string operb24 = GetIdUserB24(B24_URL, actok, USER_PHONE_INNER);

            Ansver ans = new Ansver();
            //var data5 = new
            //{
            //    filter = new
            //    {
            //        PHONE = PHONE_NUMBER

            //    },
            //    select = new[] { "ID", "NAME", "LAST_NAME", "SECOND_NAME", "PHONE" } //
            //};
            //string contentText = JsonConvert.SerializeObject(data5).ToString();

            //string content5;
            //using (xNet.HttpRequest request5 = new xNet.HttpRequest())
            //{
            //    content5 = request5.Post("https://" + B24_URL + "/rest/crm.contact.list?auth=" + actok, contentText, "application/json").ToString();
            //}
            //var converter2 = new ExpandoObjectConverter();
            //dynamic contakt = JsonConvert.DeserializeObject<System.Dynamic.ExpandoObject>(content5, converter2);

            //string contid;
            //try
            //{
            //    contid = contakt.result[0].ID; //ид контакта. если контакт есть то берем первый попавшийся

            //}
            //catch { contid = "0"; }

            //if (contid == "0") // ели контакта нет то добовляем
            //{
            //    var data3 = new
            //    {

            //        fields = new
            //        {
            //            NAME = PHONE_NUMBER,
            //            LAST_NAME = "Контакт",
            //            OPENED = "Y",
            //            ASSIGNED_BY_ID = operb24,
            //            TYPE_ID = "CLIENT",
            //            PHONE = new[]
            //            {
            //                new { VALUE = PHONE_NUMBER , VALUE_TYPE = "WORK" }
            //            }
            //        },
            //        @params = new
            //        {
            //            REGISTER_SONET_EVENT = "Y"
            //        }

            //    };
            //    string contentText3 = JsonConvert.SerializeObject(data3).ToString();
            //    string content3;
            //    using (xNet.HttpRequest request3 = new xNet.HttpRequest())
            //    {
            //        content3 = request3.Post("https://" + B24_URL + "/rest/crm.contact.add?auth=" + actok, contentText3, "application/json").ToString();
            //    }
            //}
            //System.Threading.Thread.Sleep(100);

            // if (dt != null) { date = dt; }

            var data = new
            {
                CALL_START_DATE = CALL_START_DATE,
                USER_ID         = operb24,
                PHONE_NUMBER    = PHONE_NUMBER,
                TYPE            = TYPE,
                SHOW            = 0,
                CRM_CREATE      = CRM_CREATE,
                LINE_NUMBER     = LINE_NUMBER,
            };
            string contentText2 = JsonConvert.SerializeObject(data).ToString();
            string content;

            using (xNet.HttpRequest request = new xNet.HttpRequest())
            {
                content = request.Post("https://" + B24_URL + "/rest/telephony.externalcall.register.json?auth=" + actok, contentText2, "application/json").ToString();
            }
            var converter = new ExpandoObjectConverter();

            System.Threading.Thread.Sleep(100);
            dynamic       obj      = JsonConvert.DeserializeObject <ExpandoObject>(content, converter);
            List <object> resentry = obj.result.CRM_CREATED_ENTITIES;

            if (resentry.Count == 0)
            {
                ans.CREATED_ENTITY = "0";
            }
            else
            {
                ans.CREATED_ENTITY = "1";
            }
            if (string.IsNullOrEmpty(obj.result.CALL_ID))
            {
                return(null);
            }
            ans.CALL_GUID = obj.result.CALL_ID.ToString();

            string idotv = "";

            if (obj.result.CRM_ENTITY_TYPE.ToString() == "CONTACT")
            {
                ans.SIP_INFO = obj.result.CRM_ENTITY_TYPE;
                string idcont   = obj.result.CRM_ENTITY_ID.ToString();
                string content2 = "";
                using (xNet.HttpRequest request = new xNet.HttpRequest())
                {
                    content2 = request.Get("https://" + B24_URL + "/rest/crm.contact.get.json?id=" + idcont + "&auth=" + actok).ToString();
                }
                dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter);
                idotv = obj2.result.ASSIGNED_BY_ID;
            }
            else if (obj.result.CRM_ENTITY_TYPE.ToString() == "LEAD")
            {
                ans.SIP_INFO = obj.result.CRM_ENTITY_TYPE;
                string idlead   = obj.result.CRM_ENTITY_ID.ToString();
                string content2 = "";
                using (xNet.HttpRequest request = new xNet.HttpRequest())
                {
                    content2 = request.Get("https://" + B24_URL + "/rest/crm.lead.get.json?id=" + idlead + "&auth=" + actok).ToString();
                }
                dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter);
                idotv = obj2.result.ASSIGNED_BY_ID;
            }
            else if (obj.result.CRM_ENTITY_TYPE.ToString() == "COMPANY")
            {
                ans.SIP_INFO = obj.result.CRM_ENTITY_TYPE;
                string idcoo    = obj.result.CRM_ENTITY_ID.ToString();
                string content2 = "";
                using (xNet.HttpRequest request = new xNet.HttpRequest())
                {
                    content2 = request.Get("https://" + B24_URL + "/rest/crm.company.get.json?id=" + idcoo + "&auth=" + actok).ToString();
                }
                dynamic obj2 = JsonConvert.DeserializeObject <ExpandoObject>(content2, converter);
                idotv = obj2.result.ASSIGNED_BY_ID;
            }
            try
            {
                System.Threading.Thread.Sleep(100);
                string content6 = "";
                using (xNet.HttpRequest request = new xNet.HttpRequest())
                {
                    content6 = request.Get("https://" + B24_URL + "/rest/user.get.json?id=" + idotv + "&auth=" + actok).ToString();
                }
                dynamic obj6 = JsonConvert.DeserializeObject <ExpandoObject>(content6, converter);
                ans.CRM_OWNER_NUMBER = obj6.result[0].UF_PHONE_INNER.ToString();
            }
            catch
            {
                ans.SIP_INFO         = "BITRIX_USER_NUMBER";
                ans.CRM_OWNER_NUMBER = "";
            }
            return(ans);
        }
Example #29
0
        private void btnSignup_Click(object sender, EventArgs e)
        {
            if (txtHoTen.Text == "" || txbSignupLink.Text == "" || txbSignupUser.Text == "" || txbSignupPass.Text == "" || txbSignupEmail.Text == "" || txbSignupPhone.Text == "")
            {
                MessageBox.Show("Vui lòng nhập đầy đủ thông tin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //email
            int email = 1;

            try
            {
                MailAddress m = new MailAddress(txbSignupEmail.Text);
                email = 1;
            }
            catch (FormatException)
            {
                email = 0;
            }
            if (email == 0)
            {
                MessageBox.Show("Định dạng Email không đúng, vui lòng nhập lại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txbSignupEmail.Focus();
                return;
            }
            //link fb
            if (!txbSignupLink.Text.Contains("facebook"))
            {
                MessageBox.Show("Link facebook không đúng, vui lòng nhập lại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txbSignupLink.Focus();
                return;
            }


            //max ki tu
            if (txtHoTen.Text.Length > 250)
            {
                MessageBox.Show("Họ tên không được nhập quá 250 ký tự");
                txtHoTen.Focus();
                return;
            }

            if (txbSignupUser.Text.Length >= 251)
            {
                MessageBox.Show("Tài khoản không được nhập quá 250 ký tự");
                txbSignupUser.Focus();
                return;
            }

            if (txbSignupPass.Text.Length >= 251)
            {
                MessageBox.Show("Mật khẩu không được nhập quá 250 ký tự");
                txbSignupPass.Focus();
                return;
            }

            if (txbSignupEmail.Text.Length >= 251)
            {
                MessageBox.Show("Email không được nhập quá 250 ký tự");
                txbSignupEmail.Focus();
                return;
            }

            if (txbSignupPhone.Text.Length >= 251)
            {
                MessageBox.Show("Số điện thoại không được nhập quá 250 ký tự");
                txbSignupPhone.Focus();
                return;
            }

            if (txbSignupLink.Text.Length >= 251)
            {
                MessageBox.Show("Link facebook không được nhập quá 250 ký tự");
                txbSignupLink.Focus();
                return;
            }

            //min ky tu
            if (txbSignupUser.Text.Length < 6)
            {
                MessageBox.Show("Tài khoản phải có từ 6 ký tự trở lên!");
                txbSignupUser.Focus();
                return;
            }
            if (txbSignupPass.Text.Length < 6)
            {
                MessageBox.Show("Mật khẩu phải có từ 6 ký tự trở lên!");
                txbSignupPass.Focus();
                return;
            }

            if (txbSignupPhone.Text.Length < 10)
            {
                MessageBox.Show("Số điện thoại không đúng");
                txbSignupPhone.Focus();
                return;
            }


            //ko có dấu
            if (txbSignupUser.Text != convertToUnSign3(txbSignupUser.Text))
            {
                MessageBox.Show("Tài khoản không được có dấu tiếng tiệt!");
                txbSignupUser.Focus();
                return;
            }
            if (txbSignupPass.Text != convertToUnSign3(txbSignupPass.Text))
            {
                MessageBox.Show("Mật khẩu không được có dấu tiếng tiệt!");
                txbSignupPass.Focus();
                return;
            }
            if (txbSignupEmail.Text != convertToUnSign3(txbSignupEmail.Text))
            {
                MessageBox.Show("Email không được có dấu tiếng tiệt!");
                txbSignupEmail.Focus();
                return;
            }


            #region Khai báo request
            xNet.HttpRequest request = new xNet.HttpRequest();
            request.KeepAlive = true;
            request.Cookies   = new CookieDictionary();
            request.AddHeader(HttpHeader.Accept, "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
            request.AddHeader(HttpHeader.AcceptLanguage, "en-US,en;q=0.5");
            request.UserAgent = Http.ChromeUserAgent();
            #endregion
            string checkIsHave = request.Get(domain + "CheckAccount?RequestKey=" + md5(md5(GetHDDSerialNumber()) + "handsome") + "&MachineSerial=" + md5(GetHDDSerialNumber()) + "&UserName="******"\"", "") == "Error")
            {
                MessageBox.Show("Truy cập không hợp lệ!");
                return;
            }

            if (checkIsHave.Replace("\"", "") == "false")
            {
                string check = request.Post(domain + "Register/?MachineSerial=" + md5(GetHDDSerialNumber()) + "&CustomerName=" + txtHoTen.Text + "&LinkFacebook=" + txbSignupLink.Text + "&UserName="******"&PassWord="******"&Email=" + txbSignupEmail.Text + "&Phone=" + txbSignupPhone.Text).ToString();
                if (check.Replace("\"", "") == "true")
                {
                    MessageBox.Show("Đăng kí tài khoản thành công!");
                    txbUserName.Text  = txbSignupUser.Text;
                    txbPass.Text      = txbSignupPass.Text;
                    pnlLogin.Visible  = true;
                    pnlSignup.Visible = false;
                }
                else
                {
                    MessageBox.Show("Đã có lỗi xảy ra, vui lòng thử lại sau");
                }
            }
            else
            {
                MessageBox.Show("Tên đăng nhập đã tồn tại");
                txbSignupUser.Focus();
            }
        }