public void DistributeCash(IUnitOfWork uow, FuelDocument fuelDoc) { var org = cashDistributionCommonOrganisationProvider.GetCommonOrganisation(uow); var operation = new OrganisationCashMovementOperation { Organisation = org, OperationTime = DateTime.Now, Amount = -fuelDoc.PayedForFuel.Value }; var fuelCashDistributionDoc = new FuelExpenseCashDistributionDocument { Author = fuelDoc.Author, CreationDate = DateTime.Now, Organisation = org, FuelDocument = fuelDoc, Employee = fuelDoc.Driver, LastEditor = fuelDoc.LastEditor, LastEditedTime = DateTime.Now, Expense = fuelDoc.FuelCashExpense, OrganisationCashMovementOperation = operation, Amount = operation.Amount }; Save(operation, fuelCashDistributionDoc, uow); }
private void DistributeIncomeCashRemainingAmount(IUnitOfWork uow, RouteList routeList, Income income, decimal amount) { var operation = new OrganisationCashMovementOperation { OperationTime = DateTime.Now, Organisation = cashDistributionCommonOrganisationProvider.GetCommonOrganisation(uow), Amount = amount }; var address = routeList.Addresses.First(x => x.TotalCash > 0); var document = CreateRouteListItemCashDistributionDocument(operation, address, income); Save(uow, operation, document); }
private IncomeCashDistributionDocument CreateIncomeCashDistributionDocument(Income income, OrganisationCashMovementOperation operation) { return(new IncomeCashDistributionDocument { Author = income.Casher, Income = income, Organisation = operation.Organisation, CreationDate = DateTime.Now, LastEditor = income.Casher, Employee = income.Employee, LastEditedTime = DateTime.Now, OrganisationCashMovementOperation = operation, Amount = operation.Amount }); }
private RouteListItemCashDistributionDocument CreateRouteListItemCashDistributionDocument( OrganisationCashMovementOperation operation, RouteListItem address, Expense expense) { return(new RouteListItemCashDistributionDocument { Organisation = operation.Organisation, CreationDate = DateTime.Now, LastEditedTime = DateTime.Now, Author = expense.Casher, LastEditor = expense.Casher, RouteListItem = address, Employee = expense.Employee, Expense = expense, OrganisationCashMovementOperation = operation, Amount = operation.Amount }); }
private SelfDeliveryCashDistributionDocument CreateSelfDeliveryCashDistributionDocument( OrganisationCashMovementOperation operation, Order selfDeliveryOrder, Income income) { return(new SelfDeliveryCashDistributionDocument { Organisation = operation.Organisation, CreationDate = DateTime.Now, Author = income.Casher, LastEditedTime = DateTime.Now, LastEditor = income.Casher, Employee = income.Employee, Order = selfDeliveryOrder, Income = income, OrganisationCashMovementOperation = operation, Amount = operation.Amount }); }
public IList <OperationNode> GetCashBalanceForOrganizations(IUnitOfWork uow) { Organization organizationAlias = null; OrganisationCashMovementOperation operationAlias = null; OperationNode resultAlias = null; var query = uow.Session.QueryOver(() => organizationAlias) .JoinEntityAlias(() => operationAlias, () => organizationAlias.Id == operationAlias.Organisation.Id, JoinType.LeftOuterJoin ) .SelectList(list => list .SelectGroup(() => organizationAlias.Id) .Select(Projections.Sum(() => operationAlias.Amount)).WithAlias(() => resultAlias.Balance) .Select(() => organizationAlias.Name).WithAlias(() => resultAlias.Name)) .TransformUsing(Transformers.AliasToBean <OperationNode>()) .List <OperationNode>(); return(query); }
private void UpdateOrganisationCashMovementOperation(OrganisationCashMovementOperation operation, Expense expense) { operation.Amount = -expense.Money; operation.OperationTime = DateTime.Now; }
private ExpenseCashDistributionDocument CreateExpenseCashDistributionDocument(Expense expense, OrganisationCashMovementOperation operation) { return(new ExpenseCashDistributionDocument { Author = expense.Casher, Expense = expense, CreationDate = DateTime.Now, LastEditor = expense.Casher, Employee = expense.Employee, Organisation = operation.Organisation, LastEditedTime = DateTime.Now, OrganisationCashMovementOperation = operation, Amount = operation.Amount }); }
private void Save(OrganisationCashMovementOperation operation, ExpenseCashDistributionDocument document, IUnitOfWork uow) { uow.Save(operation); uow.Save(document); }
private void Save(IUnitOfWork uow, OrganisationCashMovementOperation operation, RouteListItemCashDistributionDocument routeListItemCashdistributionDoc) { uow.Save(operation); uow.Save(routeListItemCashdistributionDoc); }
private void Save(IUnitOfWork uow, OrganisationCashMovementOperation operation, SelfDeliveryCashDistributionDocument selfDeliveryCashDistributionDoc) { uow.Save(operation); uow.Save(selfDeliveryCashDistributionDoc); }
private void SaveExpense(IUnitOfWork uow, OrganisationCashMovementOperation operation, AdvanceExpenseCashDistributionDocument advanceExpenseCashDistributionDoc) { uow.Save(operation); uow.Save(advanceExpenseCashDistributionDoc); }
private AdvanceExpenseCashDistributionDocument CreateAdvanceExpenseCashDistributionDocument(AdvanceReport advanceReport, Expense expense, OrganisationCashMovementOperation operation) { return(new AdvanceExpenseCashDistributionDocument { AdvanceReport = advanceReport, Expense = expense, Author = advanceReport.Casher, CreationDate = DateTime.Now, Organisation = advanceReport.Organisation, LastEditor = advanceReport.Casher, LastEditedTime = DateTime.Now, OrganisationCashMovementOperation = operation, Amount = operation.Amount }); }
private void UpdateOrganisationCashMovementOperation(OrganisationCashMovementOperation operation, Income income) { operation.Amount = income.Money; operation.OperationTime = DateTime.Now; }