public async Task <bool> ValidateName(CustomerLead CustomerLead) { if (string.IsNullOrWhiteSpace(CustomerLead.Name)) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Name), ErrorCode.NameEmpty); } else if (CustomerLead.Name.Length > 255) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Name), ErrorCode.NameOverLength); } return(CustomerLead.IsValidated); }
public async Task <bool> Convert(CustomerLead CustomerLead) { if (await ValidateId(CustomerLead)) { if (CustomerLead.Company == null) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Company), ErrorCode.CompanyIsNull); } else { if (CustomerLead.IsNewCompany) { await ValidateCompanyName(CustomerLead); } else { await ValidateCompany(CustomerLead); } } if (CustomerLead.Contact == null) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Contact), ErrorCode.ContactIsNull); } else { if (CustomerLead.IsNewContact) { await ValidateContactName(CustomerLead); await ValidatePhone(CustomerLead); } else { await ValidateContact(CustomerLead); } } if (CustomerLead.IsCreateOpportunity) { if (CustomerLead.IsNewOpportunity) { await ValidateOpportunityName(CustomerLead); } else { await ValidateOpportunity(CustomerLead); } } } return(CustomerLead.IsValidated); }
public async Task <bool> ValidateFax(CustomerLead CustomerLead) { if (!string.IsNullOrWhiteSpace(CustomerLead.Fax)) { if (CustomerLead.Fax.Length > 10) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Fax), ErrorCode.FaxOverLength); } } return(CustomerLead.IsValidated); }
public async Task <bool> ValidateCompany(CustomerLead CustomerLead) { if (CustomerLead.CompanyId.HasValue == false) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Company), ErrorCode.CompanyEmpty); } else { CompanyFilter CompanyFilter = new CompanyFilter { Id = new IdFilter { Equal = CustomerLead.CompanyId } }; var count = await UOW.CompanyRepository.Count(CompanyFilter); if (count == 0) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Company), ErrorCode.CompanyNotExisted); } } return(CustomerLead.IsValidated); }
public async Task <bool> ValidateOpportunity(CustomerLead CustomerLead) { if (CustomerLead.OpportunityId.HasValue == false) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Opportunity), ErrorCode.OpportunityEmpty); } else { OpportunityFilter OpportunityFilter = new OpportunityFilter { Id = new IdFilter { Equal = CustomerLead.OpportunityId } }; var count = await UOW.OpportunityRepository.Count(OpportunityFilter); if (count == 0) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Opportunity), ErrorCode.OpportunityNotExisted); } } return(CustomerLead.IsValidated); }
public async Task <bool> ValidateId(CustomerLead CustomerLead) { CustomerLeadFilter CustomerLeadFilter = new CustomerLeadFilter { Skip = 0, Take = 10, Id = new IdFilter { Equal = CustomerLead.Id }, Selects = CustomerLeadSelect.Id }; int count = await UOW.CustomerLeadRepository.Count(CustomerLeadFilter); if (count == 0) { CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Id), ErrorCode.IdNotExisted); } return(count == 1); }