Ejemplo n.º 1
0
        public ActionResult Edit([Bind("ixInventoryUnit,sInventoryUnit,ixFacility,ixCompany,ixMaterial,ixInventoryState,ixHandlingUnit,ixInventoryLocation,nBaseUnitQuantity,sSerialNumber,sBatchNumber,dtExpireAt,ixStatus")] InventoryUnitsPost inventoryunits)
        {
            //Custom Code Start | Added Code Block
            var ixInventoryUnitTransactionContext = _inventoryunittransactioncontextsService.Index().Where(x => x.sInventoryUnitTransactionContext == "Inventory Adjustment").Select(x => x.ixInventoryUnitTransactionContext).FirstOrDefault();

            //Custom Code End
            if (ModelState.IsValid)
            {
                inventoryunits.UserName = User.Identity.Name;
                //Custom Code Start | Replaced Code Block
                //Replaced Code Block Start
                //_inventoryunitsService.Edit(inventoryunits);
                //Replaced Code Block End
                _inventoryunitsService.Edit(inventoryunits, ixInventoryUnitTransactionContext);
                //Custom Code End
                return(RedirectToAction("Index"));
            }
            ViewBag.ixCompany           = new SelectList(_inventoryunitsService.selectCompanies().Select(x => new { x.ixCompany, x.sCompany }), "ixCompany", "sCompany", inventoryunits.ixCompany);
            ViewBag.ixFacility          = new SelectList(_inventoryunitsService.selectFacilities().Select(x => new { x.ixFacility, x.sFacility }), "ixFacility", "sFacility", inventoryunits.ixFacility);
            ViewBag.ixHandlingUnit      = new SelectList(_inventoryunitsService.selectHandlingUnitsNullable().Select(x => new { ixHandlingUnit = x.Key, sHandlingUnit = x.Value }), "ixHandlingUnit", "sHandlingUnit", inventoryunits.ixHandlingUnit);
            ViewBag.ixInventoryLocation = new SelectList(_inventoryunitsService.selectInventoryLocations().Select(x => new { x.ixInventoryLocation, x.sInventoryLocation }), "ixInventoryLocation", "sInventoryLocation", inventoryunits.ixInventoryLocation);
            ViewBag.ixInventoryState    = new SelectList(_inventoryunitsService.selectInventoryStates().Select(x => new { x.ixInventoryState, x.sInventoryState }), "ixInventoryState", "sInventoryState", inventoryunits.ixInventoryState);
            ViewBag.ixMaterial          = new SelectList(_inventoryunitsService.selectMaterials().Select(x => new { x.ixMaterial, x.sMaterial }), "ixMaterial", "sMaterial", inventoryunits.ixMaterial);
            ViewBag.ixStatus            = new SelectList(_inventoryunitsService.selectStatuses().Select(x => new { x.ixStatus, x.sStatus }), "ixStatus", "sStatus", inventoryunits.ixStatus);

            return(View(inventoryunits));
        }
