/// <summary> /// جلب الحقول المباشرة التى وضعت مع الفئة عمتا /// ولاكن بشرط ان لا يكون هناك فئة فرعية آخرى /// </summary> /// <param name="category"></param> /// <returns></returns> public RentalDirectFieldVM GetRentalDirectFieldsByCategory(Category category, int subCategoryId) { RentalDirectFieldVM RentalDirectField = new RentalDirectFieldVM(); //Get Objects var Country = category.RentalDirectFields.SingleOrDefault(c => !c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Country); var Province = category.RentalDirectFields.SingleOrDefault(c => !c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Province); var Size = category.RentalDirectFields.SingleOrDefault(c => !c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Size); var Area = category.RentalDirectFields.SingleOrDefault(c => !c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Area); var Location = category.RentalDirectFields.SingleOrDefault(c => !c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Location); var Mark = category.RentalDirectFields.SingleOrDefault(c => !c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Mark); var Material = category.RentalDirectFields.SingleOrDefault(c => !c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Materials); var Nationality = category.RentalDirectFields.SingleOrDefault(c => !c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Nationality); //Country Setting if (Country != null) { RentalDirectField.IsCountry = true; RentalDirectField.IsCountryRequierd = Country.IsRequired; } //Province Setting if (Province != null) { RentalDirectField.IsProvince = true; RentalDirectField.IsProvinceRequierd = Province.IsRequired; } //Size Setting if (Size != null) { RentalDirectField.IsSize = true; RentalDirectField.IsSizeRequierd = Size.IsRequired; } //Area Setting if (Area != null) { RentalDirectField.IsArea = true; RentalDirectField.IsAreaRequierd = Area.IsRequired; } //Location Setting if (Location != null) { RentalDirectField.IsLocation = true; RentalDirectField.IsLocationRequierd = Location.IsRequired; } //Mark Setting if (Mark != null) { RentalDirectField.IsMark = true; RentalDirectField.IsMarkRequierd = Mark.IsRequired; } //Material Setting if (Material != null) { RentalDirectField.IsMaterial = true; RentalDirectField.IsMaterialRequierd = Material.IsRequired; } //Nationality Setting if (Nationality != null) { RentalDirectField.IsNationality = true; RentalDirectField.IsNationalityRequierd = Nationality.IsRequired; } //Load Items if (RentalDirectField.IsSize) { RentalDirectField.SizeItems = SizesItems(); } if (RentalDirectField.IsMark) { RentalDirectField.MarkItems = RentalMarksItems(category.Id, subCategoryId); } if (RentalDirectField.IsMaterial) { RentalDirectField.MaterialItems = RentalMaterialsItems(category.Id, subCategoryId); } if (RentalDirectField.IsNationality) { RentalDirectField.NationalityItems = NationalitiesItems(); } return(RentalDirectField); }
/// <summary> /// جلب الحقول المباشرة التى وضعت مع هذة الفئة الفرعية /// واذا لم يكن مع الفئة الفرعية حقول سوف نقوم بجلب الحقول مع الفئة الرئيسية /// </summary> /// <param name="subCategory"></param> /// <returns></returns> public RentalDirectFieldVM GetRentalDirectFieldsBySubCategory(SubCategory subCategory) { //نتحقق اذا لم يكن هناك اى حقول مع هذة الفئة الفرعية .. نقوم بارجاع الحقول التى مع الفئة العامة if (subCategory.RentalDirectFields.Count == 0) { return(GetRentalDirectFieldsByCategory(subCategory.Category, subCategory.Id)); } RentalDirectFieldVM RentalDirectField = new RentalDirectFieldVM(); //Get Objects var Country = subCategory.RentalDirectFields.SingleOrDefault(c => c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Country); var Province = subCategory.RentalDirectFields.SingleOrDefault(c => c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Province); var Size = subCategory.RentalDirectFields.SingleOrDefault(c => c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Size); var Area = subCategory.RentalDirectFields.SingleOrDefault(c => c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Area); var Location = subCategory.RentalDirectFields.SingleOrDefault(c => c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Location); var Mark = subCategory.RentalDirectFields.SingleOrDefault(c => c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Mark); var Material = subCategory.RentalDirectFields.SingleOrDefault(c => c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Materials); var Nationality = subCategory.RentalDirectFields.SingleOrDefault(c => c.FkSubCategory_Id.HasValue && c.FkDirectField_Id == DirectFieldsEnumVM.Nationality); //Country Setting if (Country != null) { RentalDirectField.IsCountry = true; RentalDirectField.IsCountryRequierd = Country.IsRequired; } //Province Setting if (Province != null) { RentalDirectField.IsProvince = true; RentalDirectField.IsProvinceRequierd = Province.IsRequired; } //Size Setting if (Size != null) { RentalDirectField.IsSize = true; RentalDirectField.IsSizeRequierd = Size.IsRequired; } //Area Setting if (Area != null) { RentalDirectField.IsArea = true; RentalDirectField.IsAreaRequierd = Area.IsRequired; } //Location Setting if (Location != null) { RentalDirectField.IsLocation = true; RentalDirectField.IsLocationRequierd = Location.IsRequired; } //Mark Setting if (Mark != null) { RentalDirectField.IsMark = true; RentalDirectField.IsMarkRequierd = Mark.IsRequired; } //Material Setting if (Material != null) { RentalDirectField.IsMaterial = true; RentalDirectField.IsMaterialRequierd = Material.IsRequired; } //Nationality Setting if (Nationality != null) { RentalDirectField.IsNationality = true; RentalDirectField.IsNationalityRequierd = Nationality.IsRequired; } //Load Items if (RentalDirectField.IsSize) { RentalDirectField.SizeItems = SizesItems(); } if (RentalDirectField.IsMark) { RentalDirectField.MarkItems = RentalMarksItems(subCategory.FKCategory_Id, subCategory.Id); } if (RentalDirectField.IsMaterial) { RentalDirectField.MaterialItems = RentalMaterialsItems(subCategory.FKCategory_Id, subCategory.Id); } if (RentalDirectField.IsNationality) { RentalDirectField.NationalityItems = NationalitiesItems(); } return(RentalDirectField); }