Ejemplo n.º 1
0
 public SaleOrderBusiness(ISaleOrderRepository saleOrderRepository, ICommonBusiness commonBusiness, IMailBusiness mailBusiness, IPDFGeneratorBusiness pDFGeneratorBusiness)
 {
     _saleOrderRepository  = saleOrderRepository;
     _commonBusiness       = commonBusiness;
     _mailBusiness         = mailBusiness;
     _pDFGeneratorBusiness = pDFGeneratorBusiness;
 }
Ejemplo n.º 2
0
 public SaleOrderService(ISaleOrderRepository saleOrderRepository, CustomerService customerService, EmployeeService employeeService, IFinanceOrderRepository financeOrderRepository) : base(saleOrderRepository)
 {
     this.SaleOrderRepository    = saleOrderRepository;
     this.CustomerService        = customerService;
     this.EmployeeService        = employeeService;
     this.FinanceOrderRepository = financeOrderRepository;
 }
 public LogisticsKdBridProviderService(IProviderFactoryRepository providerRepository,
                                       ISaleOrderRepository saleOrderRepository)
 {
     _connectionRepository = providerRepository;
     _saleOrderRepository  = saleOrderRepository;
     _providerFactory      = _connectionRepository.GetKdBridProviderConnection();
     _connect = _providerFactory.GetConnections <KdBridConnect>(KDBRID);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public DeliveryService()
 {
     this.deliveryRepository       = new DeliveryRepository();
     this.deliveryDetailRepository = new DeliveryDetailRepository();
     this.purchaseRepository       = new PurchaseRepository();
     this.saleRepository           = new SaleRepository();
     this.saleOrderRepository      = new SaleOrderRepository();
     this.costRepository           = new CostRepository();
 }
Ejemplo n.º 5
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();
        }
        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();
            }
        }
Ejemplo n.º 7
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;
            };
        }
Ejemplo n.º 8
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public SaleOrderService()
 {
     this.saleOrderRepository       = new SaleOrderRepository();
     this.customerAddressRepository = new CustomerAddressRepository();
 }
Ejemplo n.º 9
0
 public SaleOrdersController(ISaleOrderRepository collectionSaleOrder, ISubServiceRepository collectionSubService)
 {
     this.collectionSaleOrder  = collectionSaleOrder;
     this.collectionSubService = collectionSubService;
 }
Ejemplo n.º 10
0
        public void CreateAndUpdateSaleOrder(SaleOrderContract saleOrderContract)
        {
            var saleorder = ISaleOrderRepository.Get(saleOrderContract.Id);

            if (saleorder != null)
            {
                saleorder.Code = saleOrderContract.Code;
                //saleorder.CreationDate = saleOrderContract.CreationDate; lazem nist moghe sakht object bevojode amede mesl Id
                saleorder.Title = saleOrderContract.Title;
                for (int i = 0; i < saleOrderContract.SaleOrderItemContracts.Count; i++)
                {
                    var Temp = saleOrderContract.SaleOrderItemContracts[i];
                    if (saleorder.saleOrderItems.Any(s => s.Id == Temp.Id))
                    {
                        var Insaleorderitem = saleorder.saleOrderItems.FirstOrDefault(s => s.Id == Temp.Id);
                        Insaleorderitem.NetPrice   = Temp.NetPrice;
                        Insaleorderitem.Quantity   = Temp.Quantity;
                        Insaleorderitem.TotalPrice = Temp.TotalPrice;
                        Insaleorderitem.UnitPrice  = Temp.UnitPrice;
                        Insaleorderitem.Rack       = IRackRepository.Get(Temp.RackId);
                        Insaleorderitem.Item       = IItemRepository.Get(Temp.ItemId);
                    }
                    else
                    {
                        Insaleorderitem            = new SaleOrderItem();
                        Insaleorderitem.NetPrice   = Temp.NetPrice;
                        Insaleorderitem.Quantity   = Temp.Quantity;
                        Insaleorderitem.TotalPrice = Temp.TotalPrice;
                        Insaleorderitem.UnitPrice  = Temp.UnitPrice;
                        Insaleorderitem.Rack       = IRackRepository.Get(Temp.RackId);
                        Insaleorderitem.Item       = IItemRepository.Get(Temp.ItemId);


                        saleorder.saleOrderItems.Add(Insaleorderitem);
                    }
                }
                //var DeleteOrderItem = saleorder.saleOrderItems.Where(x =>
                //    !saleOrderContract.SaleOrderItemContracts.Any(y => y.Id == x.Id));
                for (int i = 0; i < saleorder.saleOrderItems.Count; i++)
                {
                    var Temp = saleorder.saleOrderItems.ToArray()[i];
                    if (!saleOrderContract.SaleOrderItemContracts.Any(s => s.Id == Temp.Id))
                    {
                        saleorder.saleOrderItems.Remove(Temp);
                        //var temp = ISaleOrderRepository.Get(Temp.Id);
                        //ISaleOrderRepository.Delete(temp);
                    }
                }

                ISaleOrderRepository.Update(saleorder);
            }
            else
            {
                saleorder              = new SaleOrder();
                saleorder.Code         = saleOrderContract.Code;
                saleorder.CreationDate = saleOrderContract.CreationDate;
                saleorder.Title        = saleOrderContract.Title;
                for (int i = 0; i < saleOrderContract.SaleOrderItemContracts.Count; i++)
                {
                    var Temp = saleOrderContract.SaleOrderItemContracts[i];
                    Insaleorderitem            = new SaleOrderItem();
                    Insaleorderitem.NetPrice   = Temp.NetPrice;
                    Insaleorderitem.Quantity   = Temp.Quantity;
                    Insaleorderitem.TotalPrice = Temp.TotalPrice;
                    Insaleorderitem.UnitPrice  = Temp.UnitPrice;
                    Insaleorderitem.Rack       = IRackRepository.Get(Temp.RackId);
                    Insaleorderitem.Item       = IItemRepository.Get(Temp.ItemId);


                    saleorder.saleOrderItems.Add(Insaleorderitem);
                }



                ISaleOrderRepository.Insert(saleorder);
            }
        }
