Exemplo n.º 1
0
        public static CustomerStatu CreateOrUpdateCurrent(PartyRole partyRole, CustomerStatusType statusTo, DateTime today)
        {
            CustomerStatu customerAppStatus = GetActive(partyRole);
            if (customerAppStatus != null && customerAppStatus.CustomerStatusType.Id != statusTo.Id)
                customerAppStatus.IsActive = false;

            if (customerAppStatus == null || customerAppStatus.CustomerStatusType.Id != statusTo.Id)
            {
                CustomerStatu status = new CustomerStatu();
                status.CustomerStatusType = statusTo;
                status.PartyRoleId = partyRole.Id;
                status.TransitionDateTime = today;
                status.IsActive = true;
                return status;
            }
            return customerAppStatus;
        }
        private void ChangeCustomerStatusToUnderLitigation(int loanAccountId)
        {
            var financialAccount = ObjectContext.FinancialAccounts.SingleOrDefault(entity => entity.Id == loanAccountId);
            var ownerFinAcctRole = financialAccount.FinancialAccountRoles.SingleOrDefault(entity => entity.PartyRole.RoleTypeId == RoleType.OwnerFinancialType.Id && entity.PartyRole.EndDate == null);
            var partyId = ownerFinAcctRole.PartyRole.PartyId;
            var customerPartyRole = PartyRole.GetByPartyIdAndRole(partyId, RoleType.CustomerType);
            var customer = customerPartyRole.Customer;
            var customerStatus = customer.CurrentStatus;

            if (customerStatus.CustomerStatusType == CustomerStatusType.DelinquentType)
            {
                customerStatus.IsActive = false;
                CustomerStatu newCustomerStatus = new CustomerStatu();
                newCustomerStatus.PartyRoleId = customer.PartyRoleId;
                newCustomerStatus.CustomerStatusTypeId = CustomerStatusType.SubprimeType.Id;
                newCustomerStatus.TransitionDateTime = DateTime.Now;
                newCustomerStatus.IsActive = true;

                ObjectContext.CustomerStatus.AddObject(newCustomerStatus);
            }
        }