Пример #1
0
        private string OnNewProcessOrder(ProcessOrder processOrder)
        {
            string orderString = string.Empty;

            if (processOrder == null)
            {
                return(null);
            }
            using (var scope = new TransactionScope())
            {
                var processOrderNo = ProcessModule.InsertProcessOrder(processOrder);

                List <ProcessOrderFlow> processOrderFlowList = GetProcessOrderFlowList(processOrderNo);

                var processOrderFlowSuccessCount = ProcessModule.InsertProcessOrderFlow(processOrderFlowList);

                var processOrderColorDetailList = new List <ProcessOrderColorDetail>();

                foreach (ProcessOrderColor item in DataGridProcessOrderColor.Items)
                {
                    processOrderColorDetailList.Add(new ProcessOrderColorDetail
                    {
                        OrderNo     = processOrderNo,
                        Color       = item.Color,
                        ColorNumber = item.ColorNumber,
                        Quantity    = item.Quantity,
                        Status      = item.Status
                    });
                }
                ProcessModule.CreateProcessOrderColorFlow(processOrderColorDetailList, processOrderNo);
                orderString = processOrder.OrderString;
                scope.Complete();
            }
            return(orderString);
        }
Пример #2
0
        private void ButtonNewProcessOrder_Click(object sender, RoutedEventArgs e)
        {
            if (ComboBoxProcessOrderSheet.SelectedIndex == -1)
            {
                MessageBox.Show("請選擇一筆訂單");
                return;
            }
            //var oldProcessOrder = ProcessModule.GetProcessOrder();
            ProcessOrder processOrder = CheckNewProcessOrder();

            //{
            //    OrderString = ComboBoxProcessOrderSheet.SelectedValue.ToString(),
            //    Fabric = TextBoxFabric.Text,
            //    Specification = TextBoxSpecification.Text,
            //    ProcessItem = TextBoxProcessItem.Text,
            //    Precautions = TextBoxPrecautions.Text,
            //    Memo = TextBoxMemo.Text,
            //    HandFeel = TextBoxHandFeel.Text,
            //    CreateDate = DateTime.Now
            //};

            //if (oldProcessOrder.Select(s => s.OrderString.Trim()).Contains(processOrder.OrderString))
            //{
            //    MessageBox.Show("此筆訂單已存在於紀錄中!!");
            //    return;
            //}

            OnNewProcessOrder(processOrder);
        }
Пример #3
0
        private void BatchInsertProcessOrder()
        {
            foreach (string item in ComboBoxProcessOrderSheet.Items)
            {
                ISheet sheet            = workbook.GetSheet(item);
                IRow   rowFive          = sheet.GetRow(5);
                string factoryString    = ExcelHelper.GetCellString(rowFive, (int)ExcelEnum.ProcessOrderColumnIndexEnum.Factory).Replace(" ", "");
                var    factoryList      = factoryString.Split('一').ToList();
                bool   factoryListExist = CheckFactoryListExist(factoryList);
                if (!factoryListExist)
                {
                    return;
                }
            }
            List <string> orderStringList = new List <string>();

            for (int index = 0; index < ComboBoxProcessOrderSheet.Items.Count; index++)
            {
                ComboBoxProcessOrderSheet.SelectedIndex = index;
                ProcessOrder processOrder = CheckNewProcessOrder();
                string       orderString  = OnNewProcessOrder(processOrder);
                orderStringList.Add(orderString);
            }
            MessageBox.Show(string.Format("以下訂單\n{0}\n新增成功", string.Join("\n", orderStringList)));
        }