Ejemplo n.º 11
0
 public Handler(ISaleOrderRepository repository, IUserIdentityService userIdentityService)
 {
     this._repository          = repository;
     this._userIdentityService = userIdentityService;
 }
Ejemplo n.º 12
0
        //esmet ke doros nist
        public void CreateAndDelete(SaleOrderContract saleOrderContract)
        {
            var SaleOrder = ISaleOrderRepository.Get(saleOrderContract.Id);

            if (SaleOrder != null)
            {
                SaleOrder.CreationDate = DateTime.Now;
                SaleOrder.Title        = saleOrderContract.Title;
                SaleOrder.Code         = saleOrderContract.Code;

                for (int i = 0; i < saleOrderContract.SaleorderItems.Count; i++)
                {
                    var temp = saleOrderContract.SaleorderItems[i];
                    if (SaleOrder.SaleorderItems.Any(p => p.Id == temp.Id))
                    {
                        var Sorderitem = SaleOrder.SaleorderItems.FirstOrDefault(p => p.Id == temp.Id);

                        Sorderitem.QTY        = temp.QTY;
                        Sorderitem.Name       = temp.Name;
                        Sorderitem.NetPrice   = temp.NetPrice;
                        Sorderitem.TotalPrice = temp.TotalPrice;
                        Sorderitem.UnitPrice  = temp.UnitPrice;
                        Sorderitem.Item1      = iitemRepository.Get(temp.ItemId);
                        Sorderitem.Rack1      = iRackRepository.Get(temp.RackId);
                    }


                    else
                    {
                        var res = new SaleOrderItem();
                        res.QTY        = temp.QTY;
                        res.Name       = temp.Name;
                        res.NetPrice   = temp.NetPrice;
                        res.TotalPrice = temp.TotalPrice;
                        res.UnitPrice  = temp.UnitPrice;
                        res.Item1      = iitemRepository.Get(temp.ItemId);
                        res.Rack1      = iRackRepository.Get(temp.RackId);

                        SaleOrder.SaleorderItems.Add(res);
                    }
                }

                foreach (var item in SaleOrder.SaleorderItems)
                {
                    if (SaleOrder.SaleorderItems.Any(s => s.Id != item.Id))
                    {
                        SaleOrder.SaleorderItems.Remove(item);
                    }
                }
                ISaleOrderRepository.Update(SaleOrder);
            }
            else
            {
                SaleOrder.CreationDate = saleOrderContract.CreationDate;
                SaleOrder.Title        = saleOrderContract.Title;
                SaleOrder.Code         = saleOrderContract.Code;

                for (int i = 0; i < saleOrderContract.SaleorderItems.Count; i++)
                {
                    var temp = saleOrderContract.SaleorderItems[i];
                    if (SaleOrder.SaleorderItems.Any(p => p.Id == temp.Id))
                    {
                        var sorderitem = SaleOrder.SaleorderItems.FirstOrDefault(p => p.Id == temp.Id);

                        sorderitem.QTY        = temp.QTY;
                        sorderitem.Name       = temp.Name;
                        sorderitem.NetPrice   = temp.NetPrice;
                        sorderitem.TotalPrice = temp.TotalPrice;
                        sorderitem.UnitPrice  = temp.UnitPrice;
                        sorderitem.Item1      = iitemRepository.Get(temp.ItemId);
                        sorderitem.Rack1      = iRackRepository.Get(temp.RackId);
                    }
                }

                ISaleOrderRepository.Insert(SaleOrder);
            }
        }
