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(); var transactionGroupId = Guid.NewGuid(); Commodity commodity = _unitOfWork.CommodityRepository.FindById(viewModel.CommodityId); transactionFromStore.TransactionID = Guid.NewGuid(); transactionFromStore.TransactionGroupID = transactionGroupId; transactionFromStore.LedgerID = 2; transactionFromStore.HubOwnerID = user.DefaultHubObj.HubOwner.HubOwnerID; //trasaction.AccountID transactionFromStore.AccountID = _accountService.GetAccountIdWithCreate(Account.Constants.HUB, user.DefaultHub.Value); // transactionFromStore.HubID = user.DefaultHub.Value; 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.TransactionID = Guid.NewGuid(); transactionToStore.TransactionGroupID = transactionGroupId; transactionToStore.LedgerID = 2; transactionToStore.HubOwnerID = user.DefaultHubObj.HubOwner.HubOwnerID; //transactionToStore.AccountID transactionToStore.AccountID = _accountService.GetAccountIdWithCreate(Account.Constants.HUB, user.DefaultHub.Value); // transactionToStore.HubID = user.DefaultHub.Value; 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.TransactionGroupID = transactionGroupId; transactionGroup.Transactions.Add(transactionFromStore); transactionGroup.Transactions.Add(transactionToStore); transactionGroup.PartitionId = 0; internalMovement.InternalMovementID = Guid.NewGuid(); internalMovement.PartitionId = 0; internalMovement.TransactionGroupID = transactionGroupId; internalMovement.TransactionGroup = transactionGroup; internalMovement.TransferDate = viewModel.SelectedDate; internalMovement.DReason = viewModel.ReasonId; internalMovement.Notes = viewModel.Note; internalMovement.ApprovedBy = viewModel.ApprovedBy; internalMovement.ReferenceNumber = viewModel.ReferenceNumber; internalMovement.HubID = user.DefaultHub.Value; // Try to save this transaction try { _unitOfWork.InternalMovementRepository.Add(internalMovement); _unitOfWork.Save(); } 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); } }