Пример #4
0
        private ProcessOrder GetProcessOrder(string orderString)
        {
            ISheet       sheet         = workbook.GetSheet(orderString);
            IRow         rowFive       = sheet.GetRow(5);
            int          widthCellNum  = (int)ExcelEnum.ProcessOrderColumnIndexEnum.Width;
            string       width         = ExcelHelper.GetCellString(rowFive, widthCellNum);
            string       clearType     = ExcelHelper.GetCellString(rowFive, (int)ExcelEnum.ProcessOrderColumnIndexEnum.ClearType);
            string       factoryString = ExcelHelper.GetCellString(rowFive, (int)ExcelEnum.ProcessOrderColumnIndexEnum.Factory).Replace(" ", "");
            string       handFeel      = ExcelHelper.GetCellString(rowFive, (int)ExcelEnum.ProcessOrderColumnIndexEnum.HandFeel);
            IRow         rowSix        = sheet.GetRow(6);
            string       fabric        = ExcelHelper.GetCellString(rowSix, (int)ExcelEnum.ProcessOrderColumnIndexEnum.Fabric);
            var          weight        = ExcelHelper.GetCellString(rowSix, (int)ExcelEnum.ProcessOrderColumnIndexEnum.Weight);
            IRow         rowNine       = sheet.GetRow(9);
            string       memo          = ExcelHelper.GetCellString(rowNine, (int)ExcelEnum.ProcessOrderColumnIndexEnum.Memo);
            IRow         rowSeven      = sheet.GetRow(7);
            string       processItem   = ExcelHelper.GetCellString(rowSeven, (int)ExcelEnum.ProcessOrderColumnIndexEnum.ProcessItem);
            string       precautions   = ExcelHelper.GetCellString(rowSeven, (int)ExcelEnum.ProcessOrderColumnIndexEnum.Precations);
            ProcessOrder processOrder  = new ProcessOrder()
            {
                HandFeel      = handFeel,
                Fabric        = fabric,
                Specification = string.Concat(clearType, " ", width, "X", weight),
                Memo          = Regex.Replace(memo, " {2,}", " "),
                ProcessItem   = processItem,
                Precautions   = precautions,
            };

            return(processOrder);
        }
Пример #5
0
        private ProcessOrder GetProcessOrderById(string id)
        {
            IProcessOrderService ps    = new ProcessOrderService(Settings.Default.db);
            ProcessOrder         order = ps.FindById(id);

            return(order);
        }
Пример #6
0
        public IActionResult PlaceOrder(ProductViewModelCart[] p)
        {
            List <ProcessOrder> productList = new List <ProcessOrder>();

            HttpContext.Session.Remove("Cart");
            string json = JsonConvert.SerializeObject(p);

            HttpContext.Session.SetString("Cart", json);
            int Totalsum = 0;

            foreach (var i in p)
            {
                ProcessOrder obj = new ProcessOrder();
                obj.ProductId = i.ProductId;
                obj.Price     = i.Price;
                obj.sum       = (int)(i.Price * i.Quantity);
                obj.Quantity  = i.Quantity;
                obj.Title     = i.Title;
                //if(productList.Find(obj))
                productList.Add(obj);
                Totalsum            += obj.sum;
                ViewData["Totalsum"] = Totalsum;
            }
            ViewData["products"] = productList;
            return(View());
        }
Пример #7
0
        public IActionResult ProcessOrder(ProductViewModelCart[] p)
        {
            try
            {
                log.LogInformation("Executing ProcessOrder Method..");
                log.LogInformation("This is a Test Message");
            }
            catch (Exception e)
            {
                log.LogCritical(e.Message);
                log.LogInformation("Executed ProcessOrder Method..");
            }
            List <ProcessOrder> productList = new List <ProcessOrder>();

            foreach (var i in p)
            {
                ProcessOrder obj = new ProcessOrder();
                obj.BookId   = i.BookId;
                obj.Price    = i.Price;
                obj.sum      = (int)(i.Price * i.Quantity);
                obj.Quantity = i.Quantity;
                obj.Title    = i.Title;
                //if(productList.Find(obj))
                productList.Add(obj);
            }
            ViewData["products"] = productList;
            return(View());
        }