Ejemplo n.º 13
0
        public void DeleteSaleOrder(SaleOrderContract saleOrderContract)
        {
            var saleorder = ISaleOrderRepository.Get(saleOrderContract.Id);

            ISaleOrderRepository.Delete(saleorder);
        }
Ejemplo n.º 14
0
        public void ExecuteSearchText()
        {
            _unitOfWork          = UnityInit.UnitOfWork;
            _saleOrderRepository = _unitOfWork.GetRepository <SaleOrderRepository>();

            _saleOrders.Clear();
            IQueryable <DataModel.Model.SaleOrder> saleOrders = _saleOrderRepository.Query();

            if (ResourcesHelper.CurrentUser.UserType < (byte)DataType.UserType.FactoryPriceManger)
            {
                saleOrders =
                    saleOrders.Where(x => x.OriginUserUser.UserType < (byte)DataType.UserType.FactoryPriceManger);
            }

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

            if (startDate.HasValue && endDate.HasValue)
            {
                endDate    = endDate.Value.AddDays(1);
                saleOrders = saleOrders.Where(x => x.DateOriginated >= startDate &&
                                              x.DateOriginated < endDate);
            }
            else if (startDate.HasValue)
            {
                saleOrders = saleOrders.Where(x => x.DateOriginated >= startDate);
            }
            else if (endDate.HasValue)
            {
                endDate = endDate.Value.AddDays(1);

                saleOrders = saleOrders.Where(x => x.DateOriginated < endDate);
            }

            if (ComboHowBalance.SelectedValue != null)
            {
                sbyte howBalance = (sbyte)ComboHowBalance.SelectedValue;
                saleOrders = saleOrders.Where(x => x.HowBalance == howBalance);
            }

            saleOrders
            .OrderByDescending(x => x.DateOriginated)
            .Where(x => x.SaleOrderNo.Contains(TxtSearchBox.Text) ||
                   x.Name.Contains(TxtSearchBox.Text))
            .ToList()
            .ForEach(x => _saleOrders.Add(x));

            var totalInfo = _saleOrders.Where(x => x.SaleOrderStatus == (byte)DataType.SaleOrderStatus.Balanced)
                            .Select(x => new { x, Group1 = 1 })
                            .GroupBy(x => x.Group1)
                            .Select(m => new
            {
                TotalCount             = m.Count(),
                TotalQuantity          = m.Sum(y => y.x.SOProduces.Sum(s => s.Quantity)),
                TotalPrice             = m.Sum(y => y.x.TotalCost),
                TotalMemberCardPrice   = m.Where(y => y.x.HowBalance == (sbyte)DataType.SaleOrderBalancedMode.MemberCard).Sum(s => s.x.TotalCost),
                TotalCashPrice         = m.Where(y => y.x.HowBalance == (sbyte)DataType.SaleOrderBalancedMode.Cash).Sum(s => s.x.TotalCost),
                TotalUnitUnionPayPrice = m.Where(y => y.x.HowBalance == (sbyte)DataType.SaleOrderBalancedMode.UnitUnionPay).Sum(s => s.x.TotalCost)
            }).FirstOrDefault();

            TxtTotalInfo.Text = string.Format("共计 {0} 条记录, 共计 {1} 件商品, 现金: {2}, 银联: {3}, 购物卡: {4}, 总计 {5}",
                                              totalInfo != null ? totalInfo.TotalCount : 0,
                                              (totalInfo != null ? totalInfo.TotalQuantity ?? 0.0F : 0.0F).ToString("F2"),
                                              (totalInfo != null ? totalInfo.TotalCashPrice ?? 0.0F : 0.0F).ToString("F2"),
                                              (totalInfo != null ? totalInfo.TotalUnitUnionPayPrice ?? 0.0F : 0.0F).ToString("F2"),
                                              (totalInfo != null ? totalInfo.TotalMemberCardPrice ?? 0.0F : 0.0F).ToString("F2"),
                                              (totalInfo != null ? totalInfo.TotalPrice ?? 0.0F : 0.0F).ToString("F2"));
        }
