public List <Payment> GetSalaries(string login) { var acc = _rightsManager.CheckForAccessOverSlave(login, AccountAccessRoles.Read); var ret = UserContext.Data.Payments.Where(x => x.Receiver == acc.Login); return(ret.ToList()); }
public float Transfer(TransferClientData data) { var receiverAcc = UserContext.Accounts.GetOrFail(data.Receiver, true); //Разрешен Alias var senderAcc = UserContext.Accounts.GetOrFail(data.Sender); Try.Condition(receiverAcc.Login != senderAcc.Login, "Нельзя переводить самому себе"); _rightsManager.CheckForAccessOverSlave(senderAcc, AccountAccessRoles.Withdraw); data.Description = data.Description ?? ""; var trList = new List <Transaction>(); //Разные виды налогообложения if (receiverAcc.Role == AccountRole.Person && senderAcc.Role == AccountRole.Person) { trList = P2PTransfer(senderAcc, receiverAcc, data); } else if (receiverAcc.Role.IsCompany() && senderAcc.Role == AccountRole.Person) { trList = P2BTransfer(senderAcc, receiverAcc, data); } else { trList = B2BTransfer(senderAcc, receiverAcc, data); } //Анонимные транзакции if (data.Receiver.ToLower() == receiverAcc.Alias.ToLower() && receiverAcc.Role == AccountRole.Person) { trList.ForEach(x => { if (x.ReceiverAccount.Login == receiverAcc.Login) { x.Type |= TransactionType.Anonymous; } }); } using (var dbTransact = UserContext.Data.Database.BeginTransaction()) { UserContext.Data.BeginFastSave(); trList.ForEach(TransactiontoDb); dbTransact.Commit(); } return(senderAcc.Cash); }
public Account GetProfile(string login) { var acc = _rightsManager.CheckForAccessOverSlave(login, AccountAccessRoles.Read); if (acc.Role.IsCompany()) { var parent = Get(acc.ParentID); if (parent != null) { acc.Index = parent.Index; } } return(acc); //DON'T SAVE DATA!!! }
public List <Loyalty> GetCompanyLoyalties(string login) { var acc = _rightsManager.CheckForAccessOverSlave(login, AccountAccessRoles.Read); return(UserContext.Data.Loyalties.Where(x => x.LoyalService.Login == acc.Login).ToList()); }