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); } }
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; }