示例#1
0
        public RestSupplierItem GetSupplier(string suppNum)
        {
            var _prozValue   = Program.CfgFile.getValue_AsdDouble("SellParams", "ProzGewin", 15);
            var _supplierNum = DeVesConverter.ToInteger(suppNum) ?? 0;

            var _supplierBiz = GParams.Instance.Supplier.SupplierGet_No(_supplierNum);

            if (_supplierBiz == null)
            {
                return(new RestSupplierItem());
            }

            var _supplierPositionBizList = GParams.Instance.Position.PositionsGet(_supplierBiz.SupplierNo);
            var _soldEuroTotal           = _supplierPositionBizList.Where(p => p.SoldFor.HasValue).Sum(p => p.SoldFor ?? 0);
            var _ownEuroPart             = _soldEuroTotal * _prozValue / 100;
            var _supplierEuroPart        = _soldEuroTotal - _ownEuroPart;

            return(new RestSupplierItem()
            {
                Id = _supplierBiz.SupplierId.ToString(),
                Number = _supplierBiz.SupplierNo,

                Salutation = _supplierBiz.Salutation,
                LastName = _supplierBiz.LastName,
                FirstName = _supplierBiz.FirstName,
                FullName = string.Format("{0} {1} {2}", _supplierBiz.Salutation, _supplierBiz.FirstName, _supplierBiz.LastName),

                Phone = _supplierBiz.Phone01,
                ReturnedToSupplier = _supplierBiz.ReturnedToSupplier.HasValue ? _supplierBiz.ReturnedToSupplier.Value.ToString("dd.MM.yyyy HH:mm:ss") : null,

                PosCountTotal = _supplierPositionBizList.Length,
                PosCountSold = _supplierPositionBizList.Count(p => p.SoldFor.HasValue),
                PosCountRetu = _supplierPositionBizList.Count(p => p.ReturnedToSupplierAt.HasValue && !p.SoldFor.HasValue),
                PosCountNotAdd = 0,
                IncomeTotal = _soldEuroTotal,
                Delivery = _ownEuroPart,
                ToBePaidOut = _supplierEuroPart
            });
        }
示例#2
0
        public ReturnToSupplierResult ReturnPositionToSupplier(string suppNum, string posNum)
        {
            var _supplierNum = DeVesConverter.ToInteger(suppNum) ?? 0;
            var _positionNum = DeVesConverter.ToInteger(posNum) ?? 0;

            var _positionBiz = GParams.Instance.Position.PositionGet(_positionNum);

            if (_positionBiz == null)
            {
                return(new ReturnToSupplierResult()
                {
                    Succeeded = ReturnToSupplierResult.SucceededTypes.Error,
                    Message = string.Format("Position '{0}' nicht bekannt!", _positionNum)
                });
            }


            var _supplierBiz = GParams.Instance.Supplier.SupplierGet_ByID(_positionBiz.SupplierId);

            if (_supplierBiz == null)
            {
                return(new ReturnToSupplierResult()
                {
                    Succeeded = ReturnToSupplierResult.SucceededTypes.Error,
                    Message = string.Format("Händler von Position '{0}' nicht gefunden!", _positionNum)
                });
            }

            if (_supplierBiz.SupplierNo != _supplierNum)
            {
                return(new ReturnToSupplierResult()
                {
                    Succeeded = ReturnToSupplierResult.SucceededTypes.Error,
                    Message = string.Format("Position '{0}' gehört Händler '{1}'!", _positionNum, _supplierBiz.SupplierNo)
                });
            }


            if (_positionBiz.SoldFor.HasValue)
            {
                return(new ReturnToSupplierResult()
                {
                    Succeeded = ReturnToSupplierResult.SucceededTypes.Error,
                    Message = string.Format("Position '{0}' bereits verkauft!", _positionNum)
                });
            }

            if (_positionBiz.ReturnedToSupplierAt.HasValue)
            {
                return(new ReturnToSupplierResult()
                {
                    Succeeded = ReturnToSupplierResult.SucceededTypes.Warning,
                    Message = string.Format("Position '{0}' bereits zurückgegeben!", _positionNum)
                });
            }

            GParams.Instance.Position.SetPositionsAsReturned(new BizPosition[] { _positionBiz });

            return(new ReturnToSupplierResult()
            {
                Succeeded = ReturnToSupplierResult.SucceededTypes.Succeeded,
                Message = string.Format("Position '{0}' zurück gebucht...", _positionNum)
            });
        }
示例#3
0
        public BizPosition GetPosition(string posNum)
        {
            var _positionNum = DeVesConverter.ToInteger(posNum) ?? 0;

            return(GParams.Instance.Position.PositionGet(_positionNum));
        }