Example #1
0
 public ActionResult Index([Bind(Include = "Call_nvc,About_nvc,News_nvc,Row")] Datae datae)
 {
     if (ModelState.IsValid)
     {
         db.Entry(datae).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(datae));
 }
Example #2
0
        // GET: Bot/Dataes

        public ActionResult Index()
        {
            Datae datae = db.Dataes.FirstOrDefault();

            if (datae == null)
            {
                return(HttpNotFound());
            }
            return(View(datae));
        }
Example #3
0
        public async Task <int> Index(Update update)
        {
            // bot.SendTextMessageAsync(Center,"Data Recived",ParseMode.Default,false,false,0,new InlineKeyboardMarkup(new InlineKeyboardButton() { Text="xxx",CallbackData="vvv_ss"}));
            string From;
            string text;
            long   ChatId;



            try
            {
                if (update.Type == UpdateType.Message)
                {
                    ChatId = update.Message.Chat.Id;
                    From   = update.Message.From.Username;
                    text   = update.Message?.Text;


                    if (isBlocleduser(ChatId))
                    {
                        return(0);
                    }


                    if (update.Message.Type == MessageType.Text)
                    {
                        // adel :  75094324
                        #region /Start
                        if (text.ToLower().Equals("/start"))
                        {
                            Datae data = db.Dataes.AsNoTracking().FirstOrDefault();
                            using (Db d2 = new Db())
                            {
                                if (!d2.Users.Any(a => a.ChatID_bint == ChatId))
                                {
                                    Models.User us = new Models.User();
                                    try
                                    { us.Name_nvc = update.Message.From.FirstName + " " + update.Message.From.LastName; }
                                    catch { }
                                    try
                                    {
                                        us.UserName_nvc = update.Message.From.Username;
                                    }
                                    catch { }
                                    us.StartDate_dt = DateTime.Now;
                                    us.ChatID_bint  = ChatId;
                                    d2.Users.Add(us);
                                    d2.SaveChanges();
                                }
                            }
                            await SendMessageAsync(ChatId, data.About_nvc, Keyboard.Main);
                        }
                        #endregion
                        else if (text.Equals(KeyItem.About))
                        {
                            Datae data = db.Dataes.AsNoTracking().FirstOrDefault();
                            await SendMessageAsync(ChatId, data.About_nvc);
                        }
                        else if (text.Equals(KeyItem.Call))
                        {
                            Datae data = db.Dataes.AsNoTracking().FirstOrDefault();
                            await SendMessageAsync(ChatId, data.Call_nvc);
                        }
                        else if (text.Equals(KeyItem.News))
                        {
                            Datae data = db.Dataes.AsNoTracking().FirstOrDefault();
                            await SendMessageAsync(ChatId, data.News_nvc);
                        }
                        else if (text.Equals(KeyItem.SpecialSell))
                        {
                            List <Special> Specials = db.Specials.ToList();
                            foreach (Special sp in Specials)
                            {
                                if (sp.File_vb != null)
                                {
                                    await SendPhotoAsync(ChatId, sp.Text_nvc, sp.File_vb);
                                }
                                else
                                {
                                    await SendMessageAsync(ChatId, sp.Text_nvc);
                                }
                            }
                        }
                        else if (text.Equals(KeyItem.PriceList))
                        {
                            await SendMessageAsync(ChatId, "یکی از موارد زیر را انتخاب نمایید", Keyboard.PriceList);
                        }
                        else if (text.Equals(KeyItem.BackToMain))
                        {
                            await SendMessageAsync(ChatId, "یکی از منو ها را انتخاب نمایید", Keyboard.Main);
                        }


                        else if (text.Equals(KeyItem.ViewImages))
                        {
                            int       PriceListID = db.UserCommands.Find(ChatId).PriceListID_int;
                            PriceList pc          = db.PriceLists.AsNoTracking().Where(a => a.ID_int == PriceListID).FirstOrDefault();
                            await ViewList(ChatId, pc, SendType.img);
                        }
                        else if (text.Equals(KeyItem.ViewList))
                        {
                            string    LastPriceList = db.UserCommands.Find(ChatId).LastPriceList_nvc;
                            PriceList pc            = db.PriceLists.AsNoTracking().Where(a => a.Title_nvc.Equals(LastPriceList)).FirstOrDefault();
                            await ViewList(ChatId, pc, SendType.attachment);
                        }

                        #region Back
                        else if (text.Equals(KeyItem.Back))
                        {
                            await SendMessageAsync(ChatId, "یکی از موارد زیر را انتخاب کنید", Keyboard.PriceList);
                        }
                        #endregion

                        else
                        {
                            PriceList pc = db.PriceLists.AsNoTracking().Where(a => a.Title_nvc.Equals(text)).FirstOrDefault();
                            if (pc == null)
                            {
                                List <PriceList> foundPriceList = db.PriceLists.AsNoTracking().Where(a => a.Title_nvc.Contains(text)).ToList();
                                if (foundPriceList.Count == 0)
                                {
                                    SendMessageAsync(ChatId, "چیزی برای نمایش یافت نشد");
                                }
                                else
                                {
                                    foreach (PriceList p in foundPriceList)
                                    {
                                        ViewList(ChatId, p, SendType.all);
                                    }
                                }
                            }
                            else
                            {
                                UserCommand uc = db.UserCommands.Find(ChatId);
                                if (uc == null)
                                {
                                    db.UserCommands.Add(new UserCommand()
                                    {
                                        chatID_bint = ChatId, LastPriceList_nvc = text, PriceListID_int = pc.ID_int
                                    });
                                    db.SaveChanges();
                                }
                                else
                                {
                                    uc.LastPriceList_nvc = text;
                                    uc.PriceListID_int   = pc.ID_int;
                                    db.Entry(uc).State   = System.Data.Entity.EntityState.Modified;
                                    db.SaveChanges();
                                }
                                await SendMessageAsync(ChatId, "یکی از گزینه های زیر را انتخاب کنید", Keyboard.Option);

                                //InlineKeyboardMarkup mark = new InlineKeyboardMarkup(new InlineKeyboardButton() { CallbackData = $"{pc.ID_int}_getimage", Text = "نمایش تصاویر" });
                                //if (pc.File_vb != null)
                                //    SendDocumentAsync(ChatId, pc.Text_nvc, pc.File_vb, pc.FileName_nvc, mark);
                                //else
                                //    SendMessageAsync(ChatId,pc.Title_nvc, mark);
                            }
                        }
                    }
                }
                //else if (update.Type == UpdateType.CallbackQuery)
                //{
                //   await bot.SendTextMessageAsync(Center, "Callback Recived");
                //    ChatId = update.CallbackQuery.From.Id;
                //    From = update.CallbackQuery.From.Username;
                //    text = update.CallbackQuery.Data;

                //    int PriceListID = text.Split('_')[0].ToInt();
                //    List<Picture> pics = db.Pictures.Where(a => a.PriceList_int == PriceListID).ToList();
                //    if (pics.Count == 0)
                //       await SendMessageAsync(ChatId, "هیچ تصویری برای این آیتم موجود نیست");
                //    else
                //    {
                //        foreach (Picture p in pics)
                //        {
                //           await SendPhotoAsync(ChatId, p.Text_nvc, p.File_vb);
                //        }
                //    }
                //}
            }
            catch (Exception c)
            {
                await bot.SendTextMessageAsync(75094324, "Error :" + c.Message);

                ReportError(c);
                // OnMessageRecived(c.Message, ConsoleColor.Yellow);
            }

            return(0);
        }
