예제 #1
0
        public Task <AddNewProductResponse> addNewProduct(AddNewProductRequest request)
        {
            AddNewProductCommand command = new AddNewProductCommand
                                           (
                request.Product.Name,
                request.Product.Note,
                request.Product.Code,
                request.Product.OtherUnitOfProduct,
                request.Product.UnitId,
                request.Product.WeightPerUnit,
                request.Product.Preservation.ID
                                           );
            Task <object> product = (Task <object>)Bus.SendCommand(command);
            //RabbitMQBus.Publish(command);
            AddNewProductResponse response = new AddNewProductResponse();

            response = Common <AddNewProductResponse> .checkHasNotification(_notifications, response);

            if (response.Success)
            {
                ProductModel ProductModel = (ProductModel)product.Result;
                response.Data = ProductModel.Id;
            }
            return(Task.FromResult(response));
        }
예제 #2
0
        public async Task <IActionResult> Post([FromBody] AddNewProductRequest request)
        {
            AddNewProductResponse result = await _ProductAppService.addNewProduct(request);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(NotFound(result));
        }
예제 #3
0
        public async Task <IActionResult> UploadFile()
        {
            IFormFile file  = Request.Form.Files[0];
            ISheet    sheet = ImportExcelCommon.GetSheetFromFile(file, "Product");

            if (sheet != null)
            {
                IRow headerRow = sheet.GetRow(0); //Get Header Row
                int  cellCount = headerRow.LastCellNum;
                int  startRow  = sheet.FirstRowNum + 1;
                int  lastRow   = sheet.LastRowNum;

                for (int j = 0; j < cellCount; j++)
                {
                    NPOI.SS.UserModel.ICell cell = headerRow.GetCell(j);
                    if (cell == null || string.IsNullOrWhiteSpace(cell.ToString()))
                    {
                        continue;
                    }
                }
                for (int i = startRow; i <= lastRow; i++) //Read Excel File
                {
                    IRow row = sheet.GetRow(i);
                    if (row == null)
                    {
                        continue;
                    }
                    if (row.Cells.All(d => d.CellType == CellType.Blank))
                    {
                        continue;
                    }
                    int startCell = row.FirstCellNum;

                    ProductModel p = new ProductModel();
                    p.Code               = row.GetCell(startCell++).ToString();
                    p.Name               = row.GetCell(startCell++).ToString();
                    p.Note               = "";
                    p.Preservation       = new PreservationModel();
                    p.OtherUnitOfProduct = new List <ProductUnitModel>();
                    UnitModel unit = _UnitRepository.GetByName(row.GetCell(startCell++).ToString().ToLower());
                    if (unit == null)
                    {
                        continue;
                    }
                    p.UnitId = unit.ID;
                    int wpu = -1;
                    Int32.TryParse(row.GetCell(startCell).ToString(), out wpu);
                    if (wpu == -1)
                    {
                        continue;
                    }
                    p.WeightPerUnit = wpu;
                    AddNewProductRequest request = new AddNewProductRequest()
                    {
                        Product = p
                    };
                    await _ProductAppService.addNewProduct(request);
                }
                return(Ok());
            }
            return(BadRequest());
        }