public ActionResult Edit(BarEditViewModel viewmodel) { Bar entity = null; if (ModelState.IsValid) { entity = _barService.GetById(viewmodel.Id); if (entity == null) { return(HttpNotFound()); } Mapper.Map(viewmodel, entity); if (entity.DbSource != DbSource.DIST) { entity.BarTarget = null; } _barService.Update(entity); Success($"<strong>{entity.DisplayName} - {entity.BarNumber}</strong> was successfully updated."); return(RedirectToAction("Index")); } viewmodel.AvailableDbSources = new List <SelectListItem>() { new SelectListItem() { Text = DbSource.GC.ToString(), Value = ((int)DbSource.GC).ToString() }, new SelectListItem() { Text = DbSource.DIST.ToString(), Value = ((int)DbSource.DIST).ToString() } }; viewmodel.AvailableBarNumberTargets = new List <SelectListItem>() { new SelectListItem() { Text = BarNumberTarget.Debit.ToString(), Value = ((int)BarNumberTarget.Debit).ToString() }, new SelectListItem() { Text = BarNumberTarget.Credit.ToString(), Value = ((int)BarNumberTarget.Credit).ToString() } }; return(View(viewmodel)); }