Ejemplo n.º 15
0
        public void Delete(SaleOrderContract saleOrderContract)
        {
            var SaleOrderContract = ISaleOrderRepository.Get(saleOrderContract.Id);

            ISaleOrderRepository.Delete(SaleOrderContract);
        }
Ejemplo n.º 16
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;
            };
        }
Ejemplo n.º 17
0
        public void CreateOrUpdate(SaleOrderContract saleOrderContract)
        {
            var SaleOrder = ISaleOrderRepository.Get(saleOrderContract.Id);

            if (SaleOrder != null)
            {
                SaleOrder.CreationDate = DateTime.Now;
                SaleOrder.Title        = saleOrderContract.Title;
                SaleOrder.Code         = saleOrderContract.Code;

                for (int i = 0; i < saleOrderContract.SaleOrderItems.Count; i++)
                {
                    var temp = saleOrderContract.SaleOrderItems[i];
                    if (SaleOrder.SaleOrderItems.Any(p => p.Id == temp.Id))
                    {
                        var Sorderitem = SaleOrder.SaleOrderItems.FirstOrDefault(p => p.Id == temp.Id);

                        Sorderitem.Quantity = temp.Quantity;

                        Sorderitem.NetPrice   = temp.NetPrice;
                        Sorderitem.TotalPrice = temp.TotalPrice;
                        Sorderitem.UnitPrice  = temp.UnitPrice;
                        Sorderitem.Item       = IItemRepository.Get(temp.ItemId);
                        Sorderitem.Rack       = IRackRepository.Get(temp.RackId);
                    }


                    else
                    {
                        var Sorderitem = new SaleOrderItem();
                        Sorderitem.Quantity = temp.Quantity;

                        Sorderitem.NetPrice   = temp.NetPrice;
                        Sorderitem.TotalPrice = temp.TotalPrice;
                        Sorderitem.UnitPrice  = temp.UnitPrice;
                        Sorderitem.Item       = IItemRepository.Get(temp.ItemId);
                        Sorderitem.Rack       = IRackRepository.Get(temp.RackId);
                        SaleOrder.SaleOrderItems.Add(Sorderitem);
                    }
                }

                foreach (var item in SaleOrder.SaleOrderItems)
                {
                    if (!saleOrderContract.SaleOrderItems.Any(p => p.Id == item.Id))
                    {
                        SaleOrder.SaleOrderItems.Remove(item);
                    }
                }

                ISaleOrderRepository.Update(SaleOrder);
            }
            else
            {
                SaleOrder = new SaleOrder();
                SaleOrder.CreationDate = saleOrderContract.CreationDate;
                SaleOrder.Title        = saleOrderContract.Title;
                SaleOrder.Code         = saleOrderContract.Code;

                for (int i = 0; i < saleOrderContract.SaleOrderItems.Count; i++)
                {
                    var temp       = saleOrderContract.SaleOrderItems[i];
                    var Sorderitem = new SaleOrderItem();

                    Sorderitem.NetPrice   = temp.NetPrice;
                    Sorderitem.TotalPrice = temp.TotalPrice;
                    Sorderitem.UnitPrice  = temp.UnitPrice;
                    Sorderitem.Item       = IItemRepository.Get(temp.ItemId);
                    Sorderitem.Rack       = IRackRepository.Get(temp.RackId);
                    SaleOrder.SaleOrderItems.Add(Sorderitem);
                }

                ISaleOrderRepository.Insert(SaleOrder);
            }
        }
Ejemplo n.º 18
0
 public SaleOrderServiceForEF(ISaleOrderRepository orderRep)
 {
     _orderRep = orderRep;
 }
Ejemplo n.º 19
0
 public HomeController(ISaleOrderRepository collectionSaleOrder, ISubServiceRepository collectionSubService)
 {
     funcSale = new SaleOrderFunctions(collectionSubService, collectionSaleOrder);
     this.collectionSaleOrder  = collectionSaleOrder;
     this.collectionSubService = collectionSubService;
 }
Ejemplo n.º 20
0
 public SaleOrderFunctions(ISubServiceRepository collectionSubService, ISaleOrderRepository collectionSaleOrder)
 {
     this.collectionSubService = collectionSubService;
     this.collectionSaleOrder  = collectionSaleOrder;
 }