Ejemplo n.º 1
0
        public async Task <QuantityTableStepDTO> FindOfferQuantityItemsVROById(int tenderId, int offerId, int branchId, bool isReadOnly)
        {
            Offer offer = await _offerQueries.GeOfferByTenderIdAndOfferIdForChecking(offerId);

            List <long> formIds = offer.SupplierTenderQuantityTables.Where(a =>
                                                                           (a.QuantitiyItemsJson != null && a.QuantitiyItemsJson.SupplierTenderQuantityTableItems.Any()) && a.IsActive == true)
                                  .Select(a => long.Parse(a.TenderQuantityTable != null ? a.TenderQuantityTable.FormId.ToString() : "0")).ToList();
            ApiResponse <List <TemplateFormDTO> > obj = await _qantityTemplatesProxy.GenerateTemplatesByFormIds(formIds);

            QuantityTableStepDTO quantityTableStepDTO = new QuantityTableStepDTO
            {
                TemplateYears          = offer.Tender.TemplateYears ?? 0,
                TenderID               = offer.Tender.TenderId,
                TenderCreatedByTypeId  = offer.Tender.CreatedByTypeId ?? 0,
                TenderIdString         = Util.Encrypt(offer.Tender.TenderId),
                PreQualificationId     = offer.Tender.PreQualificationId ?? 0,
                InvitationTypeId       = offer.Tender.InvitationTypeId ?? 0,
                HasAlternativeOffer    = offer.Tender.HasAlternativeOffer ?? false,
                TenderName             = offer.Tender.TenderName,
                TenderStatusId         = offer.Tender.TenderStatusId,
                ReferenceNumber        = offer.Tender.ReferenceNumber,
                TenderNumber           = offer.Tender.TenderNumber,
                TenderTypeId           = offer.Tender.TenderTypeId,
                OfferPresentationWayId = offer.Tender.OfferPresentationWayId ?? 0,
                OfferId          = offer.OfferId,
                TemplateFormDTOs = obj.Data
            };

            quantityTableStepDTO.TemplateFormDTOs.ForEach(a =>
            {
                a.FormDTOs.ForEach(f =>
                {
                    f.Tables = offer.SupplierTenderQuantityTables.Where(q => q.IsActive == true &&
                                                                        (q.QuantitiyItemsJson != null && q.QuantitiyItemsJson.SupplierTenderQuantityTableItems.Count() > 0) && q.TenderQuantityTable?.FormId == f.FormId)
                               .Select(t => new TableDTO {
                        TableId = t.Id, TableName = t.Name
                    }).ToList();
                });
            });
            quantityTableStepDTO.IsReadOnly = isReadOnly;
            return(quantityTableStepDTO);
        }
Ejemplo n.º 2
0
        public async Task <IViewComponentResult> InvokeAsync(int TenderId)
        {
            QuantityTableStepDTO quantitiesTablesModel = await _apiClient.GetAsync <QuantityTableStepDTO>("Tender/GetTenderQuantityItemsDetailsById/" + TenderId, null);

            return(View(quantitiesTablesModel));
        }