public static void CreateEnumClass(Language language, string packageName, PackageEnum enums, string path, string fileSuffix) { var generate = Activator.CreateInstance(Type.GetType($"GenerateEnum{language}")) as IGenerate; generate.PackageName = packageName; generate.Language = language; generate.ClassName = enums.Name; generate.Package = enums; generate.Parameter = true; var suffix = fileSuffix.IsEmptyString() ? language.GetInfo().extension : fileSuffix; var fileName = $"{enums.Name}.{suffix}"; if (language == Language.Java) { fileName = string.Join("/", packageName.Split(".")) + "/" + fileName; } Scorpio.Commons.FileUtil.CreateFile(fileName, generate.Generate(), path.Split(Separator)); }
void ParseEnum(string name, ScriptMap table) { var enums = new PackageEnum(); foreach (var pair in table) { var fieldName = pair.Key as string; if (string.IsNullOrEmpty(fieldName)) { throw new Exception($"Enum:{name} Field:{fieldName} 参数出错"); } enums.Fields.Add(new FieldEnum() { Name = fieldName, Index = pair.Value.ToInt32(), }); } enums.Fields.Sort((m1, m2) => { return(m1.Index.CompareTo(m2.Index)); }); name = name.Substring(ENUM_KEYWORD.Length); enums.Name = name; Enums[name] = enums; }
public Expression <Func <ItemEntity, bool> > GetItemExp(BrandEnum brand, FlavorEnum flavor, PackageEnum package, ProductionType productionType, ProductionDetail productionDetailType) { Expression <Func <ItemEntity, bool> > itemWhere = c => true; if (brand != BrandEnum.Null) { var prefix = itemWhere.Compile(); itemWhere = c => prefix(c) && c.Brand == (int)brand; } if (flavor != FlavorEnum.Null) { var prefix = itemWhere.Compile(); itemWhere = c => prefix(c) && c.Flavor == (int)flavor; } if (package != PackageEnum.Null) { var prefix = itemWhere.Compile(); itemWhere = c => prefix(c) && c.Package == (int)package; } if (productionType != ProductionType.Null) { var prefix = itemWhere.Compile(); itemWhere = c => prefix(c) && c.ProductionType == (int)productionType; } if (productionDetailType != ProductionDetail.Null) { var prefix = itemWhere.Compile(); itemWhere = c => prefix(c) && c.ProductionDetailType == (int)productionDetailType; } return(itemWhere); }
/// <summary> /// 取得庫存 /// </summary> /// <returns></returns> public List <Item> GetStorage(BrandEnum brand, FlavorEnum flavor, PackageEnum package, ProductionType productionType, ProductionDetail productionDetailType) { return(_stockService.GetStorage(brand, flavor, package, productionType, productionDetailType)); }