Ejemplo n.º 2
0
        public ActionResult DeleteConfirmed(long id)
        {
            InventoryUnitsPost inventoryunits = _inventoryunitsService.GetPost(id);

            inventoryunits.UserName = User.Identity.Name;
            _inventoryunitsService.Delete(inventoryunits);
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 3
0
        //Custom Code Start | Replaced Code Block
        //Replaced Code Block Start
        //public Task<Int64> Create(InventoryUnitsPost inventoryunitsPost)
        //Replaced Code Block End
        public Task <Int64> Create(InventoryUnitsPost inventoryunitsPost, Int64 ixInventoryUnitTransactionContext)
        {
            //Custom Code End

            // Additional validations

            // Pre-process
            //Custom Code Start | Added Code Block
            _inventorylocations = _inventorylocationsService.GetPost(inventoryunitsPost.ixInventoryLocation);
            var newUtilizationPercent = _volumeAndWeight.getNewLocationUtilisationPercent(inventoryunitsPost, _inventorylocations);

            _inventorylocations.nUtilisationPercent = newUtilizationPercent;
            _inventorylocations.UserName            = inventoryunitsPost.UserName;
            _inventorylocationsService.Edit(_inventorylocations);
            //Custom Code End

            // Process
            this._inventoryunitsRepository.RegisterCreate(inventoryunitsPost);
            try
            {
                this._inventoryunitsRepository.Commit();
            }
            catch (Exception ex)
            {
                this._inventoryunitsRepository.Rollback();
                // Log exception
                throw;
            }

            // Post-process
            //Custom Code Start | Added Code Block

            //If bTrackUtilisation is true we update the location utilisation
            //Check if orders need to be batched (which means allocated)

            _inventoryunittransactions.ixInventoryUnit = inventoryunitsPost.ixInventoryUnit;
            _inventoryunittransactions.ixInventoryUnitTransactionContext = ixInventoryUnitTransactionContext;
            _inventoryunittransactions.ixFacilityAfter          = inventoryunitsPost.ixFacility;
            _inventoryunittransactions.ixCompanyAfter           = inventoryunitsPost.ixCompany;
            _inventoryunittransactions.ixMaterialAfter          = inventoryunitsPost.ixMaterial;
            _inventoryunittransactions.ixInventoryStateAfter    = inventoryunitsPost.ixInventoryState;
            _inventoryunittransactions.ixHandlingUnitAfter      = inventoryunitsPost.ixHandlingUnit;
            _inventoryunittransactions.ixInventoryLocationAfter = inventoryunitsPost.ixInventoryLocation;
            _inventoryunittransactions.nBaseUnitQuantityAfter   = inventoryunitsPost.nBaseUnitQuantity;
            _inventoryunittransactions.sSerialNumberAfter       = inventoryunitsPost.sSerialNumber;
            _inventoryunittransactions.sBatchNumberAfter        = inventoryunitsPost.sBatchNumber;
            _inventoryunittransactions.dtExpireAtAfter          = inventoryunitsPost.dtExpireAt;
            _inventoryunittransactions.ixStatusAfter            = inventoryunitsPost.ixStatus;
            _inventoryunittransactions.UserName = inventoryunitsPost.UserName;
            this._inventoryunittransactionsService.Create(_inventoryunittransactions);

            //Custom Code End

            return(Task.FromResult(inventoryunitsPost.ixInventoryUnit));
        }
Ejemplo n.º 4
0
        public Double getNewLocationQueuedUtilisationPercent(InventoryUnitsPost inventoryUnitsPost, InventoryLocationsPost inventoryLocationsPost, bool bAdd)
        {
            if (inventoryLocationsPost.bTrackUtilisation && inventoryLocationsPost.ixInventoryLocationSize > 0)
            {
                bool  bInventoryUnitsExists   = false;
                var   inventoryUnitDimensions = getInventoryUnitDimensions(inventoryUnitsPost);
                var   inventoryLocations      = _inventorylocationsRepository.Get(inventoryLocationsPost.ixInventoryLocation);
                Space spaceToFit     = new Space(inventoryUnitDimensions.nLength, inventoryUnitDimensions.nWidth, inventoryUnitDimensions.nHeight, 0, inventoryUnitDimensions.ixLengthUnit, inventoryUnitDimensions.ixWidthUnit, inventoryUnitDimensions.ixHeightUnit, 0, _unitofmeasurementconversionsRepository, inventoryUnitsPost.nBaseUnitQuantity);
                Space spaceToFitInto = new Space(inventoryLocations.InventoryLocationSizes.nLength, inventoryLocations.InventoryLocationSizes.nWidth, inventoryLocations.InventoryLocationSizes.nHeight, inventoryLocations.InventoryLocationSizes.nUsableVolume - inventoryLocations.InventoryLocationSizes.nUsableVolume * ((inventoryLocations.nUtilisationPercent ?? 0) + (inventoryLocations.nQueuedUtilisationPercent ?? 0)) / 100.0, inventoryLocations.InventoryLocationSizes.ixLengthUnit, inventoryLocations.InventoryLocationSizes.ixWidthUnit, inventoryLocations.InventoryLocationSizes.ixHeightUnit, inventoryLocations.InventoryLocationSizes.ixUsableVolumeUnit, _unitofmeasurementconversionsRepository, 1);


                if (_inventoryunitsRepository.IndexDb().Where(x => x.ixInventoryUnit == inventoryUnitsPost.ixInventoryUnit && x.ixInventoryLocation == inventoryLocationsPost.ixInventoryLocation).Any()) //The existing inventory unit is being adjusted
                {
                    var   inventoryUnitsPostCurrent      = _inventoryunitsRepository.GetPost(inventoryUnitsPost.ixInventoryUnit);
                    var   inventoryUnitDimensionsCurrent = getInventoryUnitDimensions(inventoryUnitsPostCurrent);
                    Space spaceToFitCurrent = new Space(inventoryUnitDimensionsCurrent.nLength, inventoryUnitDimensionsCurrent.nWidth, inventoryUnitDimensionsCurrent.nHeight, 0, inventoryUnitDimensionsCurrent.ixLengthUnit, inventoryUnitDimensionsCurrent.ixWidthUnit, inventoryUnitDimensionsCurrent.ixHeightUnit, 0, _unitofmeasurementconversionsRepository, inventoryUnitsPostCurrent.nBaseUnitQuantity);
                    bInventoryUnitsExists = true;

                    if ((spaceToFitInto._nUsableVolume > 0) && (bInventoryUnitsExists))
                    {
                        Double nNewUtilisationPercent = (inventoryLocationsPost.nQueuedUtilisationPercent ?? 0) + (((spaceToFit._nUsableVolume / spaceToFitInto._nUsableVolume) * 100.0) - ((spaceToFitCurrent._nUsableVolume / spaceToFitInto._nUsableVolume) * 100.0));
                        return(nNewUtilisationPercent);
                    }
                    else
                    {
                        return(inventoryLocationsPost.nQueuedUtilisationPercent ?? 0);
                    }
                }


                if ((spaceToFitInto._nUsableVolume > 0) && (!bInventoryUnitsExists))
                {
                    if (bAdd)
                    {
                        return((inventoryLocationsPost.nQueuedUtilisationPercent ?? 0) + ((spaceToFit._nUsableVolume / spaceToFitInto._nUsableVolume) * 100.0));
                    }
                    else
                    {
                        return((inventoryLocationsPost.nQueuedUtilisationPercent ?? 0) - ((spaceToFit._nUsableVolume / spaceToFitInto._nUsableVolume) * 100.0));
                    }
                }
                else
                {
                    return(inventoryLocationsPost.nQueuedUtilisationPercent ?? 0);
                }
            }
            else
            {
                return(inventoryLocationsPost.nQueuedUtilisationPercent ?? 0);
            }
        }
Ejemplo n.º 5
0
        public ActionResult Edit(long id)
        {
            InventoryUnitsPost inventoryunits = _inventoryunitsService.GetPost(id);

            if (inventoryunits == null)
            {
                return(NotFound());
            }
            ViewBag.ixCompany           = new SelectList(_inventoryunitsService.selectCompanies().Select(x => new { x.ixCompany, x.sCompany }), "ixCompany", "sCompany", inventoryunits.ixCompany);
            ViewBag.ixFacility          = new SelectList(_inventoryunitsService.selectFacilities().Select(x => new { x.ixFacility, x.sFacility }), "ixFacility", "sFacility", inventoryunits.ixFacility);
            ViewBag.ixHandlingUnit      = new SelectList(_inventoryunitsService.selectHandlingUnitsNullable().Select(x => new { ixHandlingUnit = x.Key, sHandlingUnit = x.Value }), "ixHandlingUnit", "sHandlingUnit", inventoryunits.ixHandlingUnit);
            ViewBag.ixInventoryLocation = new SelectList(_inventoryunitsService.selectInventoryLocations().Select(x => new { x.ixInventoryLocation, x.sInventoryLocation }), "ixInventoryLocation", "sInventoryLocation", inventoryunits.ixInventoryLocation);
            ViewBag.ixInventoryState    = new SelectList(_inventoryunitsService.selectInventoryStates().Select(x => new { x.ixInventoryState, x.sInventoryState }), "ixInventoryState", "sInventoryState", inventoryunits.ixInventoryState);
            ViewBag.ixMaterial          = new SelectList(_inventoryunitsService.selectMaterials().Select(x => new { x.ixMaterial, x.sMaterial }), "ixMaterial", "sMaterial", inventoryunits.ixMaterial);
            ViewBag.ixStatus            = new SelectList(_inventoryunitsService.selectStatuses().Select(x => new { x.ixStatus, x.sStatus }), "ixStatus", "sStatus", inventoryunits.ixStatus);

            return(View(inventoryunits));
        }
Ejemplo n.º 6
0
 public bool inventoryUnitWillFitLocation(InventoryUnitsPost inventoryUnitsPost, InventoryLocationsPost inventoryLocationsPost)
 {
     if (inventoryLocationsPost.bTrackUtilisation && inventoryLocationsPost.ixInventoryLocationSize > 0)
     {
         var   inventoryUnitDimensions = getInventoryUnitDimensions(inventoryUnitsPost);
         var   inventoryLocations      = _inventorylocationsRepository.Get(inventoryLocationsPost.ixInventoryLocation);
         Space spaceToFit     = new Space(inventoryUnitDimensions.nLength, inventoryUnitDimensions.nWidth, inventoryUnitDimensions.nHeight, 0, inventoryUnitDimensions.ixLengthUnit, inventoryUnitDimensions.ixWidthUnit, inventoryUnitDimensions.ixHeightUnit, 0, _unitofmeasurementconversionsRepository, inventoryUnitsPost.nBaseUnitQuantity);
         Space spaceToFitInto = new Space(inventoryLocations.InventoryLocationSizes.nLength, inventoryLocations.InventoryLocationSizes.nWidth, inventoryLocations.InventoryLocationSizes.nHeight, inventoryLocations.InventoryLocationSizes.nUsableVolume - inventoryLocations.InventoryLocationSizes.nUsableVolume * ((inventoryLocations.nUtilisationPercent ?? 0) + (inventoryLocations.nQueuedUtilisationPercent ?? 0)) / 100.0, inventoryLocations.InventoryLocationSizes.ixLengthUnit, inventoryLocations.InventoryLocationSizes.ixWidthUnit, inventoryLocations.InventoryLocationSizes.ixHeightUnit, inventoryLocations.InventoryLocationSizes.ixUsableVolumeUnit, _unitofmeasurementconversionsRepository, 1);
         if (spaceToFitInto.CompareTo(spaceToFit) == 1)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(true);
     }
 }
Ejemplo n.º 7
0
        public Task Delete(InventoryUnitsPost inventoryunitsPost)
        {
            // Additional validations

            // Pre-process

            // Process
            this._inventoryunitsRepository.RegisterDelete(inventoryunitsPost);
            try
            {
                this._inventoryunitsRepository.Commit();
            }
            catch (Exception ex)
            {
                this._inventoryunitsRepository.Rollback();
                // Log exception
                throw;
            }

            // Post-process

            return(Task.CompletedTask);
        }
        public Task <Int64> Create(ReceivingPost receivingPost)
        {
            // Additional validations

            // Pre-process

            //Custom Code Start | Added Code Block
            //If the handling unit does not exist we create it
            if (!HandlingUnitsDb().Where(x => x.sHandlingUnit == receivingPost.sReceipt.Trim()).Any())
            {
                HandlingUnitsPost handlingUnitsPost = new HandlingUnitsPost();
                handlingUnitsPost.sHandlingUnit      = receivingPost.sReceipt;
                handlingUnitsPost.ixHandlingUnitType = receivingPost.ixHandlingUnitType ?? 0;
                handlingUnitsPost.UserName           = receivingPost.UserName;
                receivingPost.ixHandlingUnit         = _handlingunitsService.Create(handlingUnitsPost).Result;
            }
            else
            {
                receivingPost.ixHandlingUnit = HandlingUnitsDb().Where(x => x.sHandlingUnit == receivingPost.sReceipt.Trim()).Select(x => x.ixHandlingUnit).FirstOrDefault();
            }

            InventoryUnitsPost inventoryUnit = new InventoryUnitsPost();
            var inboundOrder = _inboundordersService.GetPost(receivingPost.ixInboundOrder);

            inventoryUnit.ixFacility          = inboundOrder.ixFacility;
            inventoryUnit.ixCompany           = inboundOrder.ixCompany;
            inventoryUnit.ixMaterial          = receivingPost.ixMaterial;
            inventoryUnit.ixInventoryState    = receivingPost.ixInventoryState;
            inventoryUnit.ixHandlingUnit      = receivingPost.ixHandlingUnit;
            inventoryUnit.ixInventoryLocation = receivingPost.ixInventoryLocation;
            inventoryUnit.sSerialNumber       = receivingPost.sSerialNumber;
            inventoryUnit.sBatchNumber        = receivingPost.sBatchNumber;
            inventoryUnit.dtExpireAt          = receivingPost.dtExpireAt;
            inventoryUnit.UserName            = receivingPost.UserName;

            if ((inventoryUnit.sSerialNumber ?? "").Trim() != "")
            {
                //We create an iu
                inventoryUnit.nBaseUnitQuantity = receivingPost.nBaseUnitQuantityReceived;
                _inventoryunitsService.Create(inventoryUnit, _ixInventoryUnitTransactionContext);
            }
            else if (_inventoryunitsService.IndexDb().Where(x =>
                                                            x.ixFacility == inventoryUnit.ixFacility &&
                                                            x.ixCompany == inventoryUnit.ixCompany &&
                                                            x.ixMaterial == inventoryUnit.ixMaterial &&
                                                            x.ixInventoryState == inventoryUnit.ixInventoryState &&
                                                            x.ixHandlingUnit == inventoryUnit.ixHandlingUnit &&
                                                            x.ixInventoryLocation == inventoryUnit.ixInventoryLocation &&
                                                            x.sBatchNumber == inventoryUnit.sBatchNumber &&
                                                            x.dtExpireAt == inventoryUnit.dtExpireAt && x.ixStatus == 5
                                                            ).Select(x => x.ixInventoryUnit).Any()
                     )
            {
                //We edit the iu
                inventoryUnit.ixInventoryUnit = _inventoryunitsService.IndexDb().Where(x =>
                                                                                       x.ixFacility == inventoryUnit.ixFacility &&
                                                                                       x.ixCompany == inventoryUnit.ixCompany &&
                                                                                       x.ixMaterial == inventoryUnit.ixMaterial &&
                                                                                       x.ixInventoryState == inventoryUnit.ixInventoryState &&
                                                                                       x.ixHandlingUnit == inventoryUnit.ixHandlingUnit &&
                                                                                       x.ixInventoryLocation == inventoryUnit.ixInventoryLocation &&
                                                                                       x.sBatchNumber == inventoryUnit.sBatchNumber &&
                                                                                       x.dtExpireAt == inventoryUnit.dtExpireAt && x.ixStatus == 5
                                                                                       ).Select(x => x.ixInventoryUnit).FirstOrDefault();
                inventoryUnit.nBaseUnitQuantity = _inventoryunitsService.GetPost(inventoryUnit.ixInventoryUnit).nBaseUnitQuantity + receivingPost.nBaseUnitQuantityReceived;
                _inventoryunitsService.Edit(inventoryUnit, _ixInventoryUnitTransactionContext);
            }
            else
            {
                //We create an iu
                inventoryUnit.nBaseUnitQuantity = receivingPost.nBaseUnitQuantityReceived;
                _inventoryunitsService.Create(inventoryUnit, _ixInventoryUnitTransactionContext);
            }


            //Custom Code End

            // Process
            this._receivingRepository.RegisterCreate(receivingPost);
            try
            {
                this._receivingRepository.Commit();
            }
            catch (Exception ex)
            {
                this._receivingRepository.Rollback();
                // Log exception
                throw;
            }

            // Post-process

            //Custom Code Start | Added Code Block
            //Now we update the inbound order lines - for now we apply entire qty to the matching line
            var _ixInboundOrderLine = _inboundorderlinesService.IndexDb().Where(x => x.ixInboundOrder == receivingPost.ixInboundOrder && x.ixMaterial == receivingPost.ixMaterial).Select(x => x.ixInboundOrderLine).FirstOrDefault();
            var inboundOrderLine    = _inboundorderlinesService.GetPost(_ixInboundOrderLine);

            inboundOrderLine.nBaseUnitQuantityReceived += receivingPost.nBaseUnitQuantityReceived;
            inboundOrderLine.UserName = receivingPost.UserName;
            if ((inboundOrderLine.nBaseUnitQuantityExpected - inboundOrderLine.nBaseUnitQuantityReceived) == 0)
            {
                inboundOrderLine.ixStatus = _commonLookUps.getStatuses().Where(x => x.sStatus == "Complete").Select(x => x.ixStatus).FirstOrDefault();
            }
            _inboundorderlinesService.Edit(inboundOrderLine);

            //If there are no open qtys we set the inbound order/line status to complete
            if (_inboundorderlinesService.IndexDb().Where(x => x.ixInboundOrder == receivingPost.ixInboundOrder).Select(x => x.nBaseUnitQuantityExpected - x.nBaseUnitQuantityReceived).Sum() == 0)
            {
                var inboundorder = _inboundordersService.GetPost(receivingPost.ixInboundOrder);
                inboundorder.ixStatus = _commonLookUps.getStatuses().Where(x => x.sStatus == "Complete").Select(x => x.ixStatus).FirstOrDefault();
                _inboundordersService.Edit(inboundorder);
            }

            //Custom Code End

            return(Task.FromResult(receivingPost.ixReceipt));
        }
Ejemplo n.º 9
0
        public (Double nLength, Double nWidth, Double nHeight, Int64 ixLengthUnit, Int64 ixWidthUnit, Int64 ixHeightUnit) getInventoryUnitDimensions(InventoryUnitsPost inventoryUnitsPost)
        {
            //var inventoryUnit = _inventoryunitsRepository.Get(inventoryUnitsPost.ixInventoryUnit);

            var _material = _materialsRepository.Get(inventoryUnitsPost.ixMaterial);

            // Does IU have a HU? and we have to make sure that the Handling UNIT is not broken
            if ((inventoryUnitsPost.ixHandlingUnit > 0) && (_inventoryunittransactionsRepository.IndexDb().Where(x => x.ixHandlingUnitAfter == inventoryUnitsPost.ixHandlingUnit).Count() < 2))
            {
                var handlingUnit = _handlingunitsRepository.Get(inventoryUnitsPost.ixHandlingUnit ?? 0);
                if (handlingUnit.nLength > 0 && handlingUnit.nWidth > 0 && handlingUnit.nHeight > 0 && handlingUnit.ixLengthUnit > 0 && handlingUnit.ixWidthUnit > 0 && handlingUnit.ixHeightUnit > 0)
                {
                    // The HU has dimensions we use it
                    return(handlingUnit.nLength ?? 0, handlingUnit.nWidth ?? 0, handlingUnit.nHeight ?? 0, handlingUnit.ixLengthUnit ?? 0, handlingUnit.ixWidthUnit ?? 0, handlingUnit.ixHeightUnit ?? 0);
                }
                // Does the HU have a MHC
                else if (handlingUnit.ixMaterialHandlingUnitConfiguration > 0 && (handlingUnit.MaterialHandlingUnitConfigurations.nLength > 0 && handlingUnit.MaterialHandlingUnitConfigurations.nWidth > 0 && handlingUnit.MaterialHandlingUnitConfigurations.nHeight > 0 && handlingUnit.MaterialHandlingUnitConfigurations.ixLengthUnit > 0 && handlingUnit.MaterialHandlingUnitConfigurations.ixWidthUnit > 0 && handlingUnit.MaterialHandlingUnitConfigurations.ixHeightUnit > 0))
                {
                    // The MHC has dimensions we use it
                    return(handlingUnit.MaterialHandlingUnitConfigurations.nLength ?? 0, handlingUnit.MaterialHandlingUnitConfigurations.nWidth ?? 0, handlingUnit.MaterialHandlingUnitConfigurations.nHeight ?? 0, handlingUnit.MaterialHandlingUnitConfigurations.ixLengthUnit ?? 0, handlingUnit.MaterialHandlingUnitConfigurations.ixWidthUnit ?? 0, handlingUnit.MaterialHandlingUnitConfigurations.ixHeightUnit ?? 0);
                }
                // Does HU have a packing material?
                else if (handlingUnit.ixPackingMaterial > 0 && (handlingUnit.MaterialsFKDiffPackingMaterial.nLength > 0 && handlingUnit.MaterialsFKDiffPackingMaterial.nWidth > 0 && handlingUnit.MaterialsFKDiffPackingMaterial.nHeight > 0 && handlingUnit.MaterialsFKDiffPackingMaterial.ixLengthUnit > 0 && handlingUnit.MaterialsFKDiffPackingMaterial.ixWidthUnit > 0 && handlingUnit.MaterialsFKDiffPackingMaterial.ixHeightUnit > 0))
                {
                    // The packing material has dimensions we use it
                    return(handlingUnit.MaterialsFKDiffPackingMaterial.nLength ?? 0, handlingUnit.MaterialsFKDiffPackingMaterial.nWidth ?? 0, handlingUnit.MaterialsFKDiffPackingMaterial.nHeight ?? 0, handlingUnit.MaterialsFKDiffPackingMaterial.ixLengthUnit ?? 0, handlingUnit.MaterialsFKDiffPackingMaterial.ixWidthUnit ?? 0, handlingUnit.MaterialsFKDiffPackingMaterial.ixHeightUnit ?? 0);
                }
                else if (_material.nLength > 0 && _material.nWidth > 0 && _material.nHeight > 0 && _material.ixLengthUnit > 0 && _material.ixWidthUnit > 0 && _material.ixHeightUnit > 0)
                {
                    // The material has unit dimensions we use it
                    return(_material.nLength ?? 0, _material.nWidth ?? 0, _material.nHeight ?? 0, _material.ixLengthUnit ?? 0, _material.ixWidthUnit ?? 0, _material.ixHeightUnit ?? 0);
                }
            }
            else if (_material.nLength > 0 && _material.nWidth > 0 && _material.nHeight > 0 && _material.ixLengthUnit > 0 && _material.ixWidthUnit > 0 && _material.ixHeightUnit > 0)
            {
                // The material has unit dimensions we use it
                return(_material.nLength ?? 0, _material.nWidth ?? 0, _material.nHeight ?? 0, _material.ixLengthUnit ?? 0, _material.ixWidthUnit ?? 0, _material.ixHeightUnit ?? 0);
            }
            else
            {
                return(0, 0, 0, 0, 0, 0);
            }
            return(0, 0, 0, 0, 0, 0);
        }
Ejemplo n.º 10
0
 public void RegisterDelete(InventoryUnitsPost inventoryunitsPost)
 {
     _context.InventoryUnitsPost.Remove(inventoryunitsPost);
 }
Ejemplo n.º 11
0
 public void RegisterEdit(InventoryUnitsPost inventoryunitsPost)
 {
     _context.Entry(inventoryunitsPost).State = EntityState.Modified;
 }
Ejemplo n.º 12
0
 public void RegisterCreate(InventoryUnitsPost inventoryunitsPost)
 {
     _context.InventoryUnitsPost.Add(inventoryunitsPost);
 }
Ejemplo n.º 13
0
        //Custom Code Start | Replaced Code Block
        //Replaced Code Block Start
        //public Task Edit(InventoryUnitsPost inventoryunitsPost)
        //Replaced Code Block End
        public Task Edit(InventoryUnitsPost inventoryunitsPost, Int64 ixInventoryUnitTransactionContext)
        {
            //Custom Code End
            // Additional validations

            // Pre-process

            //Custom Code Start | Added Code Block
            _inventorylocations = _inventorylocationsService.GetPost(inventoryunitsPost.ixInventoryLocation);
            var newUtilizationPercent = _volumeAndWeight.getNewLocationUtilisationPercent(inventoryunitsPost, _inventorylocations);

            _inventorylocations.nUtilisationPercent = newUtilizationPercent;
            _inventorylocations.UserName            = inventoryunitsPost.UserName;
            _inventorylocationsService.Edit(_inventorylocations);

            InventoryUnitsPost inventoryunitsPre = _inventoryunitsRepository.GetPost(inventoryunitsPost.ixInventoryUnit);

            _inventoryunittransactions.ixFacilityBefore          = inventoryunitsPre.ixFacility;
            _inventoryunittransactions.ixCompanyBefore           = inventoryunitsPre.ixCompany;
            _inventoryunittransactions.ixMaterialBefore          = inventoryunitsPre.ixMaterial;
            _inventoryunittransactions.ixInventoryStateBefore    = inventoryunitsPre.ixInventoryState;
            _inventoryunittransactions.ixHandlingUnitBefore      = inventoryunitsPre.ixHandlingUnit;
            _inventoryunittransactions.ixInventoryLocationBefore = inventoryunitsPre.ixInventoryLocation;
            _inventoryunittransactions.nBaseUnitQuantityBefore   = inventoryunitsPre.nBaseUnitQuantity;
            _inventoryunittransactions.sSerialNumberBefore       = inventoryunitsPre.sSerialNumber;
            _inventoryunittransactions.sBatchNumberBefore        = inventoryunitsPre.sBatchNumber;
            _inventoryunittransactions.dtExpireAtBefore          = inventoryunitsPre.dtExpireAt;
            _inventoryunittransactions.ixStatusBefore            = inventoryunitsPre.ixStatus;

            if (inventoryunitsPost.ixInventoryLocation != inventoryunitsPre.ixInventoryLocation)
            {
                InventoryUnitsPost inventoryunitsPreLocChange = _inventoryunitsRepository.GetPost(inventoryunitsPost.ixInventoryUnit);
                _inventorylocations = _inventorylocationsService.GetPost(inventoryunitsPre.ixInventoryLocation);
                inventoryunitsPreLocChange.nBaseUnitQuantity = inventoryunitsPreLocChange.nBaseUnitQuantity - inventoryunitsPost.nBaseUnitQuantity;
                var newUtilizationPercentPre = _volumeAndWeight.getNewLocationUtilisationPercent(inventoryunitsPreLocChange, _inventorylocations);
                _inventorylocations.nUtilisationPercent = newUtilizationPercentPre;
                _inventorylocations.UserName            = inventoryunitsPost.UserName;
                _inventorylocationsService.Edit(_inventorylocations);
            }

            //Custom Code End
            // Process
            this._inventoryunitsRepository.RegisterEdit(inventoryunitsPost);
            try
            {
                this._inventoryunitsRepository.Commit();
            }
            catch (Exception ex)
            {
                this._inventoryunitsRepository.Rollback();
                // Log exception
                throw;
            }

            // Post-process
            //Custom Code Start | Added Code Block
            _inventoryunittransactions.ixInventoryUnit = inventoryunitsPost.ixInventoryUnit;
            _inventoryunittransactions.ixInventoryUnitTransactionContext = ixInventoryUnitTransactionContext;
            _inventoryunittransactions.ixFacilityAfter          = inventoryunitsPost.ixFacility;
            _inventoryunittransactions.ixCompanyAfter           = inventoryunitsPost.ixCompany;
            _inventoryunittransactions.ixMaterialAfter          = inventoryunitsPost.ixMaterial;
            _inventoryunittransactions.ixInventoryStateAfter    = inventoryunitsPost.ixInventoryState;
            _inventoryunittransactions.ixHandlingUnitAfter      = inventoryunitsPost.ixHandlingUnit;
            _inventoryunittransactions.ixInventoryLocationAfter = inventoryunitsPost.ixInventoryLocation;
            _inventoryunittransactions.nBaseUnitQuantityAfter   = inventoryunitsPost.nBaseUnitQuantity;
            _inventoryunittransactions.sSerialNumberAfter       = inventoryunitsPost.sSerialNumber;
            _inventoryunittransactions.sBatchNumberAfter        = inventoryunitsPost.sBatchNumber;
            _inventoryunittransactions.dtExpireAtAfter          = inventoryunitsPost.dtExpireAt;
            _inventoryunittransactions.ixStatusAfter            = inventoryunitsPost.ixStatus;
            _inventoryunittransactions.UserName = inventoryunitsPost.UserName;
            this._inventoryunittransactionsService.Create(_inventoryunittransactions);
            //Custom Code End

            return(Task.CompletedTask);
        }