public static void Print(DataModel.Model.SaleOrder saleOrder)
 {
     using (
         ReportPrint report =
             new ReportPrint(ResourcesHelper.SystemSettings[(short)DataType.SystemSettingCode.ReportPrintName]))
     {
         {
             SaleOrderReportModel saleOrderReportModel = new SaleOrderReportModel
             {
                 SOProucedDetailReportModels = new List <SOProucedDetailReportModel>(),
                 SOProuceSummaryReportModels = new List <SOProuceSummaryReportModel>
                 {
                     new SOProuceSummaryReportModel
                     {
                         MerchantsName =
                             ResourcesHelper.SystemSettings[(short)DataType.SystemSettingCode.ReportMerchantsName],
                         OriginUser           = ResourcesHelper.CurrentUser.Name,
                         SaleOrderNo          = saleOrder.SaleOrderNo,
                         ProduceTotalCount    = saleOrder.ProduceTotalCount ?? 0,
                         ProduceTotalOriginal = saleOrder.ProduceTotalOriginal ?? 0,
                         RealPrice            = saleOrder.UserRealPrice ?? saleOrder.TotalCost ?? 0,
                         ReturnedPrice        = saleOrder.UserReturnedPrice ?? 0,
                         ProduceTotalDiscountAndFavorableCost =
                             (saleOrder.ProduceTotalDiscount ?? 0) + (saleOrder.FavorableCost ?? 0),
                         TotalCost      = saleOrder.TotalCost ?? 0,
                         ProduceCost    = saleOrder.ProduceCost ?? 0,
                         HowBalance     = (byte)saleOrder.HowBalance,
                         HowBalanceName =
                             CommonHelper.Enumerate <DataType.SaleOrderBalancedMode>()
                             .Single(x => x.Key == saleOrder.HowBalance)
                             .Value,
                         Phone   = ResourcesHelper.SystemSettings[(short)DataType.SystemSettingCode.ReportPhone],
                         Address =
                             ResourcesHelper.SystemSettings[(short)DataType.SystemSettingCode.ReportAddress],
                         Healthline =
                             ResourcesHelper.SystemSettings[(short)DataType.SystemSettingCode.ReportHealthline],
                         WebSiteUrl =
                             ResourcesHelper.SystemSettings[(short)DataType.SystemSettingCode.ReportWebSiteUrl],
                         MemberCardCashTotal =
                             saleOrder.HowBalance == (sbyte)DataType.SaleOrderBalancedMode.MemberCard
                             ?saleOrder.PrucahseOrderUserUser.CashTotal
                             :saleOrder.UserReturnedPrice ?? 0,
                     }
                 }
             };
             saleOrder.SOProduces.ForEach(x =>
                                          saleOrderReportModel.SOProucedDetailReportModels.Add(new SOProucedDetailReportModel
             {
                 ProduceName = x.Produce.Name,
                 CostPerUnit = x.CostPerUnit ?? 0,
                 Quantity    = x.Quantity ?? 0,
                 RetailPrice = x.RetailPrice ?? 0
             }));
             report.Run(saleOrderReportModel);
         }
     }
 }
Example #2
0
        private void GridSaleOrders_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            _soProduceDomainModels.Clear();

            DataModel.Model.SaleOrder saleOrder = (DataModel.Model.SaleOrder)((DataGrid)sender).CurrentItem;

            if (saleOrder == null && ((DataGrid)sender).Items.Count > 0)
            {
                saleOrder = (DataModel.Model.SaleOrder)((DataGrid)sender).Items[0];
            }

            if (saleOrder != null)
            {
                saleOrder.SOProduces.ForEach(x => _soProduceDomainModels.Add(new SOProduceDomainModel
                {
                    SOProduce      = x,
                    SOProduceTotal = (x.Quantity * x.CostPerUnit) ?? 0
                }));
            }
        }
Example #3
0
        public BalanceFrom(SaleOrderForm saleOrderFormWindow, IUnitOfWork unitOfWork,
                           DataModel.Model.SaleOrder saleOrder)
        {
            InitializeComponent();

            _unitOfWork          = unitOfWork;
            _saleOrderRepository = _unitOfWork.GetRepository <SaleOrderRepository>();
            _soProduceRepository = _unitOfWork.GetRepository <SOProduceRepository>();
            _produceRepository   = _unitOfWork.GetRepository <ProduceRepository>();
            _userRepository      = _unitOfWork.GetRepository <UserRepository>();

            _saleOrderFormWindow = saleOrderFormWindow;

            _saleOrder          = saleOrder;
            _balanceDomainModel = new BalanceDomainModel
            {
                TotalPrice    = saleOrder.TotalCost ?? 0,
                DiscountPrice = 0.0f,
                CashTotal     = _user.CashTotal,
            };

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

            RadBanlanceModeCard.Click += (s, e) =>
            {
                TabItemCard.IsSelected = true;
            };
            RadBanlanceModeCash.Click += (s, e) =>
            {
                TabItemCash.IsSelected = true;
            };
        }
        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;
            };
        }