コード例 #1
0
        private void ExecuteSearchText()
        {
            _unitOfWork           = UnityInit.UnitOfWork;
            _memberCardRepository = _unitOfWork.GetRepository <MemberCardRepository>();

            _memberCards.Clear();
            _memberCardRepository
            .Query()
            .Where(x =>
                   x.MemberCardNo.Contains(TxtSearchBox.Text) ||
                   x.Name.Contains(TxtSearchBox.Text))
            .ToList()
            .ForEach(x => _memberCards.Add(new MemberCardModel
            {
                MemberCard     = x,
                RelateUserName = x.RelateUserId.HasValue
                        ? x.RelateUserUser.Name
                        : string.Empty,

                DispatchUserName = x.DispatchUserId.HasValue
                        ? x.DispatchUserUser.Name
                        : string.Empty,
                CanUpdate = x.MemberCardStatus == (sbyte)DataType.MemberCardStatus.NonActive &&
                            !x.RelateUserId.HasValue
            }));

            InitBlankRow();
        }
コード例 #2
0
 private void TxtMemberCardNo_OnKeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         List <DataModel.Model.MemberCard> memberCards =
             _memberCardRepository
             .Query()
             .Where(x => x.MemberCardNo == txtMemberCardNo.Text ||
                    x.MemberCardNo == (ResourcesHelper.MFTMemberCard + txtMemberCardNo.Text))
             .ToList();
         if (memberCards.Count != 1)
         {
             MessageBox.Show("购物卡编号不正确, 请重新输入!", Properties.Resources.SystemName,
                             MessageBoxButton.OK, MessageBoxImage.Error);
             return;
         }
         else
         {
             if (memberCards[0].RelateUserId.HasValue)
             {
                 MessageBox.Show("购物卡已经关联其他用户, 请重新输入!", Properties.Resources.SystemName,
                                 MessageBoxButton.OK, MessageBoxImage.Error);
                 return;
             }
             else
             {
                 _memberCard = memberCards[0];
                 SetMemberCardInfo();
             }
         }
     }
 }
コード例 #3
0
        private void ExecuteSearchText()
        {
            _unitOfWork           = UnityInit.UnitOfWork;
            _userRepository       = _unitOfWork.GetRepository <UserRepository>();
            _memberCardRepository = _unitOfWork.GetRepository <MemberCardRepository>();
            _saleOrderRepository  = _unitOfWork.GetRepository <SaleOrderRepository>();

            _memberCard =
                _memberCardRepository.Query()
                .FirstOrDefault(x => x.IsEnable && x.RelateUserId == _userId);

            SetMemberCardInfo();
        }
コード例 #4
0
 private void TxtPassword_OnKeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         var memberCard = _memberCardRepository.Query()
                          .FirstOrDefault(x => x.MemberCardId == _memberCardId);
         if (memberCard != null &&
             SaltedHash.Create(memberCard.PasswordSalt, memberCard.PasswordHash).Verify(txtPassword.Password))
         {
             IsCheckOK = true;
             Close();
         }
         else
         {
             MessageBox.Show("密码不正确!", Properties.Resources.SystemName, MessageBoxButton.OK, MessageBoxImage.Error);
             txtPassword.Clear();
         }
     }
 }
コード例 #5
0
        private void TxtUserNoOrPhone_OnTextChanged(object sender, TextChangedEventArgs e)
        {
            var barCode = (TextBox)sender;

            if (barCode.IsFocused && !string.IsNullOrEmpty(barCode.Text) && barCode.Text.Length >= 3)
            {
                var users = _userRepository.Query()
                            .Where(x => x.Phone.StartsWith(barCode.Text) ||
                                   x.UserNo.StartsWith(barCode.Text));
                if (!users.Any())
                {
                    var memberCards = _memberCardRepository.Query()
                                      .Where(x => x.MemberCardNo.StartsWith(ResourcesHelper.MFTMemberCard + barCode.Text));
                    if (memberCards.Count() == 1)
                    {
                        _memberCard = memberCards.First();
                        if (_memberCard.RelateUserId.HasValue)
                        {
                            _user = _memberCard.RelateUserUser;
                        }
                        SetUserInfo();
                    }
                }
                else if (users.Count() == 1)
                {
                    _user = users.First();
                    if (_user.MemberCardsRelateUser.Any(x => x.IsEnable &&
                                                        x.MemberCardStatus == (sbyte)DataType.MemberCardStatus.Active))
                    {
                        _memberCard = _user.MemberCardsRelateUser.First(x => x.IsEnable &&
                                                                        x.MemberCardStatus == (sbyte)DataType.MemberCardStatus.Active);
                    }
                    SetUserInfo();
                }

                _saleOrder.PurchaseOrderUserId = _user.UserId > 0 ? _user.UserId : (int?)null;
            }
        }