Пример #8
0
    public async Task Handle(StartOrder message, IMessageHandlerContext context)
    {
        // Correlation property Data.OrderId is automatically assigned with the value from message.OrderId;
        log.Info($"StartOrder received with OrderId {message.OrderId}");

        //  log.Info($@"Sending a CompleteOrder that will be delayed by 10 seconds
        //         Stop the endpoint now to see the saga data in:
        //               {LearningLocationHelper.GetSagaLocation<OrderSaga>(Data.Id)}");
        var proceeOrder = new ProcessOrder
        {
            OrderId = Data.OrderId
        };
        var sendOptions = new SendOptions();

        sendOptions.DelayDeliveryWith(TimeSpan.FromSeconds(5));
        sendOptions.RouteToThisEndpoint();

        await context.Send(proceeOrder, sendOptions)
        .ConfigureAwait(false);

        //var timeout = DateTime.UtcNow.AddSeconds(20);
        //log.Info($@"Requesting a CancelOrder that will be executed in 30 seconds.
        //            Stop the endpoint now to see the timeout data in the delayed directory
        //                    {LearningLocationHelper.TransportDelayedDirectory(timeout)}");

        //await RequestTimeout<CancelOrder>(context, timeout)
        //    .ConfigureAwait(false);
    }
Пример #9
0
        public ActionResult ProcessOrder(ProcessOrderInfo p)
        {
            ProcessOrder OrdToProcess = new ProcessOrder();

            OrdToProcess.OrderId     = p.OrderId;
            OrdToProcess.CustomerId  = p.CustomerId;
            OrdToProcess.ItemId      = p.ItemId;
            OrdToProcess.OrderStatus = p.OrderStatus;

            //Save th processor Order Data
            db.ProcessOrders.Add(OrdToProcess);
            db.SaveChanges();

            if (OrdToProcess.OrderStatus == "Approved")
            {
                //Update Item Quantity
                var itemUpdated = db.ItemMasters.Find(OrdToProcess.ItemId);
                itemUpdated.AvailableQuantity -= p.Quantity;
                db.SaveChanges();
            }

            //Delete the Order if it is Approved
            var order = db.OrderMasters.Find(OrdToProcess.OrderId);

            db.OrderMasters.Remove(order);
            db.SaveChanges();
            return(View("ProcessedOrders", db.ProcessOrders.ToList()));
        }
Пример #10
0
        public IHttpActionResult PutProcessOrder(int id, ProcessOrder processOrder)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != processOrder.ProcessOrderNo)
            {
                return(BadRequest());
            }

            db.Entry(processOrder).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProcessOrderExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #11
0
        public ActionResult Edit([Bind(Include = "orderNr,status,actualQuantity")] ProcessOrder order)
        {
            IProcessOrderService ps = new ProcessOrderService(Settings.Default.db);

            ps.Update(order);
            return(RedirectToAction("Index"));
        }
Пример #12
0
        public IHttpActionResult PostProcessOrder(ProcessOrder processOrder)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.ProcessOrder.Add(processOrder);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (ProcessOrderExists(processOrder.ProcessOrderNo))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = processOrder.ProcessOrderNo }, processOrder));
        }
Пример #13
0
        public void Invoice()
        {
            ProcessOrder po = new ProcessOrder()
            {
                ProductImage  = "https://www.google.co.in/search?q=product+images&tbm=isch&source=iu&ictx=1&fir=Ys6s1aKrzB6hrM%253A%252ChoD76SE7hB_ZTM%252C_&usg=AI4_-kRULqtxH-vZZChrfKQOclXWU2y_hw&sa=X&ved=2ahUKEwjIsurpndjeAhVKQY8KHVJ6CvkQ9QEwAnoECAAQCA#imgrc=Ys6s1aKrzB6hrM:",
                Title         = "EarPhones",
                Price         = 1200,
                Quantity      = 5,
                ReorderLevel  = 10,
                Description   = "Nice EarPhones",
                CategoryId    = 62,
                SubCategoryId = 64,
                ProductId     = 129,
                sum           = 6000
            };
            List <ProcessOrder> lst = new List <ProcessOrder>();

            lst.Add(po);

            FinalOrder finalOrder = new FinalOrder()
            {
                products = lst, CustomerId = 100, PaymentMode = "COD"
            };
            var            result  = bookingController.Invoice(finalOrder) as OkObjectResult;
            InvoiceDetails details = (InvoiceDetails)result.Value;

            InvoiceNo = details.InvoiceNo;
            Assert.IsInstanceOfType(result.Value, typeof(InvoiceDetails));
        }
