Beispiel #1
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();
            }
        }
        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            if (_inspection)
            {
                try
                {
                    var selectedrow = MainGrid.SelectedItem as _proxy.RouteCardHeader;

                    _routeCardHeader.RouteCardDetails.Clear();
                    _routeCardHeader.LinkIserial = selectedrow.Iserial;
                    var objectindexlist = selectedrow.RouteCardDetails.Select(x => x.ObjectIndex);

                    foreach (var variable in objectindexlist)
                    {
                        var savedrow = selectedrow.RouteCardDetails.FirstOrDefault(x => x.ObjectIndex == variable);

                        var temp = (RouteCardViewModel) new RouteCardViewModel().InjectFrom(savedrow);

                        if (savedrow != null)
                        {
                            temp.ColorPerRow      = savedrow.TblColor1;
                            temp.SalesOrderPerRow = savedrow.TblSalesOrder1;
                        }

                        foreach (var VARIABLE in _viewModel.Sizes.Where((x => x.TblSizeGroup == savedrow.TblSalesOrder1.TblStyle1.TblSizeGroup)).OrderBy(x => x.Id).Distinct())
                        {
                            foreach (var item in selectedrow.RouteCardDetails.OrderBy(x => x.Iserial).Where(x => x.ObjectIndex == variable && x.Size == VARIABLE.SizeCode).ToList())
                            {
                                if (item.SizeQuantity != null)
                                {
                                    var newSize = new RoutCardSizeInfo
                                    {
                                        SizeCode         = item.Size,
                                        SizeConsumption  = (int)item.SizeQuantity,
                                        IsTextBoxEnabled = true
                                    };
                                    temp.RoutCardSizes.Add(newSize);
                                }
                            }
                        }

                        temp.RowTotal = temp.RoutCardSizes.Sum(x => x.SizeConsumption);
                        if (_routeCardHeader.RouteCardDetails.All(x => x.ObjectIndex != variable))
                        {
                            _routeCardHeader.RouteCardDetails.Add(temp);
                        }
                    }
                }
                catch (Exception ex)
                {
                    var err = new ErrorWindow(ex);
                    err.Show();
                }
            }
            else
            {
                RouteCardMappers.MapToViewModel(MainGrid.SelectedItem as RouteCardService.RouteCardHeader, _routeCardHeader);
                if (_viewModel.VendorList != null)
                {
                    if (_viewModel.VendorList.Any(w => w.vendor_code == _routeCardHeader.VendorCode))
                    {
                        _routeCardHeader.VendorPerRow = new _proxy.Vendor().InjectFrom(_viewModel.VendorList.FirstOrDefault(w => w.vendor_code == _routeCardHeader.VendorCode)) as _proxy.Vendor;
                    }
                }

                _routeCardHeader.LoadRouteDetails();
            }
            DialogResult = true;
        }