Beispiel #1
0
        private void UserNoOrPhone_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.Count() == 1)
                {
                    _user = users.First();
                    _balanceDomainModel.CashTotal    = _user.CashTotal;
                    _balanceDomainModel.MemberPoints = _user.MemberPoints;


                    _balanceDomainModel.UserBaseInfo   = string.Format("姓名:{0} 电话:{1}", _user.Name, _user.Phone);
                    _balanceDomainModel.UserMemberInfo = string.Format("会员账户:剩余金额:{0}, 累计积分:{1}",
                                                                       _user.CashTotal.ToString("F2"), _user.MemberPoints.ToString("F2"));

                    _balanceDomainModel.MemberInfo = string.Format("当前积分:{0}, 本次积分:{1}, 累计积分:{2}",
                                                                   _balanceDomainModel.MemberPoints.ToString("F2"),
                                                                   _balanceDomainModel.CurrentMemberPoints.ToString("F2"),
                                                                   (_balanceDomainModel.CurrentMemberPoints + _balanceDomainModel.MemberPoints).ToString("F2"));
                }
            }
        }
Beispiel #2
0
        private void ButSave_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                DataModel.Model.User bindingUser = _userRepository.GetByUserId(_userId);

                bindingUser.CashTotal   = _memberCard.TotalSurplusMoney += _savedMoneyModel.SavedMoney + _savedMoneyModel.PresentedMoney;
                bindingUser.CashBalance = _memberCard.PrincipalSurplusMoney += _savedMoneyModel.SavedMoney;
                bindingUser.CashFee     = _memberCard.FavorableSurplusMoney += _savedMoneyModel.PresentedMoney;

                _memberCard.MemberCardlogs.Add(new DataModel.Model.MemberCardLog
                {
                    FavorableMoney = _savedMoneyModel.PresentedMoney,
                    PrincipalMoney = _savedMoneyModel.SavedMoney,
                    LogType        = (sbyte)DataType.MemberCardLogType.Saved,
                    ChangedBy      = ResourcesHelper.CurrentUser.Name,
                    DateChanged    = DateTime.Now,
                    NewValue       = string.Format(ResourcesHelper.MemberCardLogFormat,
                                                   ComboLogType.Text,
                                                   bindingUser.Name,
                                                   _savedMoneyModel.SavedMoney.ToString("F2"),
                                                   _savedMoneyModel.PresentedMoney.ToString("F2"),
                                                   _memberCard.TotalSurplusMoney.ToString("F2"))
                });
                _memberCardRepository.Update(_memberCard);

                bindingUser.Userlogs.Add(new Userlog
                {
                    LogType     = (sbyte)DataType.MemberCardLogType.Saved,
                    ChangedBy   = ResourcesHelper.CurrentUser.Name,
                    DateChanged = DateTime.Now,
                    NewValue    = string.Format(ResourcesHelper.UserLogMemberCardFormat,
                                                ComboLogType.Text,
                                                _savedMoneyModel.SavedMoney.ToString("F2"),
                                                _savedMoneyModel.PresentedMoney.ToString("F2"),
                                                _memberCard.TotalSurplusMoney.ToString("F2"))
                });
                _userRepository.Update(bindingUser);

                _unitOfWork.Commit();

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

                MessageBox.Show("充值失败!", Properties.Resources.SystemName,
                                MessageBoxButton.OK, MessageBoxImage.Error);
            }

            _user.ExecuteSearchText();
            Close();
        }
        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;
            }
        }
