protected override void Constructor() { Processing = new OrderProcess(Update); if (Update.Message != null && Update.Message.ReplyToMessage != null) { CommandName = Update.Message.ReplyToMessage.Text; } try { if (base.Argumetns.Count > 0) { OrderId = Argumetns[0]; OrderAdminMsg = new AdminOrderMessage(this.OrderId, FollowerId); OrderPositionListMsg = new OrderPositionListMessage(this.OrderId); FeedBackOfferMsg = new FeedBackOfferMessage(this.OrderId); using (MarketBotDbContext db = new MarketBotDbContext()) Order = db.Orders.Where(o => o.Id == this.OrderId).Include(o => o.OrderConfirm). Include(o => o.OrderDone).Include(o => o.OrderDeleted).Include(o => o.OrderProduct). Include(o => o.Follower).Include(o => o.FeedBack).Include(o => o.OrderAddress).Include(o => o.Invoice).Include(o => o.OrdersInWork).FirstOrDefault(); InvoiceViewMsg = new InvoiceViewMessage(Order.Invoice, Order.Id); } } catch { } }
private async Task <IActionResult> SendInvoice() { try { using (MarketBotDbContext db = new MarketBotDbContext()) { if (Order != null && Order.Invoice != null) { InvoiceViewMsg = new InvoiceViewMessage(Order.Invoice, Order.Id, "BackToMyOrder"); await EditMessage(InvoiceViewMsg.BuildMessage()); return(OkResult); } else { return(NotFoundResult); } } } catch { return(NotFoundResult); } }
private async Task <IActionResult> SendInvoice() { if (Order != null && Order.Invoice != null) { var Invoice = InvoiceFunction.GetInvoiceByOrderId(OrderId); BotMessage = new InvoiceViewMessage(Invoice, OrderId); await EditMessage(BotMessage.BuildMsg()); return(OkResult); } return(OkResult); }
private async Task <IActionResult> CheckPay() { var mess = await CheckPayMsg.BuildMessage(); await AnswerCallback(mess.TextMessage, true); if (mess.Order.Paid == true) { InvoiceViewMsg = new InvoiceViewMessage(mess.Order.Invoice, mess.Order.Id, "BackToMyOrder"); await EditMessage(InvoiceViewMsg.BuildMessage()); await OrderRedirectToAdmins(mess.Order.Id); } return(OkResult); }
private async Task <IActionResult> SaveDurationDay(int BotId, int serviceTypeId, int DayDuration) { try { BotConnectFunction = new BotConnectFunction(); var Invoice = BotConnectFunction.SelectPaidVersion(BotId, serviceTypeId, DayDuration); BotMessage = new InvoiceViewMessage(Invoice, BotId, serviceTypeId); await EditMessage(BotMessage.BuildMsg()); return(OkResult); } catch (Exception e) { await SendMessage(new BotMessage { TextMessage = e.Message }); return(OkResult); } }
/// <summary> /// Сохрнанить /// </summary> /// <returns></returns> private async Task <IActionResult> OrderSave() { Bot.Order.InsertNewOrder insertNewOrder = new Bot.Order.InsertNewOrder(FollowerId, BotInfo); var new_order = insertNewOrder.AddOrder(); if (new_order != null && new_order.Invoice != null) { InvoiceViewMsg = new InvoiceViewMessage(new_order.Invoice, new_order.Id, "BackToMyOrder"); await EditMessage(InvoiceViewMsg.BuildMessage()); } // Если тип платежа "при получении", то отправляем уведомление о новом заказке Админам if (new_order != null && new_order.Invoice == null) { OrderViewMsg = new OrderViewMessage(new_order); await EditMessage(OrderViewMsg.BuildMessage()); await OrderRedirectToAdmins(new_order.Id); } return(OkResult); }
/// <summary> /// Кнопка я оплатил. ПРоверка платежа /// </summary> /// <returns></returns> private async Task <IActionResult> CheckPay() { PaymentsFunction paymentsFunction = new PaymentsFunction(); var invoice = await paymentsFunction.CheckPaidInvoice(OrderId); paymentsFunction.Dispose(); if (invoice != null && invoice.Payment.Count > 0 && invoice.Paid) // платеж найден и счет имеет статут Оплачен { BotMessage = new InvoiceViewMessage(invoice, OrderId); await EditMessage(BotMessage.BuildMsg()); //уведомляем сотрудников о поступлении платежа PaymentViewMessage paymentViewMessage = new PaymentViewMessage(invoice.Payment.LastOrDefault().Id); await SendMessageAllBotEmployeess(paymentViewMessage.BuildMsg()); } else { await AnswerCallback("Платеж не найден", true); } return(OkResult); }
/// <summary> /// Сохрнанить заказ. Перенести все данные из корзины. /// </summary> /// <returns></returns> private async Task <IActionResult> OrderSave() { Orders new_order = null; bool blocked = false; OrderFunction = new OrderFunction(); ConfigurationBot = base.GetConfigurationBot(BotInfo.Id); blocked = FollowerFunction.IsBlocked(FollowerId); if (blocked) { await AnswerCallback("Вы заблокированы администратором системы!", true); } // если в настройках бота указано время работы магазина, то проверяем подходит ли текщее время //под это правило. Если подходит то офрмляем заказ if (!blocked && ConfigurationBot.StartTime != null && ConfigurationBot.EndTime != null && ConfigurationBot.StartTime.Value.Hours <= DateTime.Now.Hour && ConfigurationBot.StartTime.Value <= DateTime.Now.TimeOfDay && ConfigurationBot.EndTime.Value > DateTime.Now.TimeOfDay) { new_order = OrderFunction.CreateOrder(FollowerId, BotInfo); } //Время работы магазина не указано. else if (!blocked && ConfigurationBot.EndTime == null && ConfigurationBot.StartTime == null) { new_order = OrderFunction.CreateOrder(FollowerId, BotInfo); } else { await AnswerCallback("Мы обрабатываем заказы только в период с " + ConfigurationBot.StartTime.ToString() + " и по " + ConfigurationBot.EndTime.ToString(), true); } if (new_order != null && new_order.Invoice != null) { BotMessage = new InvoiceViewMessage(new_order.Invoice, new_order.Id); await EditMessage(BotMessage.BuildMsg()); } if (new_order != null && new_order.Invoice == null) { BotMessage = new OrderViewMessage(new_order); await EditMessage(BotMessage.BuildMsg()); } //то отправляем уведомление о новом заказке Админам if (new_order != null) { BotMessage = new AdminOrderMessage(new_order); var message = BotMessage.BuildMsg(); await SendMessageAllBotEmployeess(message); } OrderFunction.Dispose(); return(OkResult); }