예제 #1
0
        private void _ServiceClient_GetSalesOrderColorsCompleted(object sender, _Proxy.GetSalesOrderColorsCompletedEventArgs e)
        {
            try
            {
                CostPerOperation        = e.Cost;
                dGridStyles.ItemsSource = e.Result.ToList();
                RouteCardDetailOperationList.Clear();

                if (e.RouteCardDetailList != null)
                {
                    foreach (var item in e.RouteCardDetailList.ToList())
                    {
                        RouteCardDetailOperationList.Add(new RouteCardService.RouteCardDetail().InjectFrom(item) as RouteCardService.RouteCardDetail);
                    }
                }
            }
            catch (Exception ex)
            {
                var errw = new ErrorWindow(ex);
                errw.Show();
            }
        }
예제 #2
0
        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (dGridStyles.SelectedItems.Count > 0)
                {
                    if (SubmitAction != null)
                    {
                        foreach (_Proxy.TblSalesOrderColor item in dGridStyles.SelectedItems)
                        {
                            if (RouteCardDetailOperationList != null && RouteCardDetailOperationList.Any(x => x.TblColor == item.TblColor))
                            {
                                foreach (
                                    var variable in
                                    RouteCardDetailOperationList.Where(x => x.TblColor == item.TblColor)
                                    .GroupBy(x => x.Degree))
                                {
                                    var temp = new RouteCardViewModel
                                    {
                                        WareHouseDegreeList = ViewModel.WareHouseDegreeList,
                                        TblSalesOrder       = item.TblSalesOrder,
                                        TblColor            = item.TblColor,
                                        ObjectIndex         = Guid.NewGuid().ToString("D"),
                                        Price            = CostPerOperation,
                                        ColorPerRow      = item.TblColor1,
                                        SalesOrderPerRow = item.TblSalesOrder1,
                                        Degree           = variable.Key,
                                    };

                                    foreach (var sizeItem in item.TblSalesOrderSizeRatios)
                                    {
                                        var routeCardSize = new RoutCardSizeInfo
                                        {
                                            SizeCode         = sizeItem.Size,
                                            SizeConsumption  = (int)sizeItem.Ratio,
                                            IsTextBoxEnabled = true
                                        };
                                        temp.RoutCardSizes.Add(routeCardSize);
                                    }

                                    foreach (var newVariable in temp.RoutCardSizes)
                                    {
                                        if (RouteCardDetailOperationList != null)
                                        {
                                            var row =
                                                RouteCardDetailOperationList.FirstOrDefault(
                                                    x =>
                                                    x.Size == newVariable.SizeCode && x.TblColor == item.TblColor &&
                                                    x.Degree == variable.Key);
                                            if (row != null)
                                            {
                                                if (row.SizeQuantity != null)
                                                {
                                                    newVariable.SizeConsumption = (int)row.SizeQuantity;
                                                }
                                            }
                                            else
                                            {
                                                newVariable.SizeConsumption = 0;
                                            }
                                        }
                                        else
                                        {
                                            newVariable.SizeConsumption = 0;
                                        }
                                    }
                                    ReturnResult.Add(temp);
                                }
                            }
                            else
                            {
                                var temp = new RouteCardViewModel
                                {
                                    WareHouseDegreeList = ViewModel.WareHouseDegreeList,
                                    TblSalesOrder       = item.TblSalesOrder,
                                    TblColor            = item.TblColor,
                                    ObjectIndex         = Guid.NewGuid().ToString("D"),

                                    ColorPerRow      = item.TblColor1,
                                    SalesOrderPerRow = item.TblSalesOrder1,
                                    Degree           = "1st",
                                    Price            = CostPerOperation,
                                };

                                foreach (var sizeItem in item.TblSalesOrderSizeRatios)
                                {
                                    var routeCardSize = new RoutCardSizeInfo
                                    {
                                        SizeCode         = sizeItem.Size,
                                        SizeConsumption  = (int)sizeItem.Ratio,
                                        IsTextBoxEnabled = true
                                    };
                                    temp.RoutCardSizes.Add(routeCardSize);
                                }
                                ReturnResult.Add(temp);
                            }
                        }
                        ViewModel.RouteCardDetailOperationList = RouteCardDetailOperationList;
                        SubmitAction(this, new EventArgs());
                    }
                }
                DialogResult = true;
            }
            catch (Exception ex)
            {
                var errw = new ErrorWindow(ex);
                errw.Show();
            }
        }