Example #1
0
 private BotGoldReportUserData AddUser(BotGoldReportUserData user)
 {
     using (var db = new KiaGalleryMainEntities())
     {
         var userEntity = db.BotGoldReportUserData.FirstOrDefault(x => x.ChatId == user.ChatId);
         if (userEntity == null)
         {
             user.CreatedDate = DateTime.Now;
             user.BotUserType = 0;
             db.BotGoldReportUserData.Add(user);
         }
         else
         {
             userEntity.UserType  = user.UserType;
             userEntity.UserId    = user.UserId;
             userEntity.ChatId    = user.ChatId;
             userEntity.FirstName = user.FirstName;
             userEntity.LastName  = user.LastName;
             userEntity.Username  = user.Username;
         }
         db.SaveChanges();
         user.BranchId = userEntity.BranchId;
         return(userEntity);
     }
 }
Example #2
0
        private void sendGoldReport()
        {
            using (var db = new KiaGalleryMainEntities())
            {
                var data = db.BranchGolds.Where(x => x.CreateDate >= DateTime.Today).GroupBy(x => x.Branches).Select(y => new
                {
                    weight = y.OrderByDescending(x => x.Id).Select(x => x.Weight).FirstOrDefault(),
                    price  = y.OrderByDescending(x => x.Id).Select(x => x.Price).FirstOrDefault(),
                    branch = y.Key.Name
                }).ToList();

                var    persianDate = DateUtility.GetPersianDate(DateTime.Now);
                double sum         = data.Sum(x => x.weight);
                long   priceSum    = data.Sum(x => x.price);
                var    rate        = priceSum / sum * 4.3318;
                string message     = persianDate + "\nجمع کل: " + sum + " گرم" + "\n جمع قیمت: " + Core.ToSeparator(priceSum) + " ریال " + " \nمیانگین مظنه: " + Core.ToSeparator(rate) + " ریال " + "\n";

                foreach (var item in data)
                {
                    message += "شعبه " + item.branch + ": " + item.weight + " گرم " + Core.ToSeparator(item.price) + " ریال \n";
                }

                if (sum > 0)
                {
                    var user = db.BotGoldReportUserData.Where(x => x.BotUserType == 1).ToList();
                    user.ForEach(x =>
                    {
                        var task = Bot.SendTextMessageAsync(x.ChatId, message.Trim());
                        task.Wait();
                    });
                }
            }
        }