private void ReceivePayment(OrderItemSummary selectedItem)
 {
     if (selectedItem.OutstandingAmount < 0)
     {
         MessageBox.Show( /*"Gross amount should be greater than zero"*/
             GetLocalText("sl.pos.receivepayments.messagebox.grossamountiszero")
             , "!" + GetLocalText("sl.payment.title") /*"Distributr: Payment Module"*/
             , MessageBoxButton.OK);
         return;
     }
    
     Submitpayments(selectedItem);
 }
 private void ViewSelectedOrder(OrderItemSummary summary)
 {
     var uri = "/Views/Orders_Stockist/ViewStockistPurchaseOrder.xaml";
     Messenger.Default.Send(new ViewModelMessage { Id = summary.OrderId });
     NavigateCommand.Execute(uri);
 }
 protected override void ContinueSelectedOrder(OrderItemSummary obj)
 {
     var uri = "/views/Orders_Stockist/CreateStockistOrder.xaml";
     Messenger.Default.Send(new StockistPurchaseOrderContinueMessage { Id = obj.OrderId, IsUnConfirmed = true });
     NavigateCommand.Execute(uri);
 }
 private void ProcessOrder(OrderItemSummary summary)
 {
     var uri = "/Views/Orders_Stockist/ApproveStockistOrder.xaml";
     Messenger.Default.Send(new ApproveStockistPurchaseOrderMessage { Id = summary.OrderId });
     NavigateCommand.Execute(uri);
 }
 private void ViewPrintableOrder(OrderItemSummary item)
 {
     using (var c = NestedContainer)
     {
         Using<IPrintableDocumentViewer>(c).ViewDocument(item.OrderId, DocumentType.Order);
     }
 }
 private void ProcessOrder(OrderItemSummary summary)
 {
     var uri = "/views/orders/OrderApproval.xaml";
     Messenger.Default.Send(summary.OrderId);
     NavigateCommand.Execute(uri);
 }
        private void ViewSelectedOrder(OrderItemSummary summary)
        {
            var uri = "/views/orders/vieworder.xaml";
            Messenger.Default.Send<ViewModelMessage>(new ViewModelMessage {Id = summary.OrderId});
            NavigateCommand.Execute(uri);


        }
        private void Submitpayments(OrderItemSummary orderSummary)
        {
            PaymentInfoList.Clear();
            try
            {
                using (var container = NestedContainer)
                {
                    Config config = Using<IConfigService>(container).Load();
                    var payInfo =
                        Using<IPaymentPopup>(container).GetPayments(orderSummary.OutstandingAmount,
                                                                    orderSummary.OrderId);
                    if (payInfo != null)
                    {
                        foreach (var paymentInfo in payInfo)
                        {
                            if (!PaymentInfoList.Contains(paymentInfo))
                                PaymentInfoList.Add(paymentInfo);
                        }
                    }
                    var order = Using<IMainOrderRepository>(container).GetById(orderSummary.OrderId);
                    var invoiceId = Using<IInvoiceRepository>(container).GetInvoiceByOrderId(order.Id).Id;
                    var orderWorkflow = Using<IOrderWorkflow>(container);
                    if (order != null)
                    {
                        order.ChangeccId(GetConfigParams().CostCentreApplicationId);
                        foreach (var paymentInfo in PaymentInfoList.Where(p => p.PaymentModeUsed != PaymentMode.Credit))
                        {
                            paymentInfo.InvoiceId = invoiceId;
                           order.AddOrderPaymentInfoLineItem(paymentInfo);
                        }
                        orderWorkflow.Submit(order,config);
                        ListOrders();
                    }

                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 private void ViewInvoice(OrderItemSummary summary)
 {
     const string uri = "/views/invoicedocument/invoicedocument.xaml";
     Messenger.Default.Send<ViewModelMessage>(new ViewModelMessage {Id = summary.OrderId});
     NavigateCommand.Execute(uri);
 }
 protected virtual void ContinueSelectedOrder(OrderItemSummary obj)
 {
     
 }
        public ExportorderItem MapExportItem(OrderItemSummary item)
        {
            return new ExportorderItem()
                       {
                           OrderRef = item.OrderReference,
                           Externalref = item.ExRefNo,
                           OutletName = item.Outlet,
                           OrderDate = item.Required.ToShortDateString(),
                           NetAmount = item.NetAmount.ToString("0.00"),
                           PaidAmount = item.PaidAmount.ToString("0.00"),
                           OutStandingAmount = item.OutstandingAmount.ToString(),
                           DocumentStatus = Enum.GetName(typeof(DocumentStatus), item.Status),
                           

                       };
        }
       private OrderItemSummary Map(OrderSaveAndContinueLater orderSummary, int count)
       {
           var pricingService = Using<IDiscountProWorkflow>(NestedContainer);

           var orderSummaryMapped= new OrderItemSummary()
           {
               SequenceNo = count + 1,
               OrderId = orderSummary.Id,
               TotalVat = orderSummary.LineItem.Sum(s=>s.UnitVat*s.Quantity),
               GrossAmount = (orderSummary.LineItem.Sum(s =>(s.UnitVat +s.UnitPrice)* s.Quantity).GetTruncatedValue()).GetTotalGross(),

               NetAmount = (orderSummary.LineItem.Sum(s => ((s.UnitVat + s.UnitPrice) * s.Quantity).GetTruncatedValue())).GetTotalGross(),
               Required = orderSummary.Required,
               SaleDiscount = orderSummary.SaleDiscount,
               OutstandingAmount =0,
                   
               OrderReference = "Not Generated",
               PaidAmount = 0,
               Status =DocumentStatus.New,
               Salesman = orderSummary.Salesman,
               ExRefNo = "",
               Outlet = orderSummary.Outlet

           };
           return orderSummaryMapped;

       }
        private OrderItemSummary Map(MainOrderSummary orderSummary, int count)
        {
            var orderItemSummary = new OrderItemSummary();
            using (var c = NestedContainer)
            {
                var pricingService = Using<IDiscountProWorkflow>(c);


                orderItemSummary.SequenceNo = count + 1;
                orderItemSummary.OrderId = orderSummary.OrderId;
                orderItemSummary.TotalVat = orderSummary.TotalVat;
                orderItemSummary.GrossAmount = orderSummary.GrossAmount.GetTotalGross();
                orderItemSummary.NetAmount =  orderSummary.NetAmount.GetTotalGross();
                orderItemSummary.Required = orderSummary.Required;
                orderItemSummary.SaleDiscount = orderSummary.SaleDiscount;
                orderItemSummary.OutstandingAmount = orderSummary.OutstandingAmount;

                orderItemSummary.OrderReference = orderSummary.OrderReference;
                orderItemSummary.PaidAmount = orderSummary.PaidAmount;
                orderItemSummary.Status = orderSummary.Status;
                orderItemSummary.Salesman = orderSummary.Salesman;
                orderItemSummary.ExRefNo = orderSummary.ExternalRefNo;
                orderItemSummary.Outlet = orderSummary.Outlet;
            }

            return orderItemSummary;
        }
 private void ViewSelectedLineItem(OrderItemSummary selectedItem)
 {
     const string uri = "/views/Order_Pos/ViewPOS.xaml";
     Messenger.Default.Send<ViewModelMessage>(new ViewModelMessage {Id = selectedItem.OrderId});
     NavigateCommand.Execute(uri);
 }
 protected override void ContinueSelectedOrder(OrderItemSummary obj)
 {
     const string uri = "/views/Order_Pos/addpos.xaml";
     Messenger.Default.Send(new SaleOrderContinueMessage { Id = obj.OrderId,IsUnConfirmed = true});
     NavigateCommand.Execute(uri);
 }