Example #4
0
        private static void Bot_OnUpdate(object sender, Telegram.Bot.Args.UpdateEventArgs e)
        {
            string From;
            string text;
            long   ChatId;

            try
            {
                if (e.Update.Type == UpdateType.Message)
                {
                    ChatId = e.Update.Message.Chat.Id;
                    From   = e.Update.Message.From.Username;
                    text   = e.Update.Message?.Text;


                    #region Disable Repeat a Message
                    //try
                    //{
                    //    if (e.Updates.Count() > 1)
                    //    {

                    //        if (e.Update.Type == e.UpdateType.Messagee.Update)
                    //        {
                    //            if (e.Updates[0].Message.Text == e.Updates[1].Message.Text && e.Updates[0].Message.Chat.Id == e.Updates[1].Message.Chat.Id)
                    //                continue;
                    //        }
                    //    }
                    //}
                    //catch{

                    //}
                    #endregion



                    if (e.Update.Message.Type == MessageType.Text)
                    {
                        // adel :  75094324
                        if (text.ToLower().Equals("/start"))
                        {
                            Datae data = db.Dataes.AsNoTracking().FirstOrDefault();
                            using (Db d2 = new Db())
                            {
                                if (!d2.Users.Any(a => a.ChatID_bint == ChatId))
                                {
                                    Model.User us = new Model.User();
                                    try
                                    { us.Name_nvc = e.Update.Message.From.FirstName + " " + e.Update.Message.From.LastName; }
                                    catch { }
                                    try
                                    {
                                        us.UserName_nvc = e.Update.Message.From.Username;
                                    }
                                    catch { }
                                    us.StartDate_dt = DateTime.Now;
                                    us.ChatID_bint  = ChatId;
                                    d2.Users.Add(us);
                                    d2.SaveChanges();
                                }
                            }
                            SendMessageAsync(ChatId, data.About_nvc, Keyboard.Main);
                        }
                        else if (text.Equals(KeyItem.About))
                        {
                            Datae data = db.Dataes.AsNoTracking().FirstOrDefault();
                            SendMessageAsync(ChatId, data.About_nvc);
                        }
                        else if (text.Equals(KeyItem.Call))
                        {
                            Datae data = db.Dataes.AsNoTracking().FirstOrDefault();
                            SendMessageAsync(ChatId, data.Call_nvc);
                        }
                        else if (text.Equals(KeyItem.News))
                        {
                            Datae data = db.Dataes.AsNoTracking().FirstOrDefault();
                            SendMessageAsync(ChatId, data.News_nvc);
                        }
                        else if (text.Equals(KeyItem.SpecialSell))
                        {
                            SendMessageAsync(ChatId, "Special");
                        }
                        else if (text.Equals(KeyItem.PriceList))
                        {
                            SendMessageAsync(ChatId, "یکی از موارد زیر را انتخاب نمایید", Keyboard.PriceList);
                        }
                        else if (text.Equals(KeyItem.BackToMain))
                        {
                            SendMessageAsync(ChatId, "یکی از منو ها را انتخاب نمایید", Keyboard.Main);
                        }
                        else if (text.Equals(KeyItem.ViewImages))
                        {
                            int            PriceListID = db.UserCommands.Find(ChatId).PriceListID_int;
                            List <Picture> pics        = db.Pictures.Where(a => a.PriceList_int == PriceListID).ToList();
                            if (pics.Count == 0)
                            {
                                SendMessageAsync(ChatId, "هیچ تصویری برای این آیتم موجود نیست");
                            }
                            else
                            {
                                foreach (Picture p in pics)
                                {
                                    SendPhotoAsync(ChatId, p.Text_nvc, p.File_vb);
                                }
                            }
                        }
                        else if (text.Equals(KeyItem.ViewList))
                        {
                            string LastPriceList;
                            using (Db d2 = new Db()) {
                                LastPriceList = d2.UserCommands.Find(ChatId).LastPriceList_nvc;
                            }
                            PriceList pc = db.PriceLists.AsNoTracking().Where(a => a.Title_nvc.Equals(LastPriceList)).FirstOrDefault();
                            if (pc == null)
                            {
                                SendMessageAsync(ChatId, "چیزی برای نمایش یافت نشد");
                            }
                            else
                            {
                                if (pc.File_vb != null)
                                {
                                    SendDocumentAsync(ChatId, pc.Text_nvc, pc.File_vb, pc.FileName_nvc);
                                }
                                else
                                {
                                    SendMessageAsync(ChatId, pc.Title_nvc);
                                }
                            }
                        }
                        else if (text.Equals(KeyItem.Back))
                        {
                            SendMessageAsync(ChatId, "یکی از موارد زیر را انتخاب کنید", Keyboard.PriceList);
                        }
                        else
                        {
                            PriceList pc = db.PriceLists.AsNoTracking().Where(a => a.Title_nvc.Equals(text)).FirstOrDefault();
                            if (pc == null)
                            {
                                SendMessageAsync(ChatId, "چیزی برای نمایش یافت نشد");
                            }
                            else
                            {
                                UserCommand uc = db.UserCommands.Find(ChatId);
                                if (uc == null)
                                {
                                    db.UserCommands.Add(new UserCommand()
                                    {
                                        chatID_bint = ChatId, LastPriceList_nvc = text, PriceListID_int = pc.ID_int
                                    });
                                    db.SaveChanges();
                                }
                                else
                                {
                                    uc.LastPriceList_nvc = text;
                                    uc.PriceListID_int   = pc.ID_int;
                                    db.Entry(uc).State   = System.Data.Entity.EntityState.Modified;
                                    db.SaveChanges();
                                }
                                SendMessageAsync(ChatId, "یکی از گزینه های زیر را انتخاب کنید", Keyboard.Option);
                                //InlineKeyboardMarkup mark = new InlineKeyboardMarkup(new InlineKeyboardButton() { CallbackData = $"{pc.ID_int}_getimage", Text = "نمایش تصاویر" });
                                //if (pc.File_vb != null)
                                //    SendDocumentAsync(ChatId, pc.Text_nvc, pc.File_vb, pc.FileName_nvc, mark);
                                //else
                                //    SendMessageAsync(ChatId,pc.Title_nvc, mark);
                            }
                        }
                    }
                }
                //else if (e.Update.Type == UpdateType.CallbackQuery)
                //{
                //    ChatId = e.Update.CallbackQuery.From.Id;
                //    From = e.Update.CallbackQuery.From.Username;
                //    text = e.Update.CallbackQuery.Data;

                //    int PriceListID = text.Split('_')[0].ToInt();
                //    List<Picture> pics = db.Pictures.Where(a => a.PriceList_int == PriceListID).ToList();
                //    if (pics.Count == 0)
                //        SendMessageAsync(ChatId, "هیچ تصویری برای این آیتم موجود نیست");
                //    else
                //    {
                //        foreach (Picture p in pics)
                //        {
                //            SendPhotoAsync(ChatId, p.Text_nvc, p.File_vb);
                //        }
                //    }
                //}
            }
            catch (Exception c)
            {
                // ReportError(c,"Line 240,TripMethod,Recive Updates");
                OnMessageRecived(c.Message, ConsoleColor.Yellow);
            }
        }