public bool DeleteInternalMovement(InternalMovement entity)
 {
     if (entity == null) return false;
     _unitOfWork.InternalMovementRepository.Delete(entity);
     _unitOfWork.Save();
     return true;
 }
示例#2
0
 public void InternalMovementTest()
 {
     InternalMovement internalMovement = new InternalMovement();
     internalMovement.SetupTest();
     internalMovement.TheInternalMovementTest();
     internalMovement.TeardownTest();
 }
示例#3
0
 public bool DeleteInternalMovement(InternalMovement entity)
 {
     if (entity == null)
     {
         return(false);
     }
     _unitOfWork.InternalMovementRepository.Delete(entity);
     _unitOfWork.Save();
     return(true);
 }
 public bool EditInternalMovement(InternalMovement entity)
 {
     _unitOfWork.InternalMovementRepository.Edit(entity);
     _unitOfWork.Save();
     return true;
 }
        /// <summary>
        /// </summary>
        /// <param name="viewModel"></param>
        /// <param name="user"></param>
        /// <exception cref="System.Exception"></exception>
        public void SaveInternalMovementTrasnsaction(InternalMovementViewModel viewModel, UserProfile user)
        {
            InternalMovement internalMovement = new InternalMovement();
            TransactionGroup transactionGroup = new TransactionGroup();
            Transaction transactionFromStore = new Transaction();

            Commodity commodity = _unitOfWork.CommodityRepository.FindById(viewModel.CommodityId);

            //transaction.TransactionGroupID = transactionGroupId;
            transactionFromStore.LedgerID = 2;
            transactionFromStore.HubOwnerID = user.DefaultHub.HubOwner.HubOwnerID;
            //trasaction.AccountID
            transactionFromStore.AccountID = _accountService.GetAccountIdWithCreate(Account.Constants.HUB, user.DefaultHub.HubID); //
            transactionFromStore.HubID = user.DefaultHub.HubID;
            transactionFromStore.StoreID = viewModel.FromStoreId;  //
            transactionFromStore.Stack = viewModel.FromStackId; //
            transactionFromStore.ProjectCodeID = viewModel.ProjectCodeId;
            transactionFromStore.ShippingInstructionID = viewModel.ShippingInstructionId;
            transactionFromStore.ProgramID = viewModel.ProgramId;
            transactionFromStore.ParentCommodityID = (commodity.ParentID == null)
                                                       ? commodity.CommodityID
                                                       : commodity.ParentID.Value;
            transactionFromStore.CommodityID = viewModel.CommodityId;
            transactionFromStore.CommodityGradeID = null; // How did I get this value ?
            transactionFromStore.QuantityInMT = 0 - viewModel.QuantityInMt;
            transactionFromStore.QuantityInUnit = 0 - viewModel.QuantityInUnit;
            transactionFromStore.UnitID = viewModel.UnitId;
            transactionFromStore.TransactionDate = DateTime.Now;

            Transaction transactionToStore = new Transaction();

            //transactionToStore.TransactionGroupID = transactionGroupId;
            transactionToStore.LedgerID = 2;
            transactionToStore.HubOwnerID = user.DefaultHub.HubOwner.HubOwnerID;
            //transactionToStore.AccountID
            transactionToStore.AccountID = _accountService.GetAccountIdWithCreate(Account.Constants.HUB, user.DefaultHub.HubID); //
            transactionToStore.HubID = user.DefaultHub.HubID;
            transactionToStore.StoreID = viewModel.ToStoreId;  //
            transactionToStore.Stack = viewModel.ToStackId; //
            transactionToStore.ProjectCodeID = viewModel.ProjectCodeId;
            transactionToStore.ShippingInstructionID = viewModel.ShippingInstructionId;
            transactionToStore.ProgramID = viewModel.ProgramId;

            transactionToStore.ParentCommodityID = (commodity.ParentID == null)
                                                       ? commodity.CommodityID
                                                       : commodity.ParentID.Value;
            transactionToStore.CommodityID = viewModel.CommodityId;
            transactionToStore.CommodityGradeID = null; // How did I get this value ?
            transactionToStore.QuantityInMT = viewModel.QuantityInMt;
            transactionToStore.QuantityInUnit = viewModel.QuantityInUnit;
            transactionToStore.UnitID = viewModel.UnitId;
            transactionToStore.TransactionDate = DateTime.Now;

            transactionGroup.Transactions.Add(transactionFromStore);
            transactionGroup.Transactions.Add(transactionToStore);
            transactionGroup.PartitionID = 0;

            internalMovement.PartitionID = 0;
            internalMovement.TransactionGroup = transactionGroup;
            internalMovement.TransferDate = viewModel.SelectedDate;
            internalMovement.DReason = viewModel.ReasonId;
            internalMovement.Notes = viewModel.Note;
            internalMovement.ApprovedBy = viewModel.ApprovedBy;
            internalMovement.ReferenceNumber = viewModel.ReferenceNumber;

            // Try to save this transaction
            //db.Database.Connection.Open();
            //DbTransaction dbTransaction = db.Database.Connection.BeginTransaction();
            try
            {
                _unitOfWork.InternalMovementRepository.Add(internalMovement);
                _unitOfWork.Save();
             //   repository.InternalMovement.Add(internalMovement);
               // dbTransaction.Commit();
            }
            catch (Exception exp)
            {
                //dbTransaction.Rollback();
                //TODO: Save the detail of this exception somewhere
                throw new Exception("The Internal Movement Transaction Cannot be saved. <br />Detail Message :" + exp.Message);
            }
        }
示例#6
0
 public bool EditInternalMovement(InternalMovement entity)
 {
     _unitOfWork.InternalMovementRepository.Edit(entity);
     _unitOfWork.Save();
     return(true);
 }
        public void Should_Add_InternalMovement()
        {
            InternalMovementViewModel actualViewModel = new InternalMovementViewModel();

            actualViewModel.FromStoreId           = 3;
            actualViewModel.SelectedDate          = DateTime.Now;
            actualViewModel.FromStackId           = 4;
            actualViewModel.ReferenceNumber       = "Test/001/";
            actualViewModel.CommodityId           = 1;
            actualViewModel.ProgramId             = 2;
            actualViewModel.ProjectCodeId         = 33;
            actualViewModel.ShippingInstructionId = 46;
            actualViewModel.UnitId         = 5;
            actualViewModel.QuantityInUnit = 100;
            actualViewModel.QuantityInMt   = 200;
            actualViewModel.ToStoreId      = 4;
            actualViewModel.ToStackId      = 2;
            actualViewModel.ReasonId       = 17;
            actualViewModel.Note           = "Test transfer";
            actualViewModel.ApprovedBy     = "Mr Test";

            ///expected values
            InternalMovement expectdInternalMovementModel = new InternalMovement();

            expectdInternalMovementModel.PartitionID = 0;
            //expectdInternalMovementModel.TransactionGroupID
            expectdInternalMovementModel.TransferDate    = actualViewModel.SelectedDate;
            expectdInternalMovementModel.ReferenceNumber = actualViewModel.ReferenceNumber;
            expectdInternalMovementModel.DReason         = actualViewModel.ReasonId;
            expectdInternalMovementModel.Notes           = actualViewModel.Note;
            expectdInternalMovementModel.ApprovedBy      = actualViewModel.ApprovedBy;


            BLL.UserProfile actualUser = repository.UserProfile.GetUser("admin");

            Transaction expectedFromStoreTrasactionModel = new Transaction();

            expectedFromStoreTrasactionModel.PartitionID = 0;
            //expectedTrasactionModel.TransactionGroupID
            expectedFromStoreTrasactionModel.LedgerID   = 2;
            expectedFromStoreTrasactionModel.HubOwnerID = actualUser.DefaultHub.HubOwner.HubOwnerID;
            //expectedTrasactionModel.AccountID =
            expectedFromStoreTrasactionModel.HubID                 = actualUser.DefaultHub.HubID;
            expectedFromStoreTrasactionModel.StoreID               = actualViewModel.FromStoreId;
            expectedFromStoreTrasactionModel.Stack                 = actualViewModel.FromStackId;
            expectedFromStoreTrasactionModel.ProjectCodeID         = actualViewModel.ProjectCodeId;
            expectedFromStoreTrasactionModel.ShippingInstructionID = actualViewModel.ShippingInstructionId;
            expectedFromStoreTrasactionModel.ProgramID             = actualViewModel.ProgramId;
            //expectedFromStoreTrasactionModel.ParentCommodityID
            //expectedFromStoreTrasactionModel.CommodityID
            expectedFromStoreTrasactionModel.QuantityInMT   = actualViewModel.QuantityInMt;
            expectedFromStoreTrasactionModel.QuantityInUnit = actualViewModel.QuantityInUnit;
            expectedFromStoreTrasactionModel.UnitID         = actualViewModel.UnitId;

            Transaction expectedToStoreTrasactionModel = new Transaction();

            expectedToStoreTrasactionModel.PartitionID = 0;
            //expectedTrasactionModel.TransactionGroupID
            expectedToStoreTrasactionModel.LedgerID   = 2;
            expectedToStoreTrasactionModel.HubOwnerID = actualUser.DefaultHub.HubOwner.HubOwnerID;
            //expectedTrasactionModel.AccountID =
            expectedToStoreTrasactionModel.HubID                 = actualUser.DefaultHub.HubID;
            expectedToStoreTrasactionModel.StoreID               = actualViewModel.FromStoreId;
            expectedToStoreTrasactionModel.Stack                 = actualViewModel.FromStackId;
            expectedToStoreTrasactionModel.ProjectCodeID         = actualViewModel.ProjectCodeId;
            expectedToStoreTrasactionModel.ShippingInstructionID = actualViewModel.ShippingInstructionId;
            expectedToStoreTrasactionModel.ProgramID             = actualViewModel.ProgramId;
            //expectedFromStoreTrasactionModel.ParentCommodityID
            //expectedFromStoreTrasactionModel.CommodityID
            expectedToStoreTrasactionModel.QuantityInMT   = actualViewModel.QuantityInMt;
            expectedToStoreTrasactionModel.QuantityInUnit = actualViewModel.QuantityInUnit;
            expectedToStoreTrasactionModel.UnitID         = actualViewModel.UnitId;

            //var redirectToRouteResult = (RedirectToRouteResult)  new InternalMovementController().Create(actualViewModel);

            //repository.InternalMovement.AddNewInternalMovement(actualViewModel, actualUser);
            repository.Transaction.SaveInternalMovementTrasnsaction(actualViewModel, actualUser);

            //CollectionAssert.Contains(repository.Transaction.GetAll(), expectedFromStoreTrasactionModel);
            //CollectionAssert.Contains(repository.InternalMovement.GetAll(), expectdInternalMovementModel);
        }