Пример #14
0
 private ActionResult ValidateProcessOrder(ProcessOrder processOrder)
 {
     if (processOrder == null)
     {
         return(HttpNotFound());
     }
     return(View(processOrder));
 }
Пример #15
0
 public NewProcessOrderColorDetaiDialog(ProcessOrder processOrder, ProcessOrderColorFactoryShippingDetail processOrderColorFactoryShippingDetail)
 {
     InitializeComponent();
     LabelOrderString.Content = processOrder.OrderString;
     LabelFabric.Content      = processOrder.Fabric;
     TextBoxColor.Text        = processOrderColorFactoryShippingDetail.Color;
     TextBoxColorNumber.Text  = processOrderColorFactoryShippingDetail.ColorNumber;
     _processOrder            = processOrder;
 }
Пример #16
0
        public void handle(ProcessOrder command)
        {
            if (!command.OrderId.HasValue)
            {
                throw new Exception("Order ID not provided, cannot process order.");
            }

            _repository.ProcessOrder(command.OrderId.Value);
        }
        public string SendOrder(string restaurantOrder)
        {
            //Instantiates new ProcessOrder object and
            //passes JSON-format order string to ProcessOrderJSON method
            var orderProcessor = new ProcessOrder();
            var orderResponse  =
                orderProcessor.ProcessOrderJSON(restaurantOrder);

            return(orderResponse);
        }
Пример #18
0
        private static ProcessOrderProduct AddProduct1(ProcessOrder order, int quantity = 1, decimal price = 55)
        {
            var product = new ProcessOrderProduct(OntraportProcessorTests.Product1, price)
            {
                Quantity = quantity
            };

            order.Products.Add(product);
            return(product);
        }
        private static ProcessOrderProduct AddProduct2(ProcessOrder order, int quantity = 1, decimal price = 100)
        {
            var product = new ProcessOrderProduct("prod2", price)
            {
                Quantity = quantity
            };

            order.Products.Add(product);
            return(product);
        }
Пример #20
0
        private void OnTableChanged(string tableName, string tableParams, object data, object fieldTypes)
        {
            try
            {
                if (data == null)
                {
                    return;
                }

                _adapter.AddDebugLog("OnTableChanged: TN={0} WR={1} DT={2} FT={3}", tableName, tableParams, data, fieldTypes);

                DoInSysCulture(() =>
                {
                    var rows = ((string)data).ToRows();

                    if (tableName == _tableDepth.Name)
                    {
                        ProcessQuotes.SafeInvoke(tableParams, rows);
                    }
                    else if (tableName == _tableTrades.Name)
                    {
                        ProcessTrades.SafeInvoke(rows);
                    }
                    else if (tableName == _tableSecurities.Name)
                    {
                        ProcessSecurities.SafeInvoke(0, rows);
                    }
                    else if (tableName == _tableLevel1.Name)
                    {
                        ProcessLevel1.SafeInvoke(rows);
                    }
                    else if (tableName == _tablePositions.Name)
                    {
                        ProcessPositions.SafeInvoke(0, rows);
                    }
                    else if (tableName == _tableOrders.Name)
                    {
                        ProcessOrder.SafeInvoke(rows);
                    }
                    else if (tableName == _tableMyTrades.Name)
                    {
                        ProcessMyTrades.SafeInvoke(rows);
                    }
                    else if (tableName == _tableNews.Name)
                    {
                        ProcessNews.SafeInvoke(rows);
                    }
                });
            }
            catch (Exception e)
            {
                _adapter.AddErrorLog(LocalizedStrings.Str2271Params, e);
                Error.SafeInvoke(e);
            }
        }
Пример #21
0
    Task ProcessWithDiscount(SubmitOrder message, IMessageHandlerContext context)
    {
        var processOrder = new ProcessOrder
        {
            CustomerId  = Data.CustomerId,
            OrderId     = message.OrderId,
            TotalAmount = message.TotalAmount * (decimal)0.9
        };

        return(context.Send(processOrder));
    }
Пример #22
0
        // GET: ProcessOrders/Edit/5
        public ActionResult Edit(string id)
        {
            ProcessOrder order = GetProcessOrderById(id);

            if (order != null)
            {
                SetProcessOrderStatusList(order.status, false);
            }

            return(ValidateProcessOrder(order));
        }
