public Task <AddNewQuotationByGroupResponse> addNewQuotationByCustomerGroup(AddNewQuotationByGroupRequest request) { AddNewQuotationByGroupResponse response = new AddNewQuotationByGroupResponse() { Data = new List <int>() }; IEnumerable <CustomerModel> customers = _customerService.GetListByCustomerGroup(request.group_id); if (customers == null || customers.Count() < 1) { return(Task.FromResult(response)); } foreach (CustomerModel customer in customers) { AddNewQuotationCommand command = new AddNewQuotationCommand ( customer.ID, request.date ); Task <object> Quotation = (Task <object>)Bus.SendCommand(command); response = Common <AddNewQuotationByGroupResponse> .checkHasNotification(_notifications, response); if (response.Success) { QuotationModel QuotationModel = (QuotationModel)Quotation.Result; response.Data.Add(QuotationModel.ID); } } return(Task.FromResult(response)); }
public async Task <IActionResult> ImportQuotationByGroup([FromQuery] AddNewQuotationByGroupRequest request) { IFormFile file = Request.Form.Files[0]; ISheet sheet = ImportExcelCommon.GetSheetFromFile(file, "Quotation\\Customer_Group" + request.group_id); if (sheet != null) { IRow headerRow = sheet.GetRow(11); //Get Header Row int cellCount = headerRow.LastCellNum; int startRow = 13; int lastRow = sheet.LastRowNum; //thuc hien them moi dot bao gia cho khach hang List <int> QuotationIds = (await _QuotationAppService.addNewQuotationByCustomerGroup(request)).Data; if (QuotationIds.Count() <= 0) { return(BadRequest()); } //them cac san pham vao dot bao gia 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 + 1; AddNewQuotationItemRequest itemRequest = new AddNewQuotationItemRequest(); string code = row.GetCell(startCell++).ToString(); if (string.IsNullOrWhiteSpace(code)) { continue; } itemRequest.ProductCode = code; //gia int price = -1; Int32.TryParse(row.GetCell(4).ToString(), out price); if (price == -1) { continue; } itemRequest.Price = price; UnitModel unit = _UnitRepository.GetByName(row.GetCell(3).ToString().ToLower()); if (unit == null) { continue; } itemRequest.UnitID = unit.ID; foreach (int QuotationId in QuotationIds) { itemRequest.QuotationID = QuotationId; await _QuotationItemAppService.addNewQuotation(itemRequest); } } return(Ok()); } return(BadRequest()); }