protected override void PageLoad() { base.PageLoad(); int queryString = RequestHelper.GetQueryString <int>("ID"); this.userMessage = UserMessageBLL.ReadUserMessage(queryString, base.UserID); }
/// <summary> /// 添加留言 /// </summary> protected void AddUserMessage() { string result = string.Empty; int messageClass = RequestHelper.GetQueryString <int>("MessageClass"); string title = StringHelper.AddSafe(RequestHelper.GetQueryString <string>("Title")); string content = StringHelper.AddSafe(RequestHelper.GetQueryString <string>("Content")); if (content == string.Empty || content == string.Empty) { result = "请填写标题和内容"; } else { UserMessageInfo userMessage = new UserMessageInfo(); userMessage.MessageClass = messageClass; userMessage.Title = title; userMessage.Content = content; userMessage.UserIP = ClientHelper.IP; userMessage.PostDate = RequestHelper.DateNow; userMessage.IsHandler = (int)BoolType.False; userMessage.AdminReplyContent = string.Empty; userMessage.AdminReplyDate = RequestHelper.DateNow; userMessage.UserId = base.UserId; userMessage.UserName = base.UserName; UserMessageBLL.Add(userMessage); } ResponseHelper.Write(result); ResponseHelper.End(); }
//获取用户短消息 public List <UserMessageInfo> getUserMessage(int pageIndex, int pageSize, int userId, out int RecordCount) { List <UserMessageInfo> list = new List <UserMessageInfo>(); SqlParameter[] parm = new SqlParameter[] { new SqlParameter("@reUserId", userId), new SqlParameter("@pageIndex", pageIndex), new SqlParameter("@pageSize", pageSize), new SqlParameter("@RecordCount", SqlDbType.Int, 4) }; parm[3].Direction = ParameterDirection.Output; using (SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, PEOC_GETUSERMESSAGE, parm)) { while (dr.Read()) { Model.UserMessageInfo item = new UserMessageInfo(); item.Contents = dr["Contents"].ToString(); item.MessageId = Convert.ToInt32(dr["MessageId"]); item.MessageTitle = dr["MessageTitle"].ToString(); item.SendDate = Convert.ToDateTime(dr["SendDate"]).ToShortDateString(); item.SendUserId = Convert.ToInt32(dr["sendUserId"]); List <UsersInfo> templist = getSendMessageUser(item.SendUserId); item.SendUserName = templist[0].UserName; list.Add(item); } } RecordCount = Convert.ToInt32(parm[3].Value); return(list); }
public override async Task HandleAsync(UserMessageInfo userMessageInfo, string argument) { string[] args = argument.Split(' ').ToArray(); const int argsCount = 1; if (args.Length <= argsCount) { await _messenger.SendMessageAsync(userMessageInfo, Resources.CommandWrongArgsCount, true); return; } if (!int.TryParse(args[0], out var money)) { await _messenger.SendMessageAsync(userMessageInfo, Resources.CommandFirstArgMustBeANumber, true); return; } var caption = string.Join(" ", args.Skip(argsCount)); const int commentMinLength = 2; const int commentMaxLength = 50; if (caption.Length < commentMinLength || caption.Length > commentMaxLength) { var msgText = string.Format(Resources.CommentLengthWrong, commentMinLength, commentMaxLength); await _messenger.SendMessageAsync(userMessageInfo, msgText, true); return; } await HandleAsync(userMessageInfo, money, caption); }
public UserMessageInfo ReadUserMessage(int id, int userID) { SqlParameter[] pt = new SqlParameter[] { new SqlParameter("@id", SqlDbType.NVarChar), new SqlParameter("@userID", SqlDbType.Int) }; pt[0].Value = id; pt[1].Value = userID; UserMessageInfo info = new UserMessageInfo(); using (SqlDataReader reader = ShopMssqlHelper.ExecuteReader(ShopMssqlHelper.TablePrefix + "ReadUserMessage", pt)) { if (reader.Read()) { info.ID = reader.GetInt32(0); info.MessageClass = reader.GetInt32(1); info.Title = reader[2].ToString(); info.Content = reader[3].ToString(); info.UserIP = reader[4].ToString(); info.PostDate = reader.GetDateTime(5); info.IsHandler = reader.GetInt32(6); info.AdminReplyContent = reader[7].ToString(); info.AdminReplyDate = reader.GetDateTime(8); info.UserID = reader.GetInt32(9); info.UserName = reader[10].ToString(); info.Mobile = reader[11].ToString(); info.IsChecked = reader.GetInt32(12); } } return(info); }
private IMenu GetMoneyTransferSelectFromMenu(UserMessageInfo userMessageInfo, MoneyTransferQueryData data) { Builder builder = new Builder(); for (int i = 0; i < userMessageInfo.Customers.Length; i++) { if (i % 3 == 0) { builder.AddLine(); } var customer = userMessageInfo.Customers[i]; string query = _queryDataSerializer.EncodeBase64(new MoneyTransferQueryData { Version = MoneyTransferQueryData.ServerVersion, Amount = data.Amount, Caption = data.Caption, ChatToken = data.ChatToken, CustomerFromId = null, CustomerToId = null, TargetId = customer.Id, MenuType = MenuType.MoneyTransferSelectFrom }, MenuType.MoneyTransferSelectFrom); builder.AddButton(customer.Caption + (customer.Id == data.TargetId ? " ☑" : ""), query); } builder.AddLine(); if (data.TargetId.HasValue) { builder.AddButton("Применить", _queryDataSerializer.EncodeBase64(new MoneyTransferQueryData { Version = MoneyTransferQueryData.ServerVersion, Amount = data.Amount, Caption = data.Caption, ChatToken = data.ChatToken, CustomerFromId = data.TargetId, CustomerToId = null, TargetId = null, MenuType = MenuType.MoneyTransferSelectTo }, MenuType.MoneyTransferSelectFrom)); } builder.AddButton("Отменить", _queryDataSerializer.EncodeBase64(new MoneyTransferQueryData { Version = MoneyTransferQueryData.ServerVersion, ChatToken = data.ChatToken, MenuType = MenuType.MoneyTransferCancel }, MenuType.MoneyTransferSelectFrom)); var markUp = builder.Build(); return(new TelegramMenu { MenuType = MenuType.MoneyTransferSelectFrom, Markup = markUp, }); }
public int AddUserMessage(UserMessageInfo userMessage) { SqlParameter[] pt = new SqlParameter[] { new SqlParameter("@messageClass", SqlDbType.Int), new SqlParameter("@title", SqlDbType.NVarChar), new SqlParameter("@content", SqlDbType.NText), new SqlParameter("@userIP", SqlDbType.NVarChar), new SqlParameter("@postDate", SqlDbType.DateTime), new SqlParameter("@isHandler", SqlDbType.Int), new SqlParameter("@adminReplyContent", SqlDbType.NText), new SqlParameter("@adminReplyDate", SqlDbType.DateTime), new SqlParameter("@userID", SqlDbType.Int), new SqlParameter("@userName", SqlDbType.NVarChar), new SqlParameter("@mobile", SqlDbType.NVarChar), new SqlParameter("@parentID", SqlDbType.Int) }; pt[0].Value = userMessage.MessageClass; pt[1].Value = userMessage.Title; pt[2].Value = userMessage.Content; pt[3].Value = userMessage.UserIP; pt[4].Value = userMessage.PostDate; pt[5].Value = userMessage.IsHandler; pt[6].Value = userMessage.AdminReplyContent; pt[7].Value = userMessage.AdminReplyDate; pt[8].Value = userMessage.UserID; pt[9].Value = userMessage.UserName; pt[10].Value = userMessage.Mobile; pt[11].Value = userMessage.ParentID; return(Convert.ToInt32(ShopMssqlHelper.ExecuteScalar(ShopMssqlHelper.TablePrefix + "AddUserMessage", pt))); }
private async void OnCallbackQuery(object sender, Telegram.Bot.Args.CallbackQueryEventArgs e) { try { IQueryData queryData = _queryDataSerializer.DecodeBase64(e.CallbackQuery.Data); Group group = await _groupService.GetByChatTokenAsync(queryData.ChatToken); Customer[] customers = await _customerService.GetListAsync(group.Id); // Собираем всю информацию о пользователе и сообщении. UserMessageInfo userMessageInfo = new UserMessageInfo { Group = group, Customers = customers, UserName = e.CallbackQuery.From.Username, UserToken = e.CallbackQuery.From.Id.ToString(), MessageType = Models.MessageType.Query, Message = new MessageInfo { Token = e.CallbackQuery.Message.MessageId.ToString(), Text = e.CallbackQuery.Message.Text, QueryData = queryData } }; OnMessage?.Invoke(this, userMessageInfo); } catch (Exception ex) { _logger.Error($"{GetType().Name}: Произошла ошибка во время обработки query запроса ", ex); } }
private async Task HandleTextMessageAsync(UserMessageInfo userMessageInfo) { // TODO Вынести проверку на верхний уровень. if (!_messageHandlersMap.ContainsKey(MessageType.Text)) { _logger.Warning("Не зарегистрировано ни одного обработчика текстовых команд."); return; } _logger.Trace($"@{userMessageInfo.UserName} прислал сообщение. Длина сообщения: {userMessageInfo.Message.Text.Length}"); // Читаем только команды. string text = userMessageInfo.Message.Text; if (!text.StartsWith("/")) { await _messenger.SendMessageAsync(userMessageInfo, Resources.UnknownMessageFormat, true); return; } var command = text.GetCommand(out _); var handler = _messageHandlersMap[MessageType.Text] .OfType <TextCommandMessageHandler>() .FirstOrDefault(x => x.Command.Equals(command, StringComparison.OrdinalIgnoreCase)); if (handler == null) { await _messenger.SendMessageAsync(userMessageInfo, Resources.UnknownCommandType, true); return; } await handler.HandleAsync(userMessageInfo); }
public async Task HandleAsync(UserMessageInfo userMessageInfo, int amount, string caption) { BillingPeriod lastBillingPeriod = await _billingPeriodService.GetLastByGroupIdAsync(userMessageInfo.Group.Id); if (lastBillingPeriod == null) { await _messenger.SendMessageAsync(userMessageInfo, "В группе ещё не начат ни один расчётный период", true); return; } var newReceipt = await _receiptService.AddAsync(new Receipt { BillingPeriodId = lastBillingPeriod.Id, TotalAmount = amount, Status = ReceiptStatus.NewManual, Comment = caption }); IMenu menu = _menuProvider.GetMenu(userMessageInfo, new AddReceiptQueryData { MenuType = MenuType.NewReceiptSelectCustomer, ReceiptId = newReceipt.Id, SelectedCustomerId = null, SelectedConsumerIds = new long[0], TargetId = null, Version = AddReceiptQueryData.ServerVersion, }); await _messenger.SendMessageAsync(userMessageInfo, Resources.SelectCustomer, true, menu); }
private IMenu GetNewReceiptSelectCustomerMenu(UserMessageInfo userMessageInfo, AddReceiptQueryData data) { Builder builder = new Builder(); for (int i = 0; i < userMessageInfo.Customers.Length; i++) { if (i % 3 == 0) { builder.AddLine(); } var customer = userMessageInfo.Customers[i]; string query = _queryDataSerializer.EncodeBase64(new AddReceiptQueryData { Version = AddReceiptQueryData.ServerVersion, ChatToken = userMessageInfo.Group.ChatToken, ReceiptId = data.ReceiptId, MenuType = MenuType.NewReceiptSelectCustomer, SelectedConsumerIds = data.SelectedConsumerIds, SelectedCustomerId = data.TargetId, TargetId = customer.Id, }, MenuType.NewReceiptSelectCustomer); builder.AddButton(customer.Caption + (customer.Id == data.TargetId ? " ☑" : ""), query); } builder.AddLine(); if (data.TargetId.HasValue) { builder.AddButton("Применить", _queryDataSerializer.EncodeBase64(new AddReceiptQueryData { Version = AddReceiptQueryData.ServerVersion, ChatToken = userMessageInfo.Group.ChatToken, ReceiptId = data.ReceiptId, MenuType = MenuType.NewReceiptSelectConsumers, SelectedConsumerIds = data.SelectedConsumerIds, SelectedCustomerId = data.SelectedCustomerId.Value, TargetId = null, }, MenuType.NewReceiptSelectCustomer)); } builder.AddButton("Отменить", _queryDataSerializer.EncodeBase64(new AddReceiptQueryData { Version = AddReceiptQueryData.ServerVersion, ChatToken = userMessageInfo.Group.ChatToken, ReceiptId = data.ReceiptId, MenuType = MenuType.NewReceiptCancel }, MenuType.NewReceiptSelectCustomer)); var markUp = builder.Build(); return(new TelegramMenu { MenuType = MenuType.NewReceiptSelectCustomer, Markup = markUp, }); }
/// <summary> /// 在线咨询 /// </summary> protected void AskOnline() { string errorMsg = string.Empty; int messageType = 6; string name = StringHelper.SearchSafe(RequestHelper.GetForm <string>("Name")); string email = StringHelper.SearchSafe(RequestHelper.GetForm <string>("Email")); string Tel = StringHelper.SearchSafe(RequestHelper.GetForm <string>("Tel")); string Content = StringHelper.SearchSafe(RequestHelper.GetForm <string>("Content")); string safeCode = StringHelper.SearchSafe(RequestHelper.GetForm <string>("SafeCode")); //检查验证码 if (errorMsg == string.Empty) { if (safeCode.ToLower() != Cookies.Common.CheckCode.ToLower()) { errorMsg = "验证码错误"; Response.Write("error|" + errorMsg); Response.End(); } } if (errorMsg == string.Empty) { try { UserMessageInfo userMessage = new UserMessageInfo(); userMessage.MessageClass = messageType; userMessage.UserIP = ClientHelper.IP; userMessage.PostDate = RequestHelper.DateNow; userMessage.IsHandler = (int)BoolType.False; userMessage.AdminReplyContent = string.Empty;; userMessage.AdminReplyDate = RequestHelper.DateNow; userMessage.UserId = 0; userMessage.Title = string.Empty; userMessage.UserName = name; userMessage.Tel = Tel; userMessage.Email = email; userMessage.Content = Content; UserMessageBLL.Add(userMessage); Response.Clear(); Response.Write("ok|提交成功"); } catch (Exception ex) { //Response.Write("error|" + StringHelper.Substring(ex.ToString(), 10)); Response.Clear(); Response.Write("error|" + "出错了,请稍后重试"); } finally { Response.End(); } } }
/// <summary> /// 页面加载 /// </summary> protected override void PageLoad() { base.PageLoad(); int id = RequestHelper.GetQueryString <int>("ID"); userMessage = UserMessageBLL.Read(id, base.UserId); user = UserBLL.ReadUserMore(base.UserId); userGradeName = UserGradeBLL.Read(base.GradeID).Name; }
public int Add(UserMessageInfo entity) { using (var conn = new SqlConnection(connectString)) { string sql = @"INSERT INTO UsrMessage( MessageClass,Title,Content,UserIP,PostDate,IsHandler,AdminReplyContent,AdminReplyDate,UserId,UserName,[Tel],[Email],[Gender],[Birthday],[Birthplace],[LivePlace],[Address],[Servedays],[Servemode],[AddCol1],[AddCol2]) VALUES(@MessageClass,@Title,@Content,@UserIP,@PostDate,@IsHandler,@AdminReplyContent,@AdminReplyDate,@UserId,@UserName,@Tel,@Email,@Gender,@Birthday,@Birthplace,@LivePlace,@Address,@Servedays,@Servemode,@AddCol1,@AddCol2); select SCOPE_IDENTITY()"; return(conn.Query <int>(sql, entity).Single()); } }
public void Update(UserMessageInfo entity) { using (var conn = new SqlConnection(connectString)) { string sql = @"UPDATE UsrMessage SET MessageClass = @MessageClass, Title = @Title, Content = @Content, UserIP = @UserIP, PostDate = @PostDate, IsHandler = @IsHandler, AdminReplyContent = @AdminReplyContent, AdminReplyDate = @AdminReplyDate, UserId = @UserId, UserName = @UserName where Id=@Id"; conn.Execute(sql, entity); } }
public override async Task HandleAsync(UserMessageInfo userMessageInfo, string argument) { if (!string.IsNullOrEmpty(argument)) { await _messenger.SendMessageAsync(userMessageInfo, Resources.CommandWrongArgsCount, true); return; } await HandleAsync(userMessageInfo); }
public async Task HandleAsync(UserMessageInfo userMessageInfo) { if (userMessageInfo.Message.QueryData is TQueryData) { throw new ArgumentException($"параметр должен быть типа {typeof(TQueryData)}, а не {userMessageInfo.Message.QueryData.GetType()}", nameof(userMessageInfo.Message.QueryData)); } // ReSharper disable once PossibleInvalidCastException await HandleAsync(userMessageInfo, (TQueryData)userMessageInfo.Message.QueryData); }
public async Task HandleAsync(UserMessageInfo userMessageInfo) { ReceiptMainInfo data = userMessageInfo.Message.ReceiptInfo; if (data == null) { await Messenger.SendMessageAsync(userMessageInfo, Resources.ParsePhotoError, true); Logger.Trace(Resources.ParsePhotoError); return; } BillingPeriod lastBillingPeriod = await _billingPeriodService.GetLastByGroupIdAsync(userMessageInfo.Group.Id); if (lastBillingPeriod == null) { await Messenger.SendMessageAsync(userMessageInfo, Resources.BillingPeriodNotCreated, true); return; } var receipt = new Receipt { BillingPeriodId = lastBillingPeriod.Id, TotalAmount = data.TotalAmount, FiscalSign = data.FiscalSign, FiscalDocument = data.FiscalDocument, FiscalNumber = data.FiscalNumber, PurchaseTime = data.PurchaseTime, Status = ReceiptStatus.New, Comment = "Чек", }; if (await ReceiptService.IsReceiptExists(receipt)) { await Messenger.SendMessageAsync(userMessageInfo, Resources.ReceiptAlredyAdded, true); return; } var newReceipt = await ReceiptService.AddAsync(receipt); IMenu menu = MenuProvider.GetMenu(userMessageInfo, new AddReceiptQueryData { MenuType = MenuType.NewReceiptSelectCustomer, ReceiptId = newReceipt.Id, SelectedCustomerId = null, SelectedConsumerIds = new long[0], TargetId = null, Version = AddReceiptQueryData.ServerVersion, }); await Messenger.SendMessageAsync(userMessageInfo, Resources.SelectCustomer, true, menu); }
private async Task HandlePhotoMessageAsync(UserMessageInfo userMessageInfo) { // TODO Вынести проверку на верхний уровень. if (!_messageHandlersMap.ContainsKey(MessageType.QrCode)) { _logger.Warning("Не зарегистрирован обработчик фото с QR кодом."); return; } var handler = _messageHandlersMap[MessageType.QrCode].Single(); await handler.HandleAsync(userMessageInfo); }
public async Task SendMessageAsync(UserMessageInfo userMessageInfo, string text, bool isReply = false, IMenu menu = null) { var replyToMessageId = isReply ? int.Parse(userMessageInfo.Message.Token) : 0; if (menu != null && menu.GetType() != typeof(TelegramMenu)) { throw new ArgumentException($"{GetType().Name} может работать только с {nameof(IMenu)} типа {nameof(TelegramMenu)}"); } var telegramMenu = menu as TelegramMenu; await _client.SendTextMessageAsync(userMessageInfo.Group.ChatToken, text, replyToMessageId : replyToMessageId, replyMarkup : telegramMenu?.Markup); }
/// <summary> /// 添加留言 /// </summary> protected void AddUserMessage() { string result = string.Empty; int messageClass = RequestHelper.GetQueryString <int>("MessageClass"); string title = StringHelper.AddSafe(RequestHelper.GetQueryString <string>("Title")); string content = StringHelper.AddSafe(RequestHelper.GetQueryString <string>("Content")); string userMessageCookies = CookiesHelper.ReadCookieValue("UserMessageCookies" + base.UserId.ToString()); if (content == string.Empty || content == string.Empty) { result = "请填写标题和内容"; } else { if (ShopConfig.ReadConfigInfo().CommentRestrictTime > 0 && !string.IsNullOrEmpty(userMessageCookies)) { string[] strArray = userMessageCookies.Split(new char[] { '|' }); string _userId = strArray[0]; string _title = strArray[1]; string _content = strArray[2]; //如果该用户在限制时间内提交过相同title或content的内容,则不能再频繁提交 if (_userId == base.UserId.ToString() && (title == Server.UrlDecode(_title) || content == (Server.UrlDecode(_content)))) { result = "请不要频繁提交相似留言"; } } } if (string.IsNullOrEmpty(result)) { UserMessageInfo userMessage = new UserMessageInfo(); userMessage.MessageClass = messageClass; userMessage.Title = title; userMessage.Content = content; userMessage.UserIP = ClientHelper.IP; userMessage.PostDate = RequestHelper.DateNow; userMessage.IsHandler = (int)BoolType.False; userMessage.AdminReplyContent = string.Empty; userMessage.AdminReplyDate = RequestHelper.DateNow; userMessage.UserId = base.UserId; userMessage.UserName = base.UserName; UserMessageBLL.Add(userMessage); if (ShopConfig.ReadConfigInfo().CommentRestrictTime > 0) { string cookieValue = base.UserId + "|" + Server.UrlEncode(title) + "|" + Server.UrlEncode(content); CookiesHelper.AddCookie("UserMessageCookies" + base.UserId.ToString(), cookieValue, ShopConfig.ReadConfigInfo().CommentRestrictTime, TimeType.Second); } } ResponseHelper.Write(result); ResponseHelper.End(); }
protected void Page_Load(object sender, EventArgs e) { styleid = RequestHelper.GetQueryString <int>("StryleID"); if (!Page.IsPostBack) { int userMessageID = RequestHelper.GetQueryString <int>("ID"); if (userMessageID != int.MinValue) { CheckAdminPower("ReadUserMessage", PowerCheckType.Single); userMessage = UserMessageBLL.Read(userMessageID); AdminReplyContent.Text = userMessage.AdminReplyContent; } } }
private static void Prefix(ref Chat __instance, ref GameObject go, ref long senderID, ref Vector3 pos, ref Talker.Type type, ref string user, ref string text) { // Add the last received message of a specific user so that we can format the floating text later. var userInfo = new UserMessageInfo() { GameObject = go, Position = pos, SenderID = senderID, Type = type, User = user, Text = text }; VChatPlugin.ReceivedMessageInfo.AddOrUpdate(senderID, userInfo, (key, oldValue) => userInfo); }
public async Task HandleAsync(UserMessageInfo userMessageInfo) { var currentBilling = await _billingPeriodService.GetLastByGroupIdAsync(userMessageInfo.Group.Id); var debts = await _mainLogicService.CalculatePeriodCurrentDebts(currentBilling.Id); string[] debtsMessages = debts.Select(x => { string from = userMessageInfo.Customers.First(c => c.Id == x.FromId).Caption; string to = userMessageInfo.Customers.First(c => c.Id == x.ToId).Caption; return($"* {from} должен {to}: {(int) x.Amount}р."); }).ToArray(); await _messenger.SendMessageAsync(userMessageInfo, $"Промежуточный итог долгов на период с {currentBilling.PeriodBegin}:\n{string.Join("\n", debtsMessages)}", true); }
protected void Page_Load(object sender, EventArgs e) { if (!this.Page.IsPostBack) { int queryString = RequestHelper.GetQueryString <int>("ID"); if (queryString != -2147483648) { base.CheckAdminPower("ReadUserMessage", PowerCheckType.Single); this.userMessage = UserMessageBLL.ReadUserMessage(queryString, 0); this.IsHandler.Text = this.userMessage.IsHandler.ToString(); this.AdminReplyContent.Text = this.userMessage.AdminReplyContent; this.IsChecked.Text = this.userMessage.IsChecked.ToString(); } } }
public async Task HandleAsync(UserMessageInfo userMessageInfo, int amount, string caption) { IMenu menu = _menuProvider.GetMenu(userMessageInfo, new MoneyTransferQueryData { Version = MoneyTransferQueryData.ServerVersion, Amount = amount, Caption = caption, ChatToken = userMessageInfo.Group.ChatToken, CustomerFromId = null, CustomerToId = null, MenuType = MenuType.MoneyTransferSelectFrom, TargetId = null }); await _messenger.SendMessageAsync(userMessageInfo, Resources.MoneyTransferSelectFrom, true, menu); }
public void UpdateUserMessage(UserMessageInfo userMessage) { SqlParameter[] pt = new SqlParameter[] { new SqlParameter("@id", SqlDbType.Int), new SqlParameter("@isHandler", SqlDbType.Int), new SqlParameter("@adminReplyContent", SqlDbType.NText), new SqlParameter("@adminReplyDate", SqlDbType.DateTime), new SqlParameter("@isChecked", SqlDbType.Int) }; pt[0].Value = userMessage.ID; pt[1].Value = userMessage.IsHandler; pt[2].Value = userMessage.AdminReplyContent; pt[3].Value = userMessage.AdminReplyDate; pt[4].Value = userMessage.IsChecked; ShopMssqlHelper.ExecuteNonQuery(ShopMssqlHelper.TablePrefix + "UpdateUserMessage", pt); }
public IMenu GetMenu(UserMessageInfo userMessageInfo, IQueryData data) { // Todo Проверка №2. Надо перенести в одно место. switch (data.MenuType) { case MenuType.NewReceiptSelectCustomer: return(GetNewReceiptSelectCustomerMenu(userMessageInfo, (AddReceiptQueryData)data)); case MenuType.NewReceiptSelectConsumers: return(GetNewReceiptSelectConsumersMenu(userMessageInfo, (AddReceiptQueryData)data)); case MenuType.MoneyTransferSelectFrom: return(GetMoneyTransferSelectFromMenu(userMessageInfo, (MoneyTransferQueryData)data)); case MenuType.MoneyTransferSelectTo: return(GetMoneyTransferSelectToMenu(userMessageInfo, (MoneyTransferQueryData)data)); } return(null); }
public async Task HandleAsync(UserMessageInfo userMessageInfo) { if (!userMessageInfo.IsAdmin()) { await _messenger.SendMessageAsync(userMessageInfo, "Только создатель группы может создать новый расчётный период", true); return; } ClosingPeriodResult newPeriodResult = await _mainLogicService.CloseCurrentAndOpenNewPeriod(userMessageInfo.Group.Id); var namesMap = userMessageInfo.Customers.ToDictionary(x => x.Id, x => x.Caption); string debts = string.Join("\n", newPeriodResult.Debts .Select(x => $"* `{namesMap[x.CustomerFromId]}` должен отдать `{namesMap[x.CustomerToId]}` {x.Amount}р.")); await _messenger.SendMessageAsync(userMessageInfo, $"Был начат новый период, долги за предыдущий составляют:\n{debts}", true); }
protected void SubmitButton_Click(object sender, EventArgs e) { UserMessageInfo userMessage = new UserMessageInfo(); userMessage.Id = RequestHelper.GetQueryString <int>("ID"); if (userMessage.Id > 0) { userMessage = UserMessageBLL.Read(userMessage.Id); userMessage.IsHandler = RequestHelper.GetForm <int>("IsHandler"); userMessage.AdminReplyContent = AdminReplyContent.Text; userMessage.AdminReplyDate = RequestHelper.DateNow; CheckAdminPower("UpdateUserMessage", PowerCheckType.Single); UserMessageBLL.Update(userMessage); AdminLogBLL.Add(ShopLanguage.ReadLanguage("UpdateRecord"), ShopLanguage.ReadLanguage("UserMessage"), userMessage.Id); } ScriptHelper.Alert(ShopLanguage.ReadLanguage("OperateOK"), RequestHelper.RawUrl); }