Example #1
0
 public static void InsertReceivableStatus(int receivableID, decimal balance, DateTime today)
 {
     var receivable = Context.Receivables.FirstOrDefault(entity => entity.Id == receivableID);
     if (receivable.CurrentStatus.StatusTypeId == ReceivableStatusType.OpenType.Id && balance != 0)
     {
         receivable.CurrentStatus.IsActive = false;
         ReceivableStatu receivableStatus = new ReceivableStatu();
         receivableStatus.Receivable = receivable;
         receivableStatus.ReceivableStatusType = ReceivableStatusType.PartiallyPaidType;
         receivableStatus.TransitionDateTime = today;
         receivableStatus.IsActive = true;
         Context.ReceivableStatus.AddObject(receivableStatus);
     }
     else if (receivable.CurrentStatus.StatusTypeId == ReceivableStatusType.OpenType.Id && balance == 0)
     {
         receivable.CurrentStatus.IsActive = false;
         ReceivableStatu receivableStatus = new ReceivableStatu();
         receivableStatus.Receivable = receivable;
         receivableStatus.ReceivableStatusType = ReceivableStatusType.FullyPaidType;
         receivableStatus.TransitionDateTime = today;
         receivableStatus.IsActive = true;
         Context.ReceivableStatus.AddObject(receivableStatus);
     }
     else if (receivable.CurrentStatus.StatusTypeId == ReceivableStatusType.PartiallyPaidType.Id && balance != 0)
     {
         receivable.CurrentStatus.IsActive = false;
         ReceivableStatu receivableStatus = new ReceivableStatu();
         receivableStatus.Receivable = receivable;
         receivableStatus.ReceivableStatusType = ReceivableStatusType.PartiallyPaidType;
         receivableStatus.TransitionDateTime = today;
         receivableStatus.IsActive = true;
         Context.ReceivableStatus.AddObject(receivableStatus);
     }
     else if (receivable.CurrentStatus.StatusTypeId == ReceivableStatusType.PartiallyPaidType.Id && balance == 0)
     {
         receivable.CurrentStatus.IsActive = false;
         ReceivableStatu receivableStatus = new ReceivableStatu();
         receivableStatus.Receivable = receivable;
         receivableStatus.ReceivableStatusType = ReceivableStatusType.FullyPaidType;
         receivableStatus.TransitionDateTime = today;
         receivableStatus.IsActive = true;
         Context.ReceivableStatus.AddObject(receivableStatus);
     }
       //  Context.SaveChanges();
 }
Example #2
0
        public static Receivable CreateReceivableWithStatus(int financialAccountID,decimal amount,  int disburseId, string type,DateTime actualDate,DateTime dueDate, DateTime entryDate)
        {
            if (amount > 0 && type != ManualBillingDisplay)
            {
                Receivable receivable = new Receivable();
                receivable.ReceivableType = ReceivableType.InterestType;
                receivable.FinancialAccountId = financialAccountID;
                receivable.Date = entryDate;
                receivable.DueDate = dueDate;
                receivable.ValidityPeriod = actualDate;
                receivable.Amount = amount;
                receivable.Balance = amount;
                if (disburseId != -1) receivable.PaymentId = disburseId;

                ReceivableStatu receivableStatus = new ReceivableStatu();
                receivableStatus.Receivable = receivable;
                receivableStatus.ReceivableStatusType = ReceivableStatusType.OpenType;
                receivableStatus.TransitionDateTime = dueDate;
                receivableStatus.IsActive = true;

                return receivable;
            }
            else return null;
        }
        private void CancelReceivables(LoanAccount loanAccount, DateTime today)
        {
            var receivables = loanAccount.Receivables.ToList();

            if (receivables.Count() != 0)
            {
                foreach (var res in receivables)
                {
                    //if (res.ReceivableTypeId == ReceivableType.PrincipalType.Id)
                    //{
                    if (res.CurrentStatus != null)
                        res.CurrentStatus.IsActive = false;

                    ReceivableStatu receivableStatus = new ReceivableStatu();
                    receivableStatus.Receivable = res;
                    receivableStatus.ReceivableStatusType = ReceivableStatusType.CancelledType;
                    receivableStatus.TransitionDateTime = today;
                    receivableStatus.IsActive = true;
                    //}
                }
            }
        }