public virtual IActionResult Postitem(T item) { var validationArgs = RepositoryExtensionFactory.CalltoValidate(item, RepositoryExtensionFactory.ApiActionType.Post); if (validationArgs.Result != null && !validationArgs.Result.IsValid) { var errors = validationArgs.Result.Errors; return(HttpBadRequest()); } if (validationArgs.Cancel) { return(HttpBadRequest()); } var validateres = Validate.Validate(item, ModelState, Db); if (!validateres.IsValid) { return(HttpBadRequest(ModelState)); } var args = RepositoryExtensionFactory.CallActionStarting(item, RepositoryExtensionFactory.ApiActionType.Post); if (args.Cancel) { return(HttpBadRequest()); } Repo.Add(item); Repo.SaveChanges(); return(CreatedAtRoute("DefaultApi", null, item)); }
public virtual IActionResult Getitems() { var items = Repo.GetAll(); var args = RepositoryExtensionFactory.CallActionStarting(items, RepositoryExtensionFactory.ApiActionType.GetAll); if (args.Cancel) { return(HttpBadRequest()); } return(new ObjectResult(items)); }
public IActionResult Search(string id) { RepositoryExtensionFactory.CallActionStarting(id, RepositoryExtensionFactory.ApiActionType.Search); var result = repo.Results(id);//.ToList(); var argsfinished = RepositoryExtensionFactory.CallActionFinished(id, RepositoryExtensionFactory.ApiActionType.Search); if (argsfinished.Cancel) { return(HttpBadRequest()); } return(new ObjectResult(result)); }
public IActionResult Suggestions(string id) { //Cache Extension can be check before Query RepositoryExtensionFactory.CallActionStarting(id, RepositoryExtensionFactory.ApiActionType.SearchSuggestions); var result = repo.Suggestions(id).Distinct().ToList(); var args = RepositoryExtensionFactory.CallActionFinished(result, RepositoryExtensionFactory.ApiActionType.SearchSuggestions); if (args.Cancel) { return(HttpBadRequest()); } return(new ObjectResult(result)); }
public virtual IActionResult Getitem(TK id) { T item = Repo.Find(id); var validationArgs = RepositoryExtensionFactory.CalltoValidate(item, RepositoryExtensionFactory.ApiActionType.Get); if (item == null) { return(HttpNotFound()); } var args = RepositoryExtensionFactory.CallActionStarting(item, RepositoryExtensionFactory.ApiActionType.Get); if (args.Cancel) { return(HttpBadRequest()); } return(new ObjectResult(item)); }
public virtual IActionResult Deleteitem(TK id) { T item = Repo.Delete(id); if (item == null) { return(HttpNotFound()); } var args = RepositoryExtensionFactory.CallActionStarting(item, RepositoryExtensionFactory.ApiActionType.Delete); if (args.Cancel) { return(HttpBadRequest()); } Repo.SaveChanges(); return(new ObjectResult(item)); }
public virtual IActionResult Putitem(T item) { var validationArgs = RepositoryExtensionFactory.CalltoValidate(item, RepositoryExtensionFactory.ApiActionType.Put); if (validationArgs.Result != null && !validationArgs.Result.IsValid) { var errors = validationArgs.Result.Errors; return(HttpBadRequest()); } if (validationArgs.Cancel) { return(HttpBadRequest()); } if (!ModelState.IsValid) { return(HttpBadRequest(ModelState)); } var args = RepositoryExtensionFactory.CallActionStarting(item, RepositoryExtensionFactory.ApiActionType.Put); if (args.Cancel) { return(HttpBadRequest()); } Repo.Update(item); try { Repo.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { //logger.WriteError(ex.Message); return(HttpNotFound()); } catch (Exception ex) { //logger.WriteError(ex.Message); return(HttpBadRequest()); } return(new HttpStatusCodeResult(201)); }