public async Task <IActionResult> Create(ChemicalCreateViewModel chemicalCreateViewModel) { //NOTE: Bind was automatically scaffolded with the controller: //Create([Bind("ID,Name,ReceivedDate,OpenDate,ExpirationDate,COA,OpenedBy,Note,EmployeeID,ManufacturerID,ChemicalTypeID")] Chemical chemical) ModelState.Remove("Chemical.Employee"); ModelState.Remove("Chemical.EmployeeId"); var user = await GetCurrentUserAsync(); if (ModelState.IsValid) { chemicalCreateViewModel.Chemical.Employee = user; _context.Add(chemicalCreateViewModel.Chemical); await _context.SaveChangesAsync(); //The routing occurs here instead of in the view because the Chemicals id must be created before the redirect occurs return(RedirectToAction("Index")); } //---------------------------------------------------------------------------------------------------- //NOTE: ChemicalType dropdown: var ChemicalTypeData = _context.ChemicalTypes; List <SelectListItem> ChemicalTypesList = new List <SelectListItem>(); ChemicalTypesList.Insert(0, new SelectListItem { Text = "Select", Value = "" }); foreach (var cat in ChemicalTypeData) { SelectListItem chemicalTypesList = new SelectListItem { Value = cat.ID.ToString(), Text = cat.Name }; ChemicalTypesList.Add(chemicalTypesList); } ; chemicalCreateViewModel.ChemicalType = ChemicalTypesList; //---------------------------------------------------------------------------------------------------- //NOTE: Manufacturer dropdown: var ManufacturerData = _context.Manufacturers; List <SelectListItem> ManufacturersList = new List <SelectListItem>(); //Include the select option in the manufacturer list ManufacturersList.Insert(0, new SelectListItem { Text = "Select", Value = "" }); foreach (var m in ManufacturerData) { SelectListItem manufacturersList = new SelectListItem { Value = m.ID.ToString(), Text = m.Name }; ManufacturersList.Add(manufacturersList); } ; chemicalCreateViewModel.Manufacturer = ManufacturersList; //---------------------------------------------------------------------------------------------------- //NOTE: Employee dropdown: var EmployeeData = _context.Employees; List <SelectListItem> EmployeesList = new List <SelectListItem>(); //Include the select option in the employee list EmployeesList.Insert(0, new SelectListItem { Text = "Select", Value = "" }); foreach (var e in EmployeeData) { SelectListItem employeesList = new SelectListItem { Value = e.Id.ToString(), Text = e.FirstName }; EmployeesList.Add(employeesList); } ; chemicalCreateViewModel.Employee = EmployeesList; //---------------------------------------------------------------------------------------------------- return(View(chemicalCreateViewModel)); }
//======================================================================================== // GET: Chemicals/Create public IActionResult Create() { ChemicalCreateViewModel chemicalCreateViewModel = new ChemicalCreateViewModel(); var ChemicalTypeData = _context.ChemicalTypes; List <SelectListItem> ChemicalTypeList = new List <SelectListItem>(); ChemicalTypeList.Insert(0, new SelectListItem { Text = "Select", Value = "" }); foreach (var chemtype in ChemicalTypeData) { SelectListItem chemTypeItem = new SelectListItem { Value = chemtype.ID.ToString(), Text = chemtype.Name }; ChemicalTypeList.Add(chemTypeItem); } ; chemicalCreateViewModel.ChemicalType = ChemicalTypeList; //------------------------------------------------------------------------------------------------------- //NOTE: Manufacturers Dropdown: var ManufacturerData = _context.Manufacturers; List <SelectListItem> ManufacturersList = new List <SelectListItem>(); ManufacturersList.Insert(0, new SelectListItem { Text = "Select", Value = "" }); foreach (var m in ManufacturerData) { SelectListItem manufacturerItem = new SelectListItem { Value = m.ID.ToString(), Text = m.Name }; ManufacturersList.Add(manufacturerItem); } chemicalCreateViewModel.Manufacturer = ManufacturersList; //------------------------------------------------------------------------------------------------------------- //NOTE: Employee Dropdown: var EmployeeData = _context.Employees; List <SelectListItem> EmployeesList = new List <SelectListItem>(); EmployeesList.Insert(0, new SelectListItem { Text = "Select", Value = "" }); foreach (var e in EmployeeData) { SelectListItem employeeItem = new SelectListItem { Value = e.Id.ToString(), Text = e.FirstName }; EmployeesList.Add(employeeItem); } chemicalCreateViewModel.Employee = EmployeesList; return(View(chemicalCreateViewModel)); }