Заполнение поля на основе другого поля - PullRequest
0 голосов
/ 05 июля 2018

Продолжая свою систему бронирования транспортных средств, я уже начал работать над самой функцией резервирования, и я застрял в том, как заполнить поле водителя, поскольку оно основано на поле транспортного средства. Существует два типа транспортных средств: тип офиса, в котором драйвер уже зависит от предыдущих функций, а затем тип поставщика изначально не имеет водителя до функции резервирования, где вы можете выбрать из выпадающего поля. В моем коде контроллера типы поставщиков связаны с DriverID, равным 0. Я не совсем уверен, как реализовать оператор if, вот мой код:

Контроллер:

 //RESERVE
    public ActionResult ReserveInitial()
    {

       ViewBag.DriverID = new SelectList(db.Drivers, "DriverID", "DriverLastName");
       ViewBag.VehicleID = new SelectList(db.Vehicles, "VehicleID", "VehicleMake");

        var checkVehicle = db.ReservedVehicleDetails.Count(x => x.VehicleID == 1);




        return View();
    }

    [HttpPost]
    public ActionResult ReserveInitial(ReservationViewModel RV)
    {
        var repo = new ManagementRepository();
        var resini = new ReservedVehicleInitial
        {
            Id = RV.Id,
            BorrowerLastName = RV.BorrowerLastName,
            BorrowerFirstName = RV.BorrowerFirstName,
            VehicleID = RV.VehicleID,
            Reason = RV.Reason,
            ProjectID = RV.ProjectID,
            Location = RV.Location,
            DateReserved = RV.DateReserved,
            TimeStart = RV.TimeStart,
            DateCreated = DateTime.Now,
            UserID = RV.UserID,
            DriverID = RV.DriverID

        };

                    Driver driver = new Driver();
                    if (resini.DriverID == 0)
                    {
                        ViewBag.DriverID = new SelectList(db.Drivers, "DriverID", "DriverLastName" + ", " + "DriverFirstName");

                    }

                    else
                    {
                        using (var db = new VehicleReservationEntities())
                        {
                            ViewBag.DriverID = driver.DriverID;
                        }
                    }

        using (var db = new VehicleReservationEntities())
        { 
            repo.ReserveInitial(resini);
        }
        return RedirectToAction("List");
    }

Просмотр модели:

    public class ReservationViewModel
{
    public int Id { get; set; }
    public string BorrowerLastName { get; set; }
    public string BorrowerFirstName { get; set; }
    public DateTime DateReserved { get; set; }
    public int? VehicleID { get; set; }
    public int? DriverID { get; set; }
    public string VehicleMake { get; set; }
    public  string DriverName { get; set; }
    public string VehicleType { get; set; }
    public string OdometerStart { get; set; }
    public string OdometerEnd { get; set; }
    public string Liters { get; set; }
    public string AmountPaid { get; set; }
    public string ORNumber { get; set; }
    public string Location { get; set; }
    public string Reason { get; set; }
    public int? ProjectID { get; set; }
    public DateTime DateCreated { get; set; }
    public string UserID { get; set; }
    public TimeSpan TimeStart { get; set; }
    public TimeSpan TimeEnd { get; set; }
    //
    public string BorrowerFullName
    {
        get { return BorrowerLastName + ", " + BorrowerFirstName; }
        set { }
    }
    //
    public string DriverLastName { get; set; }
    public string DriverFirstName { get; set; }
    public string FullName { get; set; }
}

Просмотр:

     <div class="col-md-12">
                            <div class="col-md-4">
                                <div class="form-group">
                                    <div class="form-group control-label">
                                        <label>
                                            Vehicle
                                        </label>
                                    </div>
                                    <div id="Vehicle">
                                        @Html.DropDownList("VehicleID", null, "", htmlAttributes: new { @class = "form-control", @id = "VehicleID" })
                                    </div>
                                </div>
                            </div>


                            <div class="col-md-4">
                                <div class="form-group">
                                    <div class="form-group control-label">
                                        <label>
                                            Driver
                                        </label>
                                    </div>

                                <div id="Driver">
                                    @Html.DropDownList("DriverID", null, "", htmlAttributes: new { @class = "form-control", @id = "DriverID" })                                        @Html.ValidationMessageFor(model => model.DriverID, "", new { @class = "text-danger" })
                                    @Html.ValidationMessageFor(model => model.DriverID, "", new { @class = "text-danger" })
                                </div>
                            </div>
                            </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...