Ejemplo n.º 1
0
        public int GetNextRequestSerial()
        {
            var activesMax  = ActiveRequests.GetMaxSerial();
            var inactivsMax = InactiveRequests.GetMaxSerial();

            return(Math.Max(activesMax, inactivsMax) + 1);
        }
Ejemplo n.º 2
0
 public List <string> GetPayees()
 => ActiveRequests.GetPayees()
 .Concat(InactiveRequests.GetPayees())
 .GroupBy(_ => _)
 .Select(_ => _.First())
 .OrderBy(_ => _)
 .ToList();
Ejemplo n.º 3
0
        public void SetAs_Cancelled(ChequeVoucherDTO chq)
        {
            var req = FindInactiveRequest(chq);

            req.ChequeStatus = ChequeState.Cancelled;
            InactiveRequests.Update(req);
            PreparedCheques.Delete(chq);
        }
Ejemplo n.º 4
0
        public void SetAs_Unprepared(ChequeVoucherDTO chq)
        {
            PreparedCheques.Delete(chq);
            var req = FindInactiveRequest(chq);

            InactiveRequests.Delete(req);
            req.Id = 0;
            ActiveRequests.Insert(req);
        }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
        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());
        }