Beispiel #1
0
        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));
        }
Beispiel #2
0
        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());
        }