public int GetNextRequestSerial() { var activesMax = ActiveRequests.GetMaxSerial(); var inactivsMax = InactiveRequests.GetMaxSerial(); return(Math.Max(activesMax, inactivsMax) + 1); }
public List <string> GetPayees() => ActiveRequests.GetPayees() .Concat(InactiveRequests.GetPayees()) .GroupBy(_ => _) .Select(_ => _.First()) .OrderBy(_ => _) .ToList();
public void SetAs_Cancelled(ChequeVoucherDTO chq) { var req = FindInactiveRequest(chq); req.ChequeStatus = ChequeState.Cancelled; InactiveRequests.Update(req); PreparedCheques.Delete(chq); }
public void SetAs_Unprepared(ChequeVoucherDTO chq) { PreparedCheques.Delete(chq); var req = FindInactiveRequest(chq); InactiveRequests.Delete(req); req.Id = 0; ActiveRequests.Insert(req); }
public void SetAs_Prepared(FundRequestDTO request, DateTime chequeDate, int chequeNumber) { PreparedCheques.Insert(new ChequeVoucherDTO { Request = request, ChequeDate = chequeDate, ChequeNumber = chequeNumber, }); InactiveRequests.Insert(ToInactive(request)); ActiveRequests.Delete(request); }
private FundRequestDTO FindInactiveRequest(ChequeVoucherDTO chq) { var matches = InactiveRequests.Find(_ => _.SerialNum == chq.Request.SerialNum); if (!matches.Any()) { //throw No.Match<FundRequestDTO>("SerialNum", chq.Request.SerialNum); InactiveRequests.Insert(chq.Request); return(FindInactiveRequest(chq)); } if (matches.Count() > 1) { throw DuplicateRecordsException.For(matches, "SerialNum", chq.Request.SerialNum); } return(matches.Single()); }