public IHttpActionResult UpdateCrawlerConfig(int id, [FromBody] CrawlerConfigDataBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var existedConfig = _db.CrawlerConfigs.Find(id); if (existedConfig == null) { return(NotFound()); } //update existedConfig.CategoryId = model.CategoryId; existedConfig.ContentSelector = model.ContentSelector; existedConfig.DescriptionSelector = model.DescriptionSelector; existedConfig.TitleSelector = model.TitleSelector; existedConfig.Route = model.Route; existedConfig.Path = model.Path; existedConfig.LinkSelector = model.LinkSelector; existedConfig.RemovalSelector = model.RemovalSelector; _db.SaveChanges(); //return view model var viewmodel = new CrawlerConfigViewModel { Id = existedConfig.Id, CategoryId = existedConfig.CategoryId, ContentSelector = existedConfig.ContentSelector, DescriptionSelector = existedConfig.DescriptionSelector, LinkSelector = existedConfig.LinkSelector, Path = existedConfig.Path, RemovalSelector = existedConfig.RemovalSelector, Route = existedConfig.Route, TitleSelector = existedConfig.TitleSelector }; return(Ok(viewmodel)); }
public IHttpActionResult CreateCrawlerConfig(CrawlerConfigDataBindingModel crawlerConfigDataBindingModel) { //to do check trung route+path //List<CrawlerConfig> existedCrawlerConfigs = _db.CrawlerConfigs.Where(c => c.Route == crawlerConfigDataBindingModel.Route). if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var newConfig = new CrawlerConfig() { Route = crawlerConfigDataBindingModel.Route, CategoryId = crawlerConfigDataBindingModel.CategoryId, ContentSelector = crawlerConfigDataBindingModel.ContentSelector, DescriptionSelector = crawlerConfigDataBindingModel.DescriptionSelector, LinkSelector = crawlerConfigDataBindingModel.LinkSelector, RemovalSelector = crawlerConfigDataBindingModel.RemovalSelector, Path = crawlerConfigDataBindingModel.Path, TitleSelector = crawlerConfigDataBindingModel.TitleSelector }; _db.CrawlerConfigs.Add(newConfig); _db.SaveChanges(); return(Json(newConfig)); }