protected override IScriptDto Update(int performingUserId, IScriptDto script) { using (var context = new PrometheusContext()) { if (!context.Scripts.Any(x => x.Id == script.Id)) { throw new InvalidOperationException(string.Format("Script with ID {0} cannot be updated since it does not exist.", script.Id)); } var updated = ManualMapper.MapDtoToScript(script); context.Entry(updated).State = EntityState.Modified; context.SaveChanges(performingUserId); return(ManualMapper.MapScriptToDto(updated)); } }
protected override IScriptDto Create(int performingUserId, IScriptDto scriptDto) { using (var context = new PrometheusContext()) { var script = context.Scripts.FirstOrDefault(x => x.ScriptFile == scriptDto.ScriptFile); if (script != null) { throw new InvalidOperationException(string.Format("Service Document with ID {0} already exists.", script.ScriptFile)); } var savedDocument = context.Scripts.Add(ManualMapper.MapDtoToScript(scriptDto)); context.SaveChanges(performingUserId); return(ManualMapper.MapScriptToDto(savedDocument)); } }