To solve the given optimization problem, we first need to define the objective function and the constraints based on the problem description. The objective is to maximize profit, which can be represented as $3x_1 + 5x_2$, where $x_1$ is the number of regular hot-dogs made per day, and $x_2$ is the number of premium hot-dogs made per day.

The constraints are:
1. The demand for regular hot-dogs: $x_1 \leq 100$
2. The demand for premium hot-dogs: $x_2 \leq 250$
3. The total production capacity: $x_1 + x_2 \leq 300$
4. Non-negativity constraints: $x_1, x_2 \geq 0$

Given these conditions, we can set up a linear programming model to find the optimal values of $x_1$ and $x_2$ that maximize profit.

Here's how we translate this into Gurobi code in Python:

```python
from gurobipy import *

# Create a new model
m = Model("HotDogProduction")

# Define variables
x1 = m.addVar(vtype=GRB.CONTINUOUS, name="RegularHotDogs", lb=0)
x2 = m.addVar(vtype=GRB.CONTINUOUS, name="PremiumHotDogs", lb=0)

# Set the objective function
m.setObjective(3*x1 + 5*x2, GRB.MAXIMIZE)

# Add constraints
m.addConstr(x1 <= 100, "RegularDemand")
m.addConstr(x2 <= 250, "PremiumDemand")
m.addConstr(x1 + x2 <= 300, "TotalProduction")

# Optimize the model
m.optimize()

# Print the solution
if m.status == GRB.OPTIMAL:
    print("Optimal Solution:")
    print(f"Regular Hot-Dogs: {x1.x}")
    print(f"Premium Hot-Dogs: {x2.x}")
    print(f"Maximum Profit: ${3*x1.x + 5*x2.x:.2f}")
else:
    print("No optimal solution found.")
```