public static decimal GetDiscountAlc(this OrderFlight orderFlight, bool alc) { if (orderFlight.DishPackages == null) { return(0); } if (orderFlight.OrderStatus == OrderStatus.Cancelled) { return(0); } if (orderFlight.OrderDishesSumm == 0) { return(0); } if (!alc) { if (orderFlight.GetOrderSummByAlc(true) == 0) { return(orderFlight.DiscountSumm); } else { return(Math.Round(orderFlight.DiscountSumm * (orderFlight.GetOrderSummByAlc(false) / orderFlight.OrderDishesSumm))); } } else { return(orderFlight.DiscountSumm - orderFlight.GetDiscountAlc(false)); } }
public override Style SelectStyle(object item, DependencyObject container) { if (item is OrderFlight) { OrderFlight club = item as OrderFlight; if (club.OrderStatus == OrderStatus.InWork) { return(WhiteStyle); } else if (club.OrderStatus == OrderStatus.Sent) { return(LightBlueStyle); } else if (club.OrderStatus == OrderStatus.Cancelled) { return(RedStyle); } else if (club.OrderStatus == OrderStatus.CancelledWithRemains) { return(RoseStyle); } else if (club.OrderStatus == OrderStatus.Closed) { return(CloseStyle); } else { return(WhiteStyle); } } if (item is OrderToGo) { OrderToGo club = item as OrderToGo; if (club.OrderStatus == OrderStatus.InWork) { return(WhiteStyle); } else if (club.OrderStatus == OrderStatus.Sent) { return(LightBlueStyle); } else if (club.OrderStatus == OrderStatus.Cancelled) { return(RedStyle); } else if (club.OrderStatus == OrderStatus.CancelledWithRemains) { return(RoseStyle); } else if (club.OrderStatus == OrderStatus.Closed) { return(CloseStyle); } else { return(WhiteStyle); } } return(null); }
public bool UpdateClosingCheck(OrderFlight ord, bool FRPreented, bool PreCheckPreented) { try { Utils.ToLog("UpdateClosingCheck " + ord.Id); var client = GetClient(); if (client == null) { return(false);; } ord.NeedPrintFR = false; ord.NeedPrintPrecheck = false; ord.FRPrinted = FRPreented; ord.PreCheckPrinted = PreCheckPreented; var res = client.UpdateOrderFlight(ord, 1); if (!res.Success) { Utils.ToLog("Error UpdateClosingCheck from service" + res.ErrorMessage); return(false); } Utils.ToLog("UpdateClosingCheck ok" + ord.Id); return(true); } catch (Exception e) { Utils.ToLog("Error UpdateClosingCheck " + e.Message); return(false); } }
public ActionResult DeleteConfirmed(Guid id) { OrderFlight orderFlight = db.OrderFlight.Find(id); db.OrderFlight.Remove(orderFlight); db.SaveChanges(); return(RedirectToAction("Index")); }
public void SetOrder(OrderFlight order) { orderFlight = order; if (orderFlight != null) { orderFlight.PropertyChanged += Order_PropertyChanged; } ChangeOrder(); }
private void TryDeleteOrderFromMDic(OrderFlight order) { DateTime month = GetMonth(order.DeliveryDate); List <OrderFlight> res; if (dOrders.TryGetValue(month, out res)) { res.Remove(order); } }
private void TryAddOrderToMDic(OrderFlight order) { DateTime month = GetMonth(order.DeliveryDate); List <OrderFlight> res; if (dOrders.TryGetValue(month, out res)) { res.Add(order); } }
public static decimal GetOrderDishesSummByAlc(this OrderFlight orderFlight, bool alc) { if (orderFlight.DishPackages == null) { return(0); } if (orderFlight.OrderStatus == OrderStatus.Cancelled) { return(0); } return(orderFlight.DishPackagesNoSpis.Where(a => a.Dish?.IsAlcohol == alc).Sum(a => a.TotalSumm)); }
public static decimal GetOrderSummByAlc(this OrderFlight orderFlight, bool alc) { if (orderFlight.DishPackages == null) { return(0); } if (orderFlight.OrderStatus == OrderStatus.Cancelled) { return(0); } return(orderFlight.GetOrderDishesSummByAlc(alc) * (1 + orderFlight.ExtraCharge / 100)); }
public static decimal GetOrderTotalSummByAlc(this OrderFlight orderFlight, bool alc) { if (orderFlight.DishPackages == null) { return(0); } if (orderFlight.OrderStatus == OrderStatus.Cancelled) { return(0); } return(orderFlight.GetOrderSummByAlc(alc) - orderFlight.GetDiscountAlc(alc)); }
public ActionResult Edit([Bind(Include = "OrderFlight_ID,Passanger_Info_ID,Flight_Info_ID,DateTimeOrder")] OrderFlight orderFlight) { if (ModelState.IsValid) { db.Entry(orderFlight).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Flight_Info_ID = new SelectList(db.Flight, "Flight_ID", "FlightNumber", orderFlight.Flight_Info_ID); ViewBag.Passanger_Info_ID = new SelectList(db.Passanger, "Passanger_ID", "FirstName", orderFlight.Passanger_Info_ID); return(View(orderFlight)); }
private void mCreateSHToFlyInvoice(OrderFlight order) { string ErrMess = ""; if (SH.SHWrapper.CreateSalesInvoiceSync(order, out ErrMess)) { } else { ReturnMessage += $"Ошибка выгрузки заказа ToFly №{order.Id} {Environment.NewLine} {ErrMess}"; } DBProvider.UpdateOrderFlight(order); RaisePropertyChanged("Orders"); }
public ActionResult Create([Bind(Include = "OrderFlight_ID,Passanger_Info_ID,Flight_Info_ID,DateTimeOrder")] OrderFlight orderFlight) { if (ModelState.IsValid) { orderFlight.OrderFlight_ID = Guid.NewGuid(); db.OrderFlight.Add(orderFlight); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Flight_Info_ID = new SelectList(db.Flight, "Flight_ID", "FlightNumber", orderFlight.Flight_Info_ID); ViewBag.Passanger_Info_ID = new SelectList(db.Passanger, "Passanger_ID", "FirstName", orderFlight.Passanger_Info_ID); return(View(orderFlight)); }
// GET: OrderFlights/Details/5 public ActionResult Details(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } OrderFlight orderFlight = db.OrderFlight.Find(id); if (orderFlight == null) { return(HttpNotFound()); } return(View(orderFlight)); }
public static UserControl GetCtrlAddOrder(OrderFlight curentOrder) { var ctrlOrder = new CtrlAddOrder(); //var flightOrder = new Order var addOrderModel = new Models.AddOrderModel(curentOrder); var addOrderVM = new Models.AddOrderViewModel(addOrderModel) { Header = $"Изменение заказа {curentOrder.Id}" }; ctrlOrder.DataContext = addOrderVM; // addOrderVM.CloseAction = new Action(() => { MainClass.HideUC(ctrlOrder); }); ctrlOrder.Tag = $"Изменение заказа {curentOrder.Id}"; return(ctrlOrder); }
// GET: OrderFlights/Edit/5 public ActionResult Edit(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } OrderFlight orderFlight = db.OrderFlight.Find(id); if (orderFlight == null) { return(HttpNotFound()); } ViewBag.Flight_Info_ID = new SelectList(db.Flight, "Flight_ID", "FlightNumber", orderFlight.Flight_Info_ID); ViewBag.Passanger_Info_ID = new SelectList(db.Passanger, "Passanger_ID", "FirstName", orderFlight.Passanger_Info_ID); return(View(orderFlight)); }
private static void CloseCheck(OrderFlight o) { if (o.OrderStatus != OrderStatus.Sent) { return; } o.Closed = true; o.OrderStatus = OrderStatus.Closed; var p = o.AirCompany.PaymentType; o.NeedPrintFR = p.FiskalId > 0; o.NeedPrintPrecheck = p.FiskalId == 0; DBProvider.UpdateOrderFlight(o); }
public bool AddOrder(OrderFlight order, List <DishPackageFlightOrder> OrderDishez) { order.DishPackages = OrderDishez.ToList(); var res = DBProvider.AddOrderFlight(order, OrderDishez); if (res) { TryAddOrderToMDic(order); if ((StartDt < order.DeliveryDate) && (EndDt > order.DeliveryDate)) { orders.Add(order); RaiseOnOrderAdded(order); } } return(res); }
public ChangeOrderStatusViewModel(OrderFlight order) { Order = order; OkCommand = new DelegateCommand((_) => { Order.SendBy = Authorization.CurentUser; Order.OrderStatus = GetOrderStatus(); //DBDataExtractor<OrderFlight>.EditItem(DBProvider.Client.UpdateOrderFlight, Order); CloseAction(); }); CancelCommand = new DelegateCommand((_) => { CloseAction(); }); Text = $"Смена статуса заказа № {Order.Id}"; StatusInWork = Order.OrderStatus == OrderStatus.InWork; StatusCancelled = Order.OrderStatus == OrderStatus.Cancelled; StatusSent = Order.OrderStatus == OrderStatus.Sent; StatusCancelledWithRemains = Order.OrderStatus == OrderStatus.CancelledWithRemains; }
public static void ShowWndChangeOrderStatus(OrderFlight order) { try { logger.Debug("ShowWndChangeOrderStatus"); if (order == null) { ShowAlert("Нет выделенного заказа для смены статуса"); return; } var vm = new ChangeOrderStatusViewModel(order); var wnd = new WndChangeOrderStatus(); wnd.DataContext = vm; wnd.ShowDialog(); } catch (Exception e) { logger.Error($"ShowWndChangeOrderStatus {e.Message}"); } }
public bool DeleteOrder(OrderFlight order) { order.OrderStatus = OrderStatus.Cancelled; order.SendBy = Authorization.CurentUser; var res = DBProvider.UpdateOrderFlight(order); if (res) { if (!SH.SHWrapper.DeleteSalesInvoice(order)) { DBProvider.UpdateOrderFlight(order); } TryDeleteOrderFromMDic(order); if (orders.Contains(order)) { orders.Remove(order); } } return(res); }
/* * public static void ShowWndPrintLabels(OrderToGo order) * { * * if (order == null) { ShowAlert("Нет выделенного заказа для печати"); return; } * if ((order.DishPackages == null) || (order.DishPackages.Count() == 0)) { ShowAlert("Нет блюд в заказе для печати"); return; } * * var vm = new AddLabelsViewModel(order as IOrderLabel) { Header = $"Печать наклеек заказ {order.Id}" }; * //var ctrl = new CtrlPrintLabels(); * var ctrl = new ctrlItemLabels(); * ctrl.DataContext = vm; * * MainClass.ShowUC(ctrl); * * } */ public static void ShowWndPrintForKitchen(OrderFlight order) { if (order == null) { ShowAlert("Нет выделенного заказа для печати"); return; } if ((order.DishPackagesNoSpis == null) || (order.DishPackagesNoSpis.Count() == 0)) { ShowAlert("Нет блюд в заказе для печати"); return; } (new WordReports()).PrintKitchenDocumentToFly(order); /* * var printOrderKitchenToFly = new PrintOrderKitchenToFly(order) { Header = $"Печать заказа для кухни {order.Id}" }; * var ctrl = new CtrlPrintOrder(); * ctrl.Tag = $"Печать заказа для кухни {order.Id}"; * ctrl.DataContext = printOrderKitchenToFly; * MainClass.ShowUC(ctrl); */ }
public static bool UpdateOrderFlight(OrderFlight order) { try { var Client = GetClient(); if (Client == null) { return(false); } order.AirCompanyId = order.AirCompany?.Id; order.ContactPersonId = order.ContactPerson?.Id; order.WhoDeliveredPersonPersonId = order.WhoDeliveredPersonPerson?.Id; order.DeliveryPlaceId = order.DeliveryPlace?.Id; order.DriverId = order.Driver?.Id; order.CreatedById = order.CreatedBy?.Id; order.SendById = order.SendBy?.Id; foreach (var d in order.DishPackages) { d.OrderFlight = null; d.OrderFlightId = order.Id; d.DishId = d.Dish.Id; } var res = Client.UpdateOrderFlight(order, Authorization.CurentUser.Id); if (!res.Success) { DBError(res.ErrorMessage); return(false); } order = res.Result; return(res.Success); } catch (Exception e) { DBError($"Error UpdateOrderFlight Mess: {e.Message}"); return(false); } }
public static void CloseSingleCheck(OrderFlight ord) { if (ord == null) { return; } if (ord.AirCompany.PaymentType == null) { UI.UIModify.ShowAlert($"Для закрытия чеков авиакомпания {ord.AirCompany.Name} должна содержать вид оплаты"); return; } if (ord.OrderStatus != OrderStatus.Sent) { UI.UIModify.ShowAlert($"Чек {ord.Id} имеет статус {ord.OrderStatus} и не может быть закрыт"); } string promtStr = $"Закрыть чек {ord.Id}. {Environment.NewLine} Вид оплаты: {ord.AirCompany.PaymentType.Name} {Environment.NewLine} На сумму: {ord.OrderTotalSumm}? "; UI.UIModify.ShowConfirm(promtStr, (_) => { if (_) { CloseCheck(ord); } }); }
public static void CalcOrderDisc(OrderFlight ord) { if (ord == null) { return; } if (ord.OrderSumm == 0) { ord.DiscountSumm = 0; return; } ; if (ord.AirCompany == null) { return; } if (ord.AirCompanyId == MainClass.AirAvangardId) { return; } if (ord.AirCompany.DiscountId == null) { return; } decimal summ = Models.AirOrdersModelSingleton.Instance.GetOrderFlightsOfMonth(ord.DeliveryDate) .Where(a => a.AirCompany?.Id == ord.AirCompany?.Id && a.Id < ord.Id) .Sum(a => a.OrderSumm); if (ord.OrderStatus != OrderStatus.Closed) { if (ord.OrderStatus == OrderStatus.Cancelled) { ord.DiscountSumm = 0; } // var ranges = GetRangeofOrder(summ, summ + ord.OrderSumm, ord.AirCompany.DiscountType.Id); var ranges = GetRangeofOrder(summ, ord.OrderSumm, ord.AirCompany.DiscountType.Id); if (ranges != null) { decimal disc = 0; foreach (var r in ranges) { if (r.End == null) { disc += ((summ + ord.OrderSumm) - Math.Max(r.Start, summ)) * r.DiscountPercent / 100; } else { disc += (Math.Min((summ + ord.OrderSumm), r.End.Value) - Math.Max(r.Start, summ)) * r.DiscountPercent / 100; } } disc = Math.Round(disc, 2); if (disc != ord.DiscountSumm) { ord.DiscountSumm = disc; //DBProvider.Client.UpdateOrderFlight(ord, Authorization.CurentUser.Id); } } //summ += ord.OrderSumm; } }
public void RaiseOnOrderAdded(OrderFlight order) { OnOrderAdded?.Invoke(order); }
public bool UpdateOrder(OrderFlight order) { var res = DBProvider.UpdateOrderFlight(order); return(res); }
public static FiskalDrivers.FiskalCheck GetFiskalCheckFromOrder(OrderFlight ord) { FiskalDrivers.FiskalCheck Tmp = new FiskalDrivers.FiskalCheck(); Tmp.CheckNum = ord.Id.ToString(); Tmp.TimeofOpen = ord.DeliveryDate; Tmp.Cassir = ord.AirCompany.Name; Tmp.Waiter = ord.FlightNumber; Tmp.FlyCheck = true; foreach (var oi in ord.DishPackages.Where(a => a.TotalPrice > 0 && !a.Dish.IsAlcohol)) { FiskalDrivers.FiskalDish fd = new FiskalDrivers.FiskalDish() { Name = oi.DishName, Price = (double)oi.TotalPrice, Quantity = (double)oi.Amount }; Tmp.Dishes.Add(fd); } foreach (var oi in ord.DishPackages.Where(a => a.TotalPrice > 0 && a.Dish.IsAlcohol)) { FiskalDrivers.FiskalDish fd = new FiskalDrivers.FiskalDish() { Name = "Открытый напиток", Price = (double)oi.TotalPrice, Quantity = (double)oi.Amount }; Tmp.Dishes.Add(fd); } double DSumm = (double)ord.DishPackages.Sum(a => a.TotalPrice * a.Amount); double ExCh = DSumm * (double)ord.ExtraCharge / 100; Tmp.Discount = (double)ord.DiscountSumm; if ((Tmp.Discount > 0) && (ExCh > 0)) { if (Tmp.Discount > ExCh) { Tmp.Discount -= ExCh; } else { Tmp.Charge = ExCh - Tmp.Discount; Tmp.Discount = 0; } } else if (ExCh > 0) { Tmp.Charge = ExCh; } double DSummTotal = DSumm - Tmp.Discount + Tmp.Charge; var op = ord.AirCompany.PaymentType; //OrderToAlohaSrv.OrderPayment op = ord.OrderPayments; FiskalDrivers.FiskalPayment fp = new FiskalDrivers.FiskalPayment() { Name = op.Name, Summ = DSummTotal, PaymentType = (int)op.FiskalId // NonFiskalPayment = op.TNDR. }; if (fp.PaymentType == 0) { fp.Name = "Наличные"; } Tmp.Payments.Add(fp); Tmp.Summ = DSummTotal; return(Tmp); }
public void PrintKitchenDocumentToFly(OrderFlight order) { if (order == null) { return; } try { logger.Debug($"PrintKitchenDocumentToFly {order.Id}"); // Создаём объект приложения Word.Application app = new Word.Application(); app.Visible = true; // Путь до шаблона документа // Открываем document = app.Documents.Add(System.AppDomain.CurrentDomain.BaseDirectory + SampleDocumentPath); document.Paragraphs.Add(); int ParNum = 1; AddLeftCaptionText(document.Paragraphs[1], $"Компания {order.AirCompany.Name}", true); document.Paragraphs.Add(); AddLeftCaptionText(document.Paragraphs.Last, $"Борт {order.FlightNumber}"); document.Paragraphs.Add(); AddLeftCaptionText(document.Paragraphs.Last, $"Дата {order.DeliveryDate.ToString("dd.MM.yyyy HH:mm")}"); document.Paragraphs.Add(); AddLeftCaptionText(document.Paragraphs.Last, $"Доставка: {order.DeliveryPlace?.Name}"); document.Paragraphs.Add(); AddLeftCaptionText(document.Paragraphs.Last, $"Контакты: {order.ContactPerson?.FullSearchData}"); document.Paragraphs.Add(); AddLeftCaptionText(document.Paragraphs.Last, $"Машина забирает: {order.ExportTime.ToString("HH:mm")}"); document.Paragraphs.Add(); AddMiddleCaptionText(document.Paragraphs.Last, $"Готовность в ресторане в {order.ReadyTime.ToString("HH:mm")}", true); string comment = Utils.TextHelper.GetTextFromRadDocText(order.Comment); if (comment != null && comment != "") { document.Paragraphs.Add(); AddMiddleCaptionText(document.Paragraphs.Last, comment); } foreach (var fn in order.DishPackagesNoSpis.Select(a => ((DishPackageFlightOrder)a).PassageNumber).Distinct().OrderBy(a => a)) { if (order.DishPackagesNoSpis.Select(a => ((DishPackageFlightOrder)a).PassageNumber).Distinct().Count() > 1) { document.Paragraphs.Add(); AddFlightNumberStr(document.Paragraphs.Last, fn); } foreach (var KGroup in order.DishPackagesNoSpis.Where(a => ((DishPackageFlightOrder)a).PassageNumber == fn && a.Dish.DishKitсhenGroupId != null).Select(a => a.Dish.DishKitсhenGroupId).Distinct().OrderBy(a => a.Value)) { foreach (var Pak in order.DishPackagesNoSpis.Where(a => ((DishPackageFlightOrder)a).PassageNumber == fn && a.Dish.DishKitсhenGroupId != null && a.Dish.DishKitсhenGroupId == KGroup).OrderBy(a => a.PositionInOrder)) { document.Paragraphs.Add(); AddDishparagraph(document.Paragraphs.Last, (DishPackageFlightOrder)Pak); } document.Paragraphs.Add(); AddDishparagraph(document.Paragraphs.Last, null); } foreach (var Pak in order.DishPackagesNoSpis.Where(a => ((DishPackageFlightOrder)a).PassageNumber == fn && a.Dish.DishKitсhenGroupId == null)) { document.Paragraphs.Add(); AddDishparagraph(document.Paragraphs.Last, (DishPackageFlightOrder)Pak); } } } catch (Exception e) { logger.Error($"Error PrintKitchenDocumentToFly {order.Id} Mess: {e.Message}"); } }
public AirOrderInfo(OrderFlight ord) { Ord = ord; }