Пример #23
0
        public ProcessOrderViewModel()
        {
            EmployeeCatalog     = EmployeeCatalog.Instance;
            ProductCatalog      = ProductCatalog.Instance;
            ProcessOrderCatalog = ProcessOrderCatalog.Instance;
            ProcessOrderHandler = new ProcessOrderHandler(this);

            CreateProcessOrderCommand = new RelayCommand(ProcessOrderHandler.CreateProcessOrder);

            _newProcessOrder = new ProcessOrder();
        }
Пример #24
0
        public IHttpActionResult GetProcessOrder(int id)
        {
            ProcessOrder processOrder = db.ProcessOrder.Find(id);

            if (processOrder == null)
            {
                return(NotFound());
            }

            return(Ok(processOrder));
        }
Пример #25
0
        public void LookupOrders()
        {
            // Загрузить список всех заявок.
            DoInSysCulture(() => ProcessOrder.SafeInvoke(_tableOrders.GetLocalDbData()));

            // Загрузить список всех сделок.
            DoInSysCulture(() => ProcessMyTrades.SafeInvoke(_tableMyTrades.GetLocalDbData()));

            StartExportOrders();
            StartExportMyTrades();
        }
Пример #26
0
        public async Task HandleCommandAsync(IBus bus, ProcessOrder message, ILogger log)
        {
            await bus.SendAsync(new ShipOrder()
            {
                UserName = this.Data.RowKey
            }, "shippingservice");

            await bus.SendAsync(new PayOrder()
            {
                UserName = this.Data.RowKey
            }, "paymentservice");
        }
Пример #27
0
        public async Task HandleCommandAsync(IBus bus, ProcessOrder message, TraceWriter log)
        {
            await bus.SendAsync(new ShipOrder()
            {
                UserName = this.Data.RowKey, ReplyTo = SERVICE_NAME
            }, "shippingservice");

            await bus.SendAsync(new PayOrder()
            {
                UserName = this.Data.RowKey, ReplyTo = SERVICE_NAME
            }, "paymentservice");
        }
Пример #28
0
        public int DeleteProcessOrder(ProcessOrder processOrder)
        {
            string sql   = @"delete from ProcessOrder where OrderNo = @OrderNo;
                           delete from ProcessOrderFlow where OrderNo = @OrderNo;
                           declare @ColorDetailNoList Table(OrderColorDetailNo int);
                           insert into @ColorDetailNoList
                           select OrderColorDetailNo from ProcessOrderColorDetail where OrderNo = @OrderNo;
                           delete from FactoryShipping where OrderColorDetailNo in (select OrderColorDetailNo from @ColorDetailNoList);
                           delete from ProcessOrderFlowDate where OrderColorDetailNo in (select OrderColorDetailNo from @ColorDetailNoList);
                           delete from ProcessOrderColorDetail where OrderNo = @OrderNo;";
            var    count = DapperHelper.Execute(AppSettingConfig.ConnectionString(), CommandType.Text, sql, processOrder);

            return(count);
        }
Пример #29
0
        public IHttpActionResult DeleteProcessOrder(int id)
        {
            ProcessOrder processOrder = db.ProcessOrder.Find(id);

            if (processOrder == null)
            {
                return(NotFound());
            }

            db.ProcessOrder.Remove(processOrder);
            db.SaveChanges();

            return(Ok(processOrder));
        }
Пример #30
0
        public async Task SubmitAsync_NoProducts_ResultSuccess()
        {
            var order = new ProcessOrder()
            {
                PaymentMethod   = PaymentMethod.PayPalForm,
                PaymentCurrency = Currency.Usd,
                OntraportFormId = OntraFormId,
                Address         = new ProcessOrderAddress()
            };

            var result = await Model.SubmitAsync(order);

            Assert.Equal(PaymentStatus.Approved, result.Status);
        }
 public HttpStatusCode Post(ProcessOrder order)
 {
     Bus.Send(order);
     Console.WriteLine("Order {0} sent.", order.Id);
     return HttpStatusCode.OK;
 }