Example #1
0
 public bool SaveRequest4Payment(Model.PaymentRequest entity, EntityCollection <PaymentRequestBudgetLine> collection)
 {
     using (var context = new SCMSEntities())
     {
         using (TransactionScope scope = new TransactionScope())
         {
             try
             {
                 context.PaymentRequests.Add(entity);
                 //if (context.SaveChanges() > 0)
                 //{
                 foreach (PaymentRequestBudgetLine item in collection)
                 {
                     context.PaymentRequestBudgetLines.Add(item);
                     if (!(context.SaveChanges() > 0))
                     {
                         scope.Complete(); return(false);
                     }
                 }
                 //Send notification to Finance
                 notificationService.SendToAppropriateApprover(NotificationHelper.rfpCode, NotificationHelper.reviewCode, entity.Id);
                 scope.Complete();
                 return(true);
                 //}
                 //else { scope.Dispose(); return false; }
             }
             catch (Exception ex) { scope.Dispose(); throw new Exception(ex.Message); }
         }
     }
 }
Example #2
0
        public string GenerateUniquNumber(CountryProgramme cp)
        {
            string code      = "RFP/DRC/" + cp.Country.ShortName + "/";
            string refNumber = "";
            long   count     = 1;

            using (var dbContext = new SCMSEntities())
            {
                var total = dbContext.PaymentRequests.Where(p => p.CountryProgrammeId == cp.Id && p.IsSubmitted == true).Count();
                count = total;
                Model.PaymentRequest m = null;
                do
                {
                    count++;
                    if (count < 100000)
                    {
                        if (count < 10)
                        {
                            refNumber = code + "0000" + count;
                        }
                        if (count < 100 & count >= 10)
                        {
                            refNumber = code + "000" + count;
                        }
                        if (count < 1000 & count >= 100)
                        {
                            refNumber = code + "00" + count;
                        }
                        if (count < 10000 & count >= 1000)
                        {
                            refNumber = code + "0" + count;
                        }
                        if (count < 100000 && count >= 10000)
                        {
                            refNumber = code + count;
                        }
                    }
                    m = dbContext.PaymentRequests.FirstOrDefault(p => p.RefNumber == refNumber);
                } while (m != null);
                return(refNumber);
            }
        }