The Bidding and Procurement system manages ESP Santa Fe de Antioquia’s public procurement processes (convocatorias/licitaciones). This comprehensive feature handles the publication of bidding opportunities, manages bidder registration and proposals, and ensures transparency in procurement activities.
Legal Compliance
Colombian law requires public entities to conduct transparent procurement processes. This system ensures compliance with legal requirements while streamlining the bidding workflow.
public class Master // Used for bidding processes{ public int Id { get; set; } public string NameMaster { get; set; } // Process name public string UrlMaster { get; set; } // URL slug public string Description { get; set; } // HTML description public string CoverPage { get; set; } // Cover image public DateTime NacionLicitantegStartDate { get; set; } // Opening date public DateTime NacionLicitanteEndDate { get; set; } // Closing date public Boolean NacionLicitante { get; set; } // Flag: true for procurement public Boolean Statud { get; set; } // Published status public DateTime DateCreate { get; set; } // Creation date public DateTime DateUpdate { get; set; } // Last update // Navigation properties public IEnumerable<FileDocument> FilesDocuments { get; set; } public IEnumerable<Document> DelatedDocuments { get; set; }}
public class BiddingParticipant{ public int Id { get; set; } public Guid Ref { get; set; } // Reference tracking code public int MasterId { get; set; } // FK to procurement process public Boolean NaturalPerson { get; set; } // True = individual, False = company public string Name { get; set; } // Bidder name/company public string IdentificationOrNit { get; set; } // ID or tax number public string Phone { get; set; } // Landline public string Cellular { get; set; } // Mobile public string Address { get; set; } // Physical address public string City { get; set; } // City location public string Email { get; set; } // Contact email public string Proposals { get; set; } // Uploaded proposal path public DateTime DateCreate { get; set; } // Submission date}
Register as Bidder - GET/POST /BiddingParticipants/Create
Purpose: Register interest in procurement processAccess: Public (UserApp role for authenticated users)Validation:
Checks for duplicate ID/NIT per process
Validates required contact information
Ensures proposal file upload
[Authorize(Roles = "SuperAdmin,Admin,UserApp")][HttpPost][ValidateAntiForgeryToken]public async Task<IActionResult> Create(BiddingParticipantCreateDTO model){ int _masterId = Convert.ToInt16(model.MasterId); var _identificationOrNit = _biddingParticipantService .DuplicaIdentificationOrNit(model.IdentificationOrNit, _masterId); if (_identificationOrNit) { ViewData["DuplicaIdentificationOrNit"] = $"Este documento {model.IdentificationOrNit} ya ha sido utilizado"; return View(model); } if (ModelState.IsValid) { var result = await _biddingParticipantService.Create(model); _StatusMessaje = true; return RedirectToAction("Details", new {@id = result.Id}); } return View(model);}
Check Submission - GET /convocatorias/reference/{reference}
Purpose: Track submission using reference codeAccess: SuperAdmin, Admin, UserAppAllows bidders to verify their submission was received and view confirmation.