Beispiel #1
0
        private void SaveLine()
        {
            try
            {
                SaveItemsMovementHeader();

                if (SelectedItemsMovement == null || SelectedItem == null ||
                    SelectedItemsMovement.Status != TransactionStatus.Draft)
                {
                    MessageBox.Show("Can't add item, try again later....");
                    return;
                }

                var newObject = SelectedItemsMovement.Id;

                if (_isEdit == false)
                {
                    SelectedItemsMovementLine = new ItemsMovementLineDTO
                    {
                        ItemsMovementHeader = SelectedItemsMovement
                    }
                }
                ;


                SelectedItemsMovementLine.ItemId                      = TransactionLine.Item.Id;
                SelectedItemsMovementLine.MovedQuantity               = TransactionLine.ItemMovedQuantity;
                SelectedItemsMovementLine.OriginPreviousQuantity      = TransactionLine.ItemOriginQuantity;
                SelectedItemsMovementLine.DestinationPreviousQuantity = TransactionLine.ItemDestinationQuantity;

                var stat = _imHeaderService.InsertOrUpdateChild(SelectedItemsMovementLine);
                if (stat == string.Empty)
                {
                    if (newObject == 0)
                    {
                        ItemsMovements.Insert(0, SelectedItemsMovement);
                    }

                    _isEdit = false;
                    GetSummary();
                    SelectedItemsMovement = SelectedItemsMovement;
                }
                else
                {
                    MessageBox.Show("Problem adding physical Inventory item, please try again..." + Environment.NewLine +
                                    stat);
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show("Problem adding item, please try again..." + Environment.NewLine +
                                exception.Message + Environment.NewLine +
                                exception.InnerException);
            }
        }
        public bool ObjectExistsChild(ItemsMovementLineDTO imLine)
        {
            var objectExists = false;

            //var iDbContext = DbContextUtil.GetDbContextInstance();
            //try
            //{
            //    var catRepository = new Repository<ItemsMovementLineDTO>(iDbContext);
            //    var catExists = catRepository.GetAll()
            //        .FirstOrDefault(bp => bp.ItemsMovementId == imLine.ItemsMovementId && bp.ItemId == imLine.ItemId && bp.Id != imLine.Id);
            //    if (catExists != null)
            //        objectExists = true;
            //}
            //finally
            //{
            //    iDbContext.Dispose();
            //}

            return(objectExists);
        }
        public string DisableChild(ItemsMovementLineDTO imLine)
        {
            if (imLine == null || imLine.Id == 0 || imLine.ItemsMovementHeader == null ||
                imLine.ItemsMovementHeader.Status != TransactionStatus.Draft)
            {
                return("First choose Item to delete...");
            }

            string stat;

            try
            {
                _imLineRepository.Update(imLine);
                _unitOfWork.Commit();
                stat = string.Empty;
            }
            catch (Exception exception)
            {
                stat = exception.Message;
            }
            return(stat);
        }
        public string ValidateChild(ItemsMovementLineDTO imLine)
        {
            if (null == imLine)
            {
                return(GenericMessages.ObjectIsNull);
            }

            if (imLine.ItemsMovementHeader == null)
            {
                return("Items Movement Header " + GenericMessages.ObjectIsNull);
            }

            if (imLine.ItemId == 0)
            {
                return("No item is found in the items movement line");
            }

            if (imLine.MovedQuantity < 0)
            {
                return(imLine.MovedQuantity + " can not be less than 0 ");
            }

            return(string.Empty);
        }
        public string InsertOrUpdateChild(ItemsMovementLineDTO imLine)
        {
            try
            {
                var validate = ValidateChild(imLine);
                if (!string.IsNullOrEmpty(validate))
                {
                    return(validate);
                }

                if (ObjectExistsChild(imLine))
                {
                    return(GenericMessages.DatabaseErrorRecordAlreadyExists);
                }

                _imLineRepository.InsertUpdate(imLine);
                _unitOfWork.Commit();
                return(string.Empty);
            }
            catch (Exception exception)
            {
                return(exception.Message);
            }
        }