Beispiel #4
0
        private void LoginCheck()
        {
            string login    = TextLogin.Text;
            string password = TextPassword.Password;

            if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
            {
                return;
            }

            DataModel.Model.User user = _userRepository.Query().SingleOrDefault(x => x.Login == login);
            if (user != null && SaltedHash.Create(user.PasswordSalt, user.PasswordHash).Verify(password))
            {
                ResourcesHelper.CurrentUserRolePermission = new RolePermission((DataType.UserType)user.UserType);
                ResourcesHelper.SystemSettings            = _systemSettingRepository.Query()
                                                            .Where(x => x.IsEnable)
                                                            .ToList()
                                                            .ToDictionary(x => short.Parse(x.SettingCode), x => x.SettingValue);
                ResourcesHelper.CurrentUser = user;

                if (CheckBoxLogin.IsChecked.HasValue &&
                    CheckBoxLogin.IsChecked.Value)
                {
                    Settings.Default.Login = login;
                    Settings.Default.Save();
                }

                MainWindow mainWindow = new MainWindow();
                mainWindow.Show();
                Close();
            }
            else
            {
                MessageBox.Show("用户名和密码不正确!", Properties.Resources.SystemName, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        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;
            };
        }
        private void SaveUserWithMemberCard()
        {
            if (_memberCard != null)
            {
                DataModel.Model.User bindingUser = _userRepository.GetByUserId(_userId);

                if (_memberCard.RelateUserId.HasValue)
                {
                    try
                    {
                        if (!ComparePasswordEqual())
                        {
                            return;
                        }
                        SaltedHash saltedHash = SaltedHash.Create(txtFirstPassWord.Password);
                        _memberCard.PasswordHash = saltedHash.Hash;
                        _memberCard.PasswordSalt = saltedHash.Salt;

                        _memberCard.MemberCardlogs.Add(new DataModel.Model.MemberCardLog
                        {
                            ChangedBy   = ResourcesHelper.CurrentUser.Name,
                            DateChanged = DateTime.Now,
                            NewValue    = string.Format("会员: {0}与购物卡: {1}重新设置密码!", bindingUser.Name, _memberCard.MemberCardNo)
                        });

                        _memberCardRepository.Update(_memberCard);

                        _unitOfWork.Commit();

                        MessageBox.Show("密码设置成功!", Properties.Resources.SystemName,
                                        MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteLog(ex.ToString());

                        MessageBox.Show("密码设置失败!", Properties.Resources.SystemName,
                                        MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                else
                {
                    try
                    {
                        if (!ComparePasswordEqual())
                        {
                            return;
                        }
                        SaltedHash saltedHash = SaltedHash.Create(txtFirstPassWord.Password);
                        _memberCard.PasswordHash     = saltedHash.Hash;
                        _memberCard.PasswordSalt     = saltedHash.Salt;
                        _memberCard.DispatchUserId   = ResourcesHelper.CurrentUser.UserId;
                        _memberCard.RelateUserId     = _userId;
                        _memberCard.MemberCardStatus = (sbyte)DataType.MemberCardStatus.Active;

                        _memberCard.MemberCardlogs.Add(new DataModel.Model.MemberCardLog
                        {
                            ChangedBy      = ResourcesHelper.CurrentUser.Name,
                            DateChanged    = DateTime.Now,
                            PrincipalMoney = _memberCard.PrincipalSurplusMoney,
                            FavorableMoney = _memberCard.FavorableSurplusMoney,
                            LogType        = (sbyte)DataType.MemberCardLogType.Saved,
                            NewValue       = string.Format(ResourcesHelper.MemberCardLogUserFormat,
                                                           bindingUser.Name,
                                                           _memberCard.MemberCardNo,
                                                           _memberCard.PrincipalSurplusMoney.ToString("F2"))
                        });
                        _memberCardRepository.Update(_memberCard);

                        DataModel.Model.User user = _userRepository.GetByUserId(_userId);
                        user.CashTotal   = _memberCard.TotalSurplusMoney;
                        user.CashFee     = _memberCard.FavorableSurplusMoney;
                        user.CashBalance = _memberCard.PrincipalSurplusMoney;
                        _userRepository.Update(user);

                        _unitOfWork.Commit();

                        MessageBox.Show("购物卡绑定成功!", Properties.Resources.SystemName,
                                        MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteLog(ex.ToString());

                        MessageBox.Show("购物卡绑定失败!", Properties.Resources.SystemName,
                                        MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }

                _user.ExecuteSearchText();
                Close();
            }
        }