コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }