public async Task <ActionResult> EditMerge(MergeEntityX model) { var newModel = model.SavedItem; if (model.UpdateName) { newModel.Name = model.NewItem.Name; } if (model.UpdatePrice) { newModel.Price = model.NewItem.Price; } return(await Edit(newModel)); }
public async Task <ActionResult> Edit(EntityX model) { try { using (SqlXRepository repository = new SqlXRepository()) { try { await repository.UpdateAsync(model).ConfigureAwait(false); TempData["Message"] = $"{model.Name} updated successfully."; } catch (ConcurrencyException ex) { var merge = new MergeEntityX { NewItem = model, SavedItem = await repository.ReadAsync(model.Id), }; return(View("EditMerge", merge)); } catch (Exception ex) { TempData["Message"] = $"There was an error updating record: {model.Id}"; } } return(RedirectToAction("Index")); } catch (Exception ex) { TempData["Message"] = $"Cannot update {model.Name}."; return(RedirectToAction("Index")); } }