public async Task <CreateRequestImportDetailResult> CreateAsync(
            RequestImportDetail requestImportDetail)
        {
            var productTier = await _context.ProductTiers
                              .Where(pt => pt.Id == requestImportDetail.ProductTierId &&
                                     pt.IsDeleted == false)
                              .Include(pt => pt.Product)
                              .FirstOrDefaultAsync();

            if (productTier == null)
            {
                return(new CreateRequestImportDetailResult
                {
                    IsSuccess = false,
                    Errors = new[] { "Sản phẩm cần nhập hàng không tồn tại" }
                });
            }

            await _context.RequestImportDetails.AddAsync(requestImportDetail);

            var created = await _context.SaveChangesAsync();

            if (!(created > 0))
            {
                return(new CreateRequestImportDetailResult
                {
                    IsSuccess = false,
                    Errors = new[] {
                        $"Tạo yêu cầu nhập hàng cho sản phẩm {productTier.Product.Name} không thành công"
                    }
                });
            }

            return(new CreateRequestImportDetailResult
            {
                IsSuccess = true,
                RequestImportDetail = requestImportDetail
            });
        }
Ejemplo n.º 2
0
        private async Task <CreateRequestImportDetailResult> CreateSingleRequestImportDetailAsync(
            RequestImportDetail requestImportDetail)
        {
            var productTier = await _context.ProductTiers
                              .Where(pt => pt.Id == requestImportDetail.ProductTierId &&
                                     pt.IsDeleted == false)
                              .Include(pt => pt.Product)
                              .FirstOrDefaultAsync();

            if (productTier == null)
            {
                return(new CreateRequestImportDetailResult
                {
                    IsSuccess = false,
                    Errors = new[] { "Product tier need to import is not existed" }
                });
            }

            await _context.RequestImportDetails.AddAsync(requestImportDetail);

            var created = await _context.SaveChangesAsync();

            if (!(created > 0))
            {
                return(new CreateRequestImportDetailResult
                {
                    IsSuccess = false,
                    Errors = new[] {
                        $"Create request import detail for product {productTier.Product.Name} is not success"
                    }
                });
            }

            return(new CreateRequestImportDetailResult
            {
                IsSuccess = true,
                RequestImportDetail = requestImportDetail
            });
        }