示例#1
0
        public bool Insert(TokenChange f)
        {
            WebClient client = new WebClient();

            /* GetSelectByName_HttpGet */
            String data = JsonConvert.SerializeObject(f);

            client.Headers[HttpRequestHeader.ContentType] = "application/json";
            client.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8");
            client.Encoding = Encoding.UTF8;
            String response = client.UploadString(new Uri(URL + "api/account"), "POST", data);

            return(Boolean.Parse(response));
        }
 public IHttpActionResult Insert(TokenChange tokenChange)
 {
     return(Json(new LoginBUS().InsertAccount(tokenChange.user, tokenChange.username, tokenChange.token)));
 }
 public IHttpActionResult Delete(TokenChange tokenChange)
 {
     return(Json(new LoginBUS().DeleteAccount(tokenChange.user, tokenChange.username, tokenChange.token)));
 }
示例#4
0
        public IActionResult CreateNewBotForSales(TokenChange tokenModel, BotType botType)
        {
            int accountId = (int)HttpContext.Items["accountId"];

            try
            {
                string token         = tokenModel?.Token;
                string botUsername   = new TelegramBotClient(token).GetMeAsync().Result.Username;
                string jsonBotMarkup = localizer[botType.ToString()];

                int statusGroupId = contextDb.OrderStatusGroups.First(stat => stat.OwnerId == accountId).Id;



                //нужно установить групппу статусов
                if (jsonBotMarkup.Contains("1000001"))
                {
                    jsonBotMarkup = jsonBotMarkup.Replace("1000001", statusGroupId.ToString());
                }


                BotDB bot = new BotDB
                {
                    OwnerId = accountId,
                    BotType = "BotForSales",
                    Token   = token,
                    BotName = botUsername,
                    Markup  = jsonBotMarkup
                };

                contextDb.Bots.Add(bot);

                //Создание статистики для бота
                BotForSalesStatistics botForSalesStatistics = new BotForSalesStatistics
                {
                    Bot = bot, NumberOfOrders = 0, NumberOfUniqueMessages = 0, NumberOfUniqueUsers = 0
                };

                contextDb.BotForSalesStatistics.Add(botForSalesStatistics);

                try
                {
                    contextDb.SaveChanges();
                }
                catch (Exception exception)
                {
                    throw new TokenMatchException("Возможно в базе уже есть этот бот", exception);
                }

                return(RedirectToAction("SalesTreeEditor", "BotForSalesEditing", new { botId = bot.Id }));
            }
            catch (TokenMatchException ex)
            {
                logger.Log(LogLevel.USER_ERROR, Source.WEBSITE, $"Сайт. Создание нового бота. При " +
                           $"запросе botUsername было выброшено исключение (возможно, введённый" +
                           $"токен был специально испорчен)" + ex.Message, accountId: accountId);

                ModelState.AddModelError("", "Этот бот уже зарегистрирован.");
            }
            catch (Exception ee)
            {
                logger.Log(LogLevel.USER_ERROR, Source.WEBSITE, $"Сайт. Создание нового бота. При " +
                           $"запросе botUsername было выброшено исключение (возможно, введённый" +
                           $"токен был специально испорчен)" + ee.Message, accountId: accountId);

                ModelState.AddModelError("", "Ошибка обработки токена.");
            }


            return(View("BotForSalesTokenEntry"));
        }