コード例 #6
0
        private void ExecuteSearchText()
        {
            _unitOfWork           = UnityInit.UnitOfWork;
            _userRepository       = _unitOfWork.GetRepository <UserRepository>();
            _memberCardRepository = _unitOfWork.GetRepository <MemberCardRepository>();
            _saleOrderRepository  = _unitOfWork.GetRepository <SaleOrderRepository>();

            _memberCard =
                _memberCardRepository.Query()
                .FirstOrDefault(x => x.IsEnable && x.RelateUserId == _userId);

            if (_memberCard != null)
            {
                SetMemberCardInfo();

                txtMemberCardNo.IsEnabled = false;
                txtFirstPassWord.Focus();
            }
            else
            {
                txtMemberCardNo.Focus();
            }
        }
コード例 #7
0
        public SaleOrderForm(SaleOrder saleOrderWindow, DataModel.Model.SaleOrder saleOrder)
        {
            InitializeComponent();

            TxtUserNoOrPhone.Focus();

            _unitOfWork           = UnityInit.UnitOfWork;
            _saleOrderRepository  = _unitOfWork.GetRepository <SaleOrderRepository>();
            _soProduceRepository  = _unitOfWork.GetRepository <SOProduceRepository>();
            _produceRepository    = _unitOfWork.GetRepository <ProduceRepository>();
            _userRepository       = _unitOfWork.GetRepository <UserRepository>();
            _memberCardRepository = _unitOfWork.GetRepository <IMemberCardRepository>();

            SaleOrderWindow = saleOrderWindow;

            if (saleOrder.SaleOrderId > 0)
            {
                _saleOrder = _saleOrderRepository.Query()
                             .Single(x => x.SaleOrderId == saleOrder.SaleOrderId);
                _saleOrder.SOProduces.ForEach(x => _soProduceDomainModels.Add(new SOProduceDomainModel
                {
                    SOProduce      = x,
                    CostPerUnit    = x.CostPerUnit,
                    SOProduceTotal = (x.CostPerUnit ?? 0) * x.Quantity ?? 0
                }));

                if (_saleOrder.PurchaseOrderUserId.HasValue)
                {
                    _user       = _userRepository.GetByUserId(_saleOrder.PurchaseOrderUserId.Value);
                    _memberCard =
                        _memberCardRepository.Query()
                        .FirstOrDefault(x => x.IsEnable && x.RelateUserId == _saleOrder.PurchaseOrderUserId);
                    if (_memberCard == null)
                    {
                        _memberCard = new DataModel.Model.MemberCard();
                    }
                }
            }
            else
            {
                _saleOrder = saleOrder;
            }

            if (_saleOrder.SaleOrderStatus == (byte)DataType.SaleOrderStatus.Balanced)
            {
                ButSave.IsEnabled    = false;
                ButBalance.IsEnabled = false;
            }

            if (_saleOrder.HowBalance == (sbyte)DataType.SaleOrderBalancedMode.Cash)
            {
                TabItemCash.IsSelected        = true;
                RadBanlanceModeCash.IsChecked = true;
            }
            else if (_saleOrder.HowBalance == (sbyte)DataType.SaleOrderBalancedMode.MemberCard)
            {
                RadBanlanceModeCard.IsChecked = true;
                TabItemCard.IsSelected        = true;
            }
            else
            {
                RadBanlanceModeUnionPay.IsChecked = true;
                TabItemUnionPay.IsSelected        = true;
            }

            _balanceDomainModel = new BalanceDomainModel
            {
                TotalPrice    = saleOrder.TotalCost ?? 0,
                DiscountPrice = saleOrder.FavorableCost ?? 0,
                CashTotal     = _user.CashTotal,
                RealPrice     = saleOrder.UserRealPrice ?? 0,
                ReturnedPrice = saleOrder.UserReturnedPrice ?? 0
            };

            DataContext = new
            {
                SaleOrder = _saleOrder,
                SOProduceDomainModels,
                ResourcesHelper.CurrentUserRolePermission,
                BalanceDomainModel = _balanceDomainModel,
            };

            TxtDiscount.Text  = _balanceDomainModel.DiscountPrice.ToString();
            TxtRealPrice.Text = _balanceDomainModel.RealPrice.ToString();

            _soProduceDomainModels.CollectionChanged += (sender, e) => SetTotalNameberText();

            SetTotalNameberText();
            SetUserInfo();

            RadBanlanceModeCard.Click += (s, e) =>
            {
                TabItemCard.IsSelected = true;
            };
            RadBanlanceModeCash.Click += (s, e) =>
            {
                TabItemCash.IsSelected = true;
            };
            RadBanlanceModeUnionPay.Click += (s, e) =>
            {
                TabItemUnionPay.IsSelected = true;
            };
        }
コード例 #8
0
        private void ExecuteSearchText()
        {
            _unitOfWork              = UnityInit.UnitOfWork;
            _memberCardRepository    = _unitOfWork.GetRepository <MemberCardRepository>();
            _userRepository          = _unitOfWork.GetRepository <UserRepository>();
            _memberCardLogRepository = _unitOfWork.GetRepository <MemberCardLogRepository>();


            DateTime?startDate = DateStartDate.SelectedDate;
            DateTime?endDate   = DateEndDate.SelectedDate;

            if (startDate.HasValue && endDate.HasValue)
            {
                endDate = endDate.Value.AddDays(1);
            }
            else if (startDate.HasValue)
            {
                endDate = DateTime.MaxValue;
            }
            else if (endDate.HasValue)
            {
                endDate   = endDate.Value.AddDays(1);
                startDate = DateTime.MinValue;
            }

            _memberCardDetails.Clear();
            var memberCardDetails =
                from user in _userRepository
                .Query()
                .Where(x => x.Name.Contains(TxtSearchBox.Text) ||
                       x.Phone.Contains(TxtSearchBox.Text))
                join memberCard in _memberCardRepository
                .Query()
                .Where(x => x.MemberCardNo.Contains(TxtSearchBox.Text))
                on user.UserId equals memberCard.RelateUserId
                join memberCardLog in _memberCardLogRepository
                .Query()
                .Where(x => x.DateChanged >= startDate &&
                       x.DateChanged < endDate)
                on memberCard.MemberCardId equals memberCardLog.MemberCardId
                select new MemberCardDetailModel
            {
                MemberCardId   = memberCard.MemberCardId,
                DateChanged    = memberCardLog.DateChanged,
                ChangedBy      = memberCardLog.ChangedBy,
                MemberCardNo   = memberCard.MemberCardNo,
                RelateUser     = user.Name,
                PrincipalMoney = memberCardLog.PrincipalMoney,
                FavorableMoney = memberCardLog.FavorableMoney,
                TotalMoney     = memberCardLog.PrincipalMoney + memberCardLog.FavorableMoney,
                Description    = memberCardLog.NewValue,
                LogType        = memberCardLog.LogType,
            };

            if (ComboTransactionType.SelectedValue != null)
            {
                sbyte transactionType = (sbyte)ComboTransactionType.SelectedValue;
                memberCardDetails = memberCardDetails.Where(x => x.LogType == transactionType);
            }

            if (ComboHowBalance.SelectedValue != null)
            {
                memberCardDetails = memberCardDetails.Where(x => x.Description.Contains(ComboHowBalance.Text));
            }

            memberCardDetails
            .OrderByDescending(x => x.DateChanged)
            .ToList()
            .ForEach(x => _memberCardDetails.Add(x));

            TxtTotalInfo.Text = string.Format("共计 {0} 条记录, 交易本金: {1}, 交易赠送金额: {2},交易总金额: {3}",
                                              memberCardDetails.Count(),
                                              (memberCardDetails.Sum(x => (float?)x.PrincipalMoney) ?? 0).ToString("F2"),
                                              (memberCardDetails.Sum(x => (float?)x.FavorableMoney) ?? 0).ToString("F2"),
                                              (memberCardDetails.Sum(x => (float?)x.FavorableMoney + (float?)x.PrincipalMoney) ?? 0).ToString("F2"));
        }