コード例 #1
0
        private async Task <ReorgType> GetFilledReorgType(ReorgType reorgType)
        {
            ReorgType rt = null;

            if (!string.IsNullOrEmpty(reorgType.Name) && !string.IsNullOrEmpty(reorgType.Code))
            {
                rt = await _ctx.ReorgTypes.FirstOrDefaultAsync(dsc =>
                                                               !dsc.IsDeleted && (dsc.Name == reorgType.Name || dsc.NameLanguage1 == reorgType.Name || dsc.NameLanguage2 == reorgType.Name) &&
                                                               dsc.Code == reorgType.Code);
            }
            else if (!string.IsNullOrEmpty(reorgType.Name))
            {
                rt = await _ctx.ReorgTypes.FirstOrDefaultAsync(dsc =>
                                                               !dsc.IsDeleted && (dsc.Name == reorgType.Name || dsc.NameLanguage1 == reorgType.Name || dsc.NameLanguage2 == reorgType.Name));
            }
            else if (!string.IsNullOrEmpty(reorgType.Code))
            {
                rt = await _ctx.ReorgTypes.FirstOrDefaultAsync(dsc =>
                                                               !dsc.IsDeleted && dsc.Code == reorgType.Code);
            }

            if (rt == null)
            {
                throw new Exception($"Reorg type by `{reorgType.Name}` name and {reorgType.Code} code not found");
            }

            return(rt);
        }
コード例 #2
0
        public static ReorgType ParseReorgType(string prop, string value, ReorgType prev)
        {
            var result = prev ?? new ReorgType();

            switch (prop)
            {
            case nameof(UnitStatus.Name):
                result.Name = value;
                break;

            case nameof(UnitStatus.Code):
                result.Code = value;
                break;

            default: throw UnsupportedPropertyOf <ReorgType>(prop);
            }

            return(result);
        }