public bool Run(AlertsViewModel model, ref IQueryable <Alert> repository, IUnitOfWork unitOfWork, Response <AlertsViewModel> result, ICoreUser user) { var dbModel = repository.Single(c => c.Id == model.Id); // you need to be using the primary key could be composit var updatedDbModel = AlertsMapper.MapInsertModelToDbModel(model, dbModel); unitOfWork.With <Alert>().AddOrUpdate(updatedDbModel); unitOfWork.SaveChanges(); var newCustomResult = AlertsMapper.MapDbModelToViewModel(updatedDbModel); result.Data = newCustomResult; return(true); }
public Guid CreatedId; // Might be a composite key! public bool Run(AlertsViewModel model, IUnitOfWork unitOfWork, Response <AlertsViewModel> result, ICoreUser user) { var newCustom = AlertsMapper.MapInsertModelToDbModel(model); unitOfWork.With <Alert>().Add(newCustom); unitOfWork.SaveChanges(); CreatedId = newCustom.Id; model.Id = CreatedId; // Might be a composit key var newCustomResult = AlertsMapper.MapDbModelToViewModel(newCustom); result.Data = newCustomResult; return(true); }