public async Task <GetProductGroup> GetProductGroupForEdit(NullableIdDto input) { var output = new GetProductGroup { }; var productgroup = _productGroupRepository .GetAll().Where(p => p.Id == input.Id).FirstOrDefault(); output.productGroup = productgroup.MapTo <CreateProductGroupInput>(); return(output); }
public async Task <GetProductGroup> GetProductGroupForEdit(EntityDto input) { var output = new GetProductGroup { }; var groups = _productGroupRepository.GetAll().Where(p => p.Id == input.Id).FirstOrDefault(); if (groups != null) { var family = (from r in _productFamilyRepository.GetAll() where r.Id == groups.FamilyId select new FamilyData { Id = r.Id, Name = r.ProductFamilyName }).FirstOrDefault(); var querys = _ProductGroupDetailRepository.GetAll().Where(p => p.ProductGroupId == input.Id).OrderBy(r => r.OrderBy); var ProductGroupDetail = (from r in querys where r.ProductGroupId == input.Id select new ProductDetailDtos { Id = r.Id, GroupId = r.AttributeGroupId, GroupName = r.ProductAttributeGroups.AttributeGroupName }).ToArray(); var SubListout = new List <GetProductDetailDto>(); var ChildListout = new List <ProductDetailDto>(); foreach (var pro in ProductGroupDetail) { var productDeta = (from r in _AttributeGroupDetailRepository.GetAll() where r.AttributeGroupId == pro.GroupId select new ProductDetailDto { Id = r.Id, AttributeId = r.AttributeId, AttributeName = r.Attributes.AttributeName, AttributeCode = r.Attributes.AttributeCode, ImgPath = r.Attributes.Imageurl ?? "", Selected = false }); ChildListout = productDeta.ToList(); SubListout.Add(new GetProductDetailDto { Id = pro.GroupId, rowId = pro.Id, Name = pro.GroupName, ProductDetails = productDeta.ToArray() }); } var datas = groups.MapTo <ProductGroupListDto>(); datas.IsEditable = true; foreach (var data in ChildListout) { var ProductSpecification = (from c in _ProdutSpecLinkRepository.GetAll().Where(p => p.AttributeId == data.AttributeId && p.ProductGroupId == input.Id) select c.ProductSpecificationId).FirstOrDefault(); if (ProductSpecification != null) { datas.IsEditable = false; break; } } output.ProductGroupDetails = SubListout.ToArray(); output.FamilyDatas = family; if (groups.ProductCategoryId > 0) { var category = (from r in _ProdutCategoryRepository.GetAll() where r.Id == groups.ProductCategoryId select new categoryData { Id = r.Id, Name = r.Name }).FirstOrDefault(); output.CategoryDatas = category; } output.productGroup = datas; } return(output); }