Exemple #1
0
        protected virtual void CalculateQuantityDetailDTO(IQuantityDetailDTO quantityDetailDTO, string propertyName, int?deliveryAdviceID, int?transferOrderID)
        {
            if (propertyName == CommonExpressions.PropertyName <IQuantityDetailDTO>(p => p.CommodityID))
            {
                CommodityAPIs           commodityAPIs     = new CommodityAPIs(CommonNinject.Kernel.Get <ICommodityAPIRepository>()); //WE MUST USE ContextAttributes.User.LocationID, INSTEAD OF quantityDetailDTO.LocationID, BECAUSE AT FIRST quantityDetailDTO.LocationID = 0. WHEN SAVE: GenericService.PreSaveRoutines WILL UPDATE DTO.LocationID = ContextAttributes.User.LocationID. SEE GenericService.PreSaveRoutines FOR MORE INFORMATION!!!
                IList <SearchCommodity> searchCommodities = commodityAPIs.SearchCommodities(quantityDetailDTO.CommodityID, ContextAttributes.User.LocationID, null, deliveryAdviceID, transferOrderID);
                if (searchCommodities.Count > 0)
                {
                    quantityDetailDTO.CommodityCode = searchCommodities[0].Code;
                    quantityDetailDTO.CommodityName = searchCommodities[0].Name;
                    quantityDetailDTO.Unit          = searchCommodities[0].Unit;
                    quantityDetailDTO.PackageSize   = searchCommodities[0].PackageSize;
                    quantityDetailDTO.Volume        = searchCommodities[0].Volume;
                    quantityDetailDTO.PackageVolume = searchCommodities[0].PackageVolume;

                    IAvailableQuantityDetailDTO availableQuantityDetailDTO = quantityDetailDTO as IAvailableQuantityDetailDTO;
                    if (availableQuantityDetailDTO != null)
                    {
                        availableQuantityDetailDTO.QuantityAvailable   = searchCommodities[0].QuantityAvailable;
                        availableQuantityDetailDTO.LineVolumeAvailable = searchCommodities[0].LineVolumeAvailable;
                    }

                    IBatchQuantityDetailDTO batchQuantityDetailDTO = quantityDetailDTO as IBatchQuantityDetailDTO;
                    if (batchQuantityDetailDTO != null)
                    {
                        batchQuantityDetailDTO.BatchID                  = null;
                        batchQuantityDetailDTO.BatchCode                = null;
                        batchQuantityDetailDTO.BatchEntryDate           = null;
                        batchQuantityDetailDTO.QuantityBatchAvailable   = 0;
                        batchQuantityDetailDTO.LineVolumeBatchAvailable = 0;
                    }
                }
            }
            if (propertyName == CommonExpressions.PropertyName <IQuantityDetailDTO>(p => p.PackageVolume) || propertyName == CommonExpressions.PropertyName <IQuantityDetailDTO>(p => p.Quantity))
            {
                quantityDetailDTO.LineVolume = quantityDetailDTO.Quantity * quantityDetailDTO.PackageVolume;
            }
        }
Exemple #2
0
        public OptionBatches(IBatchQuantityDetailDTO batchQuantityDetailDTO)
        {
            InitializeComponent();

            this.batchQuantityDetailDTO = batchQuantityDetailDTO;
        }