public async virtual Task <IHttpActionResult> Post([FromBody] LivroGenero model)
        {
            try
            {
                // validate
                if (model == null)
                {
                    return(BadRequest("Model can not be null."));
                }
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                // add entity
                if (await FacadeBO.LivroGenero.AddAsync(model) == 0)
                {
                    return(Conflict());
                }

                // registry created
                return(Created <object>(Request.RequestUri + model.Id.ToString(), model.Id));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
示例#2
0
 void VerificarDuplicado(LivroGenero entity)
 {
     if (this.GetByCount(x => x.Id != entity.Id && x.Nome == entity.Nome) == 0)
     {
         throw new Exception("Nome de gênero já existe.");
     }
 }
示例#3
0
        public ActionResult Create(LivroGenero livroGenero)
        {
            ViewBag.Title = "Novo Livro Gênero";

            if (!ModelState.IsValid)
            {
                return(View());
            }

            // banco.LivroGenero.Add(livroGenero);
            // banco.SaveChanges();
            FacadeBS.LivroGenero.Adicionar(livroGenero);
            return(RedirectToAction("Index"));
        }
示例#4
0
        // GET: LivroGenero/Editar/{id}
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }

            ViewBag.Title = "Editar Livro Gênero";
            // LivroGenero item = banco.LivroGenero.Find(id);
            LivroGenero item = FacadeBS
                               .LivroGenero
                               .PesquisarPorId((int)id);

            return(View(item));
        }
示例#5
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }

            //LivroGenero livroGenero = banco.LivroGenero.Find(id);
            //banco.LivroGenero.Remove(livroGenero);
            //banco.SaveChanges();
            LivroGenero livroGenero = FacadeBS
                                      .LivroGenero
                                      .PesquisarPorId((int)id);

            FacadeBS.LivroGenero.Excluir(livroGenero);
            return(RedirectToAction("Index"));
        }
示例#6
0
        public ActionResult Edit(int id, LivroGenero livroGenero)
        {
            ViewBag.Title = "Editar Livro Gênero";

            if (!ModelState.IsValid)
            {
                return(View(livroGenero));
            }

            // LivroGenero livroGeneroBanco = banco.LivroGenero.Find(id);
            LivroGenero livroGeneroBanco = FacadeBS
                                           .LivroGenero
                                           .PesquisarPorId((int)id);

            livroGeneroBanco.Nome = livroGenero.Nome;
            // banco.SaveChanges();
            FacadeBS.LivroGenero.Alterar(livroGeneroBanco);
            return(RedirectToAction("Index"));
        }
        public async virtual Task <IHttpActionResult> Put(int id, [FromBody] LivroGenero model)
        {
            try
            {
                // validate
                if (model == null)
                {
                    return(BadRequest("Model can not be null."));
                }
                if (id == 0)
                {
                    return(BadRequest("Identifier is required."));
                }
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (await FacadeBO.LivroGenero.GetByIdAsync(id) == null)
                {
                    return(NotFound());
                }

                // defines identifier for model change
                model.Id = id;

                // modify entity
                if (await FacadeBO.LivroGenero.ModifyAsync(model) == 0)
                {
                    return(NotFound());
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public async virtual Task <IHttpActionResult> Get([FromUri] PaggingCriteria <LivroGenero> pagging, [FromUri] LivroGenero model)
        {
            try
            {
                if (pagging == null)
                {
                    pagging = new PaggingCriteria <LivroGenero>();
                }

                // partial filters
                var clauseExpr = PredicateBuilder.True <LivroGenero>();
                if (model != null)
                {
                    ApplyListFilter(model, ref clauseExpr);
                }

                // partial pagging
                ApplyListPagging(pagging);

                // get by filters

                var result = await FacadeBO.LivroGenero.GetByAsync(clauseExpr, pagging);


                if (result == null || result.Data.Count == 0)
                {
                    return(NotFound());
                }
                SetLinkPaging("livrogenero_get", result, pagging);
                result.Links.Add(GetLinkSelf("livrogenero_get", result, pagging));

                result.Links.Add(GetLinkItem("livrogenero_get_id"));
                result.Links.Add(GetLinkItemCreate("livrogenero_add"));
                result.Links.Add(GetLinkItemEdit("livrogenero_modify"));
                result.Links.Add(GetLinkItemDelete("livrogenero_delete"));
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
 /// <summary>
 /// Apply filter for listing
 /// </summary>
 partial void ApplyListFilter(LivroGenero model, ref Expression <Func <LivroGenero, bool> > clause);
示例#10
0
 public override Task <int> ModifyAsync(LivroGenero entity)
 {
     this.VerificarDuplicado(entity);
     return(base.ModifyAsync(entity));
 }
示例#11
0
 public override int Modify(LivroGenero entity)
 {
     this.VerificarDuplicado(entity);
     return(base.Modify(entity));
 }
示例#12
0
 public override int Add(LivroGenero entity)
 {
     this.VerificarDuplicado(entity);
     return(base.Add(entity));
 }