private async Task <RegistrationReason> GetFilledRegistrationReason(RegistrationReason registrationReason) { RegistrationReason rr = null; if (!string.IsNullOrEmpty(registrationReason.Name) && !string.IsNullOrEmpty(registrationReason.Code)) { rr = await _ctx.RegistrationReasons.FirstOrDefaultAsync(dsc => !dsc.IsDeleted && (dsc.Name == registrationReason.Name || dsc.NameLanguage1 == registrationReason.Name || dsc.NameLanguage2 == registrationReason.Name) && dsc.Code == registrationReason.Code); } else if (!string.IsNullOrEmpty(registrationReason.Name)) { rr = await _ctx.RegistrationReasons.FirstOrDefaultAsync(dsc => !dsc.IsDeleted && (dsc.Name == registrationReason.Name || dsc.NameLanguage1 == registrationReason.Name || dsc.NameLanguage2 == registrationReason.Name)); } else if (!string.IsNullOrEmpty(registrationReason.Code)) { rr = await _ctx.RegistrationReasons.FirstOrDefaultAsync(dsc => !dsc.IsDeleted && dsc.Code == registrationReason.Code); } if (rr == null) { throw new Exception($"Registration reason by `{registrationReason.Name}` name and {registrationReason.Code} code not found"); } return(rr); }
public static RegistrationReason ParseRegistrationReason(string prop, string value, RegistrationReason prev) { var result = prev ?? new RegistrationReason(); switch (prop) { case nameof(UnitStatus.Name): result.Name = value; break; case nameof(UnitStatus.Code): result.Code = value; break; default: throw UnsupportedPropertyOf <RegistrationReason>(prop); } return(result); }
public Task <bool> AboutRegistrationAsync(RegistrationReason reason, string email) => _notifyAboutRegistration[reason].Invoke(email);