コード例 #1
0
        private void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                _produces.Where(x => !string.IsNullOrEmpty(x.ProduceNo) &&
                                !string.IsNullOrEmpty(x.Name)).ForEach(x =>
                {
                    x.BarCode   = string.IsNullOrEmpty(x.BarCode) ? null : x.BarCode;
                    x.ProduceNo = string.IsNullOrEmpty(x.ProduceNo) ? null : x.ProduceNo;
                    if (x.ProduceId == 0)
                    {
                        CommonHelper.AddCreatedOnAndDate(ResourcesHelper.CurrentUser, _produces);
                        _produceRepository.Create(x);
                    }
                });
                var duBarCodes   = _produces.Where(x => x.BarCode != null).GroupBy(x => x.BarCode).Where(g => g.Count() > 1).Select(x => x.Key).ToList();
                var duProduceNos = _produces.Where(x => x.ProduceNo != null).GroupBy(x => x.ProduceNo).Where(g => g.Count() > 1).Select(x => x.Key).ToList();

                if (duBarCodes.Any() || duProduceNos.Any())
                {
                    var BarCodesMsg     = duBarCodes.JoinStrings("|");
                    var duProduceNosMsg = duProduceNos.JoinStrings("|");
                    MessageBox.Show(string.Format("商品条形码或者商品编号不唯一!\r\n{0}\r\n{1}",
                                                  duBarCodes.Any() ? string.Format("商品条形码: {0}", BarCodesMsg) : string.Empty,
                                                  duProduceNos.Any() ? string.Format("商品编号不: {0}", duProduceNosMsg) : string.Empty),
                                    SmallHoneybee.Wpf.Properties.Resources.SystemName,
                                    MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }

                _unitOfWork.Commit();

                MessageBox.Show("保存成功!", SmallHoneybee.Wpf.Properties.Resources.SystemName,
                                MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (Exception ex)
            {
                Log4NetHelper.WriteLog(ex.ToString());

                InitUnitOfWork();
                MessageBox.Show("保存失败!", SmallHoneybee.Wpf.Properties.Resources.SystemName,
                                MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
コード例 #2
0
        private void SaveSaleOrder(DataType.SaleOrderStatus saleOrderStatus = DataType.SaleOrderStatus.NotBalanced)
        {
            _saleOrder.HowBalance = RadBanlanceModeCash.IsChecked.HasValue && RadBanlanceModeCash.IsChecked.Value
                    ? (SByte)DataType.SaleOrderBalancedMode.Cash
                    : RadBanlanceModeCard.IsChecked.HasValue && RadBanlanceModeCard.IsChecked.Value
                        ? (SByte)DataType.SaleOrderBalancedMode.MemberCard
                        : (SByte)DataType.SaleOrderBalancedMode.UnitUnionPay;

            _soProduceDomainModels.ForEach(
                x =>
            {
                x.SOProduce.RetailPrice             = x.SOProduce.Produce.RetailPrice;
                x.SOProduce.SOProduceStatusCategory = (sbyte)saleOrderStatus;
            });
            _saleOrder.FavorableCost     = _balanceDomainModel.DiscountPrice;
            _saleOrder.UserRealPrice     = _balanceDomainModel.RealPrice;
            _saleOrder.UserReturnedPrice = _balanceDomainModel.ReturnedPrice;
            _saleOrder.ProduceCost       = _soProduceDomainModels.Sum(x => x.SOProduce.Quantity * x.CostPerUnit);
            _saleOrder.TotalCost         = (_saleOrder.OtherCost ?? 0) + _saleOrder.ProduceCost;
            _saleOrder.SaleOrderStatus   = (sbyte)saleOrderStatus;

            if (_saleOrder.SaleOrderId == 0)
            {
                CommonHelper.AddCreatedOnAndDate(ResourcesHelper.CurrentUser, _saleOrder);
                _soProduceDomainModels.ForEach(x => CommonHelper.AddCreatedOnAndDate(ResourcesHelper.CurrentUser, x.SOProduce));
                _saleOrder.SOProduces = _soProduceDomainModels.Select(x => x.SOProduce).ToList();
                _saleOrderRepository.Create(_saleOrder);
            }
            else
            {
                CommonHelper.UpdateModifiedOnAndDate(ResourcesHelper.CurrentUser, _saleOrder);
                _soProduceDomainModels.ForEach(x => CommonHelper.AddCreatedOnAndDate(ResourcesHelper.CurrentUser, x.SOProduce));
                _saleOrder.SOProduces = _soProduceDomainModels.Select(x => x.SOProduce).ToList();
                _saleOrderRepository.Update(_saleOrder);
            }

            _saleOrder.SaleOrderStatus = (sbyte)saleOrderStatus;
        }