Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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));
        }