示例#1
0
        /// <summary>
        /// Добавление пользователя
        /// </summary>
        /// <param name="recipientID"></param>
        /// <param name="isJoinGroup"></param>
        /// <returns></returns>
        public MFCBotContext AddBotUser(string recipientID, bool isJoinGroup = false)
        {
            try
            {
                var btusr = new Models.MFCModels.BotUser();

                if (isJoinGroup)
                {
                    btusr.JoinGroupDate = DateTime.Now;
                }

                btusr.BotUserVKID      = recipientID;
                btusr.Locale           = "ru_RU";
                btusr.LastActivityDate = DateTime.Now;

                //данные для мфц
                btusr.NowIs     = MFCBotWhatIsHappeningNow.SettingOffice;
                btusr.TalonID   = 0;
                btusr.OfficeID  = 0;
                btusr.ServiceID = 0;

                BotUser.Add(btusr);
                SaveChanges();
                return(this);
            }
            catch (Exception exc)
            {
                Logging.Logger.Error(exc);
                return(null);
            }
        }
示例#2
0
        /// <summary>
        /// Добавление пользователя
        /// </summary>
        /// <param name="recipientID"></param>
        /// <param name="isJoinGroup"></param>
        /// <returns></returns>
        public VodBotContext AddBotUser(string recipientID)
        {
            try
            {
                var btusr = new Models.VodModels.BotUser();

                btusr.BotUserVKID      = recipientID;
                btusr.Locale           = "ru_RU";
                btusr.LastActivityDate = DateTime.Now;
                btusr.NowIs            = Helpers.VodBotWhatIsHappeningNow.AddPhoto;

                BotUser.Add(btusr);
                SaveChanges();
                return(this);
            }
            catch (Exception exc)
            {
                Logging.Logger.Error(exc);
                return(null);
            }
        }
示例#3
0
        /// <summary>
        /// Добавление пользователя в базу
        /// </summary>
        /// <param name="type"></param>
        /// <param name="Bot"></param>
        /// <param name="recepientID"></param>
        /// <param name="first_name"></param>
        /// <param name="last_name"></param>
        /// <returns></returns>
        public MallBotContext AddBotUser(SocialNetworkType type, object Bot, string recepientID, string first_name = "", string last_name = "")
        {
            try
            {
                var btusr = new BotUser();

                byte   sex    = 0;
                string bdate  = "";
                string locale = "ru_RU";
                VK     vk     = null;

                FacebookApiHelper facebook = null;

                if (type == SocialNetworkType.VK)
                {
                    //Запрашиваем данные о юзере в vk
                    vk = (VK)Bot;
                    var obj = AsyncHelper.RunSync(() => vk.GetUsersInformation(ulong.Parse(recepientID)));
                    if (obj.ToString()[0] == '¡')
                    {
                        Logging.Logger.Error("VK. GetUsersInformation", obj.ToString());
                    }
                    else
                    {
                        var VKuser = (VKResponceUser)obj;

                        sex        = VKuser.response[0].sex;
                        first_name = VKuser.response[0].first_name;
                        last_name  = VKuser.response[0].last_name;
                        bdate      = VKuser.response[0].bdate;
                    }
                    btusr.BotUserVKID = recepientID;
                }

                if (type == SocialNetworkType.Telegram)
                {
                    btusr.BotUserTelegramID = recepientID;
                }

                if (type == SocialNetworkType.Facebook)
                {
                    facebook = (FacebookApiHelper)Bot;

                    object obj = AsyncHelper.RunSync(() => facebook.GetUsersInformation(recepientID.ToString()));
                    if (obj.ToString()[0] == '¡')
                    {
                        Logging.Logger.Error("Facebook. GetUsersInformation", obj.ToString());
                    }
                    else
                    {
                        var facebookUser = (FacebookUser)obj;
                        if (facebookUser.gender == "male")
                        {
                            sex = 2;
                        }
                        else
                        {
                            sex = 1;
                        }
                        first_name = facebookUser.first_name;
                        last_name  = facebookUser.last_name;

                        if (facebookUser.locale != "ru_RU")
                        {
                            locale = "en_EN";
                        }
                    }
                    btusr.BotUserFacebookID = recepientID;
                }

                btusr.LevelTutorial = 0;

                if (sex != 0)
                {
                    btusr.Male = sex.ToString();
                }

                if (!string.IsNullOrWhiteSpace(first_name) || !string.IsNullOrWhiteSpace(last_name))
                {
                    btusr.Name = first_name + " " + last_name;
                }

                if (!string.IsNullOrWhiteSpace(bdate))
                {
                    string[] data = bdate.Split('.');
                    if (data.Count() == 3)
                    {
                        btusr.DateOfBirth = new DateTime(int.Parse(data[2]), int.Parse(data[1]), int.Parse(data[0]));
                    }
                    else if (data.Count() == 2)
                    {
                        btusr.DateOfBirth = new DateTime(2096, int.Parse(data[1]), int.Parse(data[0]));
                    }
                }

                btusr.Locale              = locale;
                btusr.IsTestMode          = 0;
                btusr.NowIs               = MallBotWhatIsHappeningNow.SettingCustomer;
                btusr.CustomerCompositeID = "newuser";
                btusr.LastActivityDate    = DateTime.Now;

                BotUser.Add(btusr);
                SaveChanges();

                return(this);
            }
            catch (Exception exc)
            {
                Logging.Logger.Error(exc);
                return(this);
            }
        }