Exemplo n.º 1
0
func importPhoneNumbers(conn *transaction.Connection, config model.YAMLPhoneNumbers) (err error) {
	log.Info("Import phonenumbers started")

	for countryCode, phonenumbers := range config.Phonenumbers {
		if conn.IsCountryExist(countryCode) == false {
			err = errors.New("No country")
			break
		}

		errorInsidePhonenumber := false
		for _, phonenumber := range phonenumbers {
			if err = conn.CreatePhonenumber(countryCode, phonenumber.Number); err != nil {
				errorInsidePhonenumber = true
				break
			}

			errorInsideAssignement := false
			for _, categoryCode := range phonenumber.Categories {
				if conn.IsCategoryExist(categoryCode) == false {
					err = errors.New("No category " + categoryCode)
					errorInsideAssignement = true
					break
				}

				if err = conn.AssignPhonenumberToCategory(countryCode, phonenumber.Number, categoryCode); err != nil {
					errorInsideAssignement = true
					break
				}
			}

			if errorInsideAssignement == true {
				break
			}
		}

		if errorInsidePhonenumber == true {
			break
		}
	}
	log.Info("Import phonenumbers finished")
	return
}