public async Task <IActionResult> AddScriptToCollect() { var model = new AddScriptModel(); var shops = (from s in await _unitOfWork.ShopRepository.Get() select new { Id = s.ShopId, Name = s.ShopName }).ToList(); model.Shops = shops.Select(a => new SelectListItem { Value = a.Id.ToString(), Text = a.Name }).ToList(); var titles = (from s in await _unitOfWork.TitleRepository.Get() select new { Id = s.TitleId, Name = s.TitleName }).ToList(); model.Titles = titles.Select(a => new SelectListItem { Value = a.Id.ToString(), Text = a.Name }).ToList(); var doctors = (from s in await _unitOfWork.DoctorRepository.Get() orderby s.Surname select new { Id = s.DoctorId, Name = "Dr." + s.Surname }).ToList(); model.Doctors = doctors.Select(a => new SelectListItem { Value = a.Id.ToString(), Text = a.Name }).ToList(); // TODO: get the users in the specificied role /*var drivers = Roles.GetUsersInRole("Driver"); * var driverList = new List<SelectListItem>(); * foreach (var driver in drivers) { * driverList.Add(new SelectListItem() { Value = driver, Text = driver }); * } * model.Drivers = driverList; */ return(View(model)); }
public async Task <IActionResult> AddScriptToCollect(AddScriptModel model) { try { var script = new CollectScript(); script.OrderId = Guid.NewGuid(); script.Customer = model.Script.Customer; script.CustomerAddress = model.Script.CustomerAddress; script.OrderDate = DateTime.Now; script.NumItems = model.Script.NumItems; script.Notes = model.Script.Notes; script.DoctorId = model.Script.DoctorId; script.ShopId = model.Script.ShopId; _unitOfWork.CollectScriptRepository.Insert(script); await _unitOfWork.SaveAsync(); if (model.SendAlert) { if (!SendAlertToDriver(model.Driver, script).Result) { TempData["senderror"] = "Script has been added to system but alert has not been sent to driver."; } } return(RedirectToAction("Collections")); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } var shops = (from s in _unitOfWork.ShopRepository.Get().Result select new { Id = s.ShopId, Name = s.ShopName }).ToList(); model.Shops = shops.Select(a => new SelectListItem { Value = a.Id.ToString(), Text = a.Name, Selected = model.Script.ShopId == a.Id ? true : false }).ToList(); var titles = (from s in _unitOfWork.TitleRepository.Get().Result select new { Id = s.TitleId, Name = s.TitleName }).ToList(); model.Titles = titles.Select(a => new SelectListItem { Value = a.Id.ToString(), Text = a.Name, Selected = model.TitleId == a.Id ? true : false }).ToList(); var doctors = (from s in _unitOfWork.DoctorRepository.Get().Result orderby s.Surname select new { Id = s.DoctorId, Name = "Dr." + s.Surname }).ToList(); model.Doctors = doctors.Select(a => new SelectListItem { Value = a.Id.ToString(), Text = a.Name, Selected = model.Script.DoctorId == a.Id ? true : false }).ToList(); return(View(model)); }