private async Task <ConditionValidateDTO> ValidatePhoneWhenPLateFound(CarDTO carReturn, CheckInforCollectionDTO collectionInfo)
        {
            InfoCustomer inforCustomer = await GetInfoCustomerWithIdentityAndPhoneNumberIfHave(collectionInfo);

            if (inforCustomer == null)
            {
                return(new ConditionValidateDTO(StatusCondition.ACCEPT_RE_NEW_BRIEF_CAR, null, carReturn));
            }
            else
            {
                InfoCustomerDTO inforReturn = Mapper.Map <InfoCustomerDTO>(inforCustomer);
                SetStatusForCustomerInforReturn(collectionInfo, inforCustomer, inforReturn);

                if (string.IsNullOrEmpty(inforCustomer.IdentityNumber))
                {
                    if (inforReturn.TransactionCode == carReturn.TransactionCode && !string.IsNullOrEmpty(inforReturn.TransactionCode) && !string.IsNullOrEmpty(carReturn.TransactionCode))
                    {
                        return(new ConditionValidateDTO(StatusCondition.DENIED));
                    }
                    return(new ConditionValidateDTO(StatusCondition.ACCEPT_RE_NEW_BRIEF_INFOCUSTOMER_AND_CAR, inforReturn, carReturn));
                }
                else
                {
                    if (inforReturn.TransactionCode == carReturn.TransactionCode && !string.IsNullOrEmpty(inforReturn.TransactionCode) && !string.IsNullOrEmpty(carReturn.TransactionCode))
                    {
                        CollectionCarDetailDTO detailInsurance = GetCollectionCarDetailMappingWithCustomer(carReturn.Plate, inforReturn);
                        return(ValidateSecondConditionWithPlateAndPhone(carReturn, inforReturn, collectionInfo, detailInsurance));
                    }
                    else
                    {
                        return(new ConditionValidateDTO(StatusCondition.ACCEPT_RE_NEW_BRIEF_INFOCUSTOMER_AND_CAR, inforReturn, carReturn));
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private ConditionValidateDTO ValidateSecondConditionWithPlateAndIdentity(CarDTO carReturn, InfoCustomerDTO inforReturn, CheckInforCollectionDTO collectionInfo, CollectionCarDetailDTO detailInsurance)
        {
            CollectionCar sheetCar = _collectionCarRepository.FindAll().OrderByDescending(x => x.CreatedDate)
                                     .FirstOrDefault(x => x.CollectionSheet.InfoCustomerId == inforReturn.Id);

            if (sheetCar == null)
            {
                return(new ConditionValidateDTO(StatusCondition.ACCEPT_RE_NEW_BRIEF_INFOCUSTOMER_AND_CAR, inforReturn, carReturn, detailInsurance));
            }

            DateTime currentDate = DateTime.Now;

            if ((currentDate.Year - sheetCar.CollectionSheet.TransactionDate.Value.Year) <= 3)
            {
                return(new ConditionValidateDTO(StatusCondition.DENIED));
            }
            else
            {
                if (detailInsurance == null)
                {
                    return(new ConditionValidateDTO(StatusCondition.ACCEPT_RE_NEW_BRIEF_INFOCUSTOMER_AND_CAR, inforReturn, carReturn));
                }

                return(new ConditionValidateDTO(StatusCondition.ACCEPT_RE_NEW_BRIEF_INFOCUSTOMER_AND_CAR, inforReturn, carReturn, detailInsurance));
            }
        }