コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public Task <bool> AboutRegistrationAsync(RegistrationReason reason, string email) =>
 _notifyAboutRegistration[reason].Invoke(email);