protected override IHttpActionResult ExecutarAntesPost(FAT_NF_SERVICO item) { string Generator = "FAT_NF_SERVICO_" + item.SERIE + "_" + item.CEMP; try { var fb = new FuncoesBanco(db); item.NUMERO = fb.BuscarPKRegistro(Generator); return(null); } catch { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = "Problema com generator da tabela " + Generator })); } }
protected override void BeforeSaveChanges(FAT_ROMANEIO_PAO item) { var itens = db.Set <FAT_ROMANEIO_PAO_ITEM>() .Where(i => i.COD_FATROMANEIOPAO == item.id); foreach (FAT_ROMANEIO_PAO_ITEM i in itens) { db.Set <FAT_ROMANEIO_PAO_ITEM>().Remove(i); } if (item.Itens != null) { for (int i = 0; i < item.Itens.Count; i++) { FAT_ROMANEIO_PAO_ITEM novo = new FAT_ROMANEIO_PAO_ITEM(); if (item.Itens[i].id == null) { var fb = new FuncoesBanco(new Context()); novo.id = fb.BuscarPKRegistro("FAT_ROMANEIO_PAO_ITEM"); } else { novo.id = item.Itens[i].id; } novo.COD_FATROMANEIOPAO = item.id; novo.COD_CADPRODUTO = item.Itens[i].COD_CADPRODUTO; novo.COD_CADUNIDADE = item.Itens[i].COD_CADUNIDADE; if (item.Itens[i].COD_FATOPERACAOSAIDA == null) { novo.COD_FATOPERACAOSAIDA = this.GetOperacao((int)item.Itens[i].COD_CADPRODUTO); } else { novo.COD_FATOPERACAOSAIDA = item.Itens[i].COD_FATOPERACAOSAIDA; } novo.ITEM = item.Itens[i].ITEM; novo.PRODUTO = item.Itens[i].PRODUTO; novo.QUANTIDADE = item.Itens[i].QUANTIDADE; novo.QUANTIDADE_TROCA = item.Itens[i].QUANTIDADE_TROCA; novo.VALOR_UNITARIO = item.Itens[i].VALOR_UNITARIO; db.Set <FAT_ROMANEIO_PAO_ITEM>().Add(novo); } } }
// POST: api/T //[ResponseType(typeof(T))] //[ResponseType(typeof(void))] public IHttpActionResult Post(T item) { //if (typeof(IRaizDeAgregacao).IsAssignableFrom(typeof(T))) //{ // ((IRaizDeAgregacao)item).Flag = true; // ModelState["item.Flag"].Errors.Clear(); //} var resultpost = ExecutarAntesPost(item); if (resultpost != null) { return(resultpost); } if (item.id == 0) { try { var fb = new FuncoesBanco(db); item.id = fb.BuscarPKRegistro(item.GetType().Name); } catch { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = "Problema com generator da tabela " + item.GetType().Name })); } } ConfCEMP(item); if (!ModelState.IsValid) { return(TestarModelState(ModelState)); } var result = ValidarEntidade(item); if (result != null) { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = result })); } db.Set <T>().Add(item); InternalUpdate(item); using (var dbContextTransaction = db.Database.BeginTransaction()) { try { BeforeSaveChanges(item); db.SaveChanges(); dbContextTransaction.Commit(); } catch (DbUpdateException e) { dbContextTransaction.Rollback(); if (ItemExiste(item.id)) { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = "Registro já existe!" })); //return Conflict(); } else { if (e.InnerException != null) { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = e.InnerException.InnerException.Message })); } else { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = e.Message })); } } } catch (DbEntityValidationException e) { dbContextTransaction.Rollback(); if (e.InnerException != null) { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = e.InnerException.InnerException.Message })); } else { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = e.Message })); } } catch (InvalidOperationException e) { dbContextTransaction.Rollback(); if (e.InnerException != null) { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = e.InnerException.InnerException.Message })); } else { return(Content(HttpStatusCode.Accepted, new { mensagem_erro = e.Message })); } } } BeforeReturn(item); return(CreatedAtRoute("DefaultApi", new { id = item.id }, item)); }
protected override IHttpActionResult ExecutarAntesPost(MOV_ENTRADA item) { CAD_PESSOA pessoa = null; var fb = new FuncoesBanco(db); if (item.COD_CADPESSOA == null) { pessoa = new CAD_PESSOA(); pessoa.id = fb.BuscarPKRegistro(pessoa.GetType().Name); item.COD_CADPESSOA = pessoa.id; pessoa.ATIVO = "S"; pessoa.CEMP = "01"; pessoa.DOCUMENTO = item.DOCUMENTO_PESSOA; pessoa.NOME = item.NOME_PESSOA; pessoa.TIPO = "1"; //if (item.NOME_PESSOA_AP != null) //{ // pessoa.TIPO = "1"; //} //else // if (item.NOME_PESSOA_AP != item.NOME_PESSOA) //{ // pessoa.TIPO = "2"; //} } CAD_VEICULO veiculo = null; if (item.COD_CADVEICULO == null) { veiculo = new CAD_VEICULO(); veiculo.id = fb.BuscarPKRegistro(veiculo.GetType().Name); veiculo.PLACA = item.PLACA.ToUpper(); veiculo.COD_CADPESSOA = item.COD_CADPESSOA; item.COD_CADVEICULO = veiculo.id; veiculo.CEMP = "01"; //if (pessoa == null) //{ // veiculo.VISITANTE = "S"; //} } bool fezInsert = false; if (pessoa != null) { db.CAD_PESSOA.Add(pessoa); fezInsert = true; } if (veiculo != null) { db.CAD_VEICULO.Add(veiculo); fezInsert = true; } if (fezInsert == true) { db.SaveChanges(); } var ap = db.CAD_APARTAMENTO.Where(w => w.id == item.COD_CADAPARTAMENTO).FirstOrDefault(); if (ap == null) { ap = new CAD_APARTAMENTO(); ap.id = item.COD_CADAPARTAMENTO; ap.GARAGEM = item.GARAGEM; ap.TORRE = item.TORRE; ap.COD_CADPESSOA = item.COD_CADPESSOA; ap.CEMP = "01"; db.CAD_APARTAMENTO.Add(ap); db.SaveChanges(); } if (pessoa != null) { pessoa.COD_CADAPARTAMENTO = item.COD_CADAPARTAMENTO; db.Entry(pessoa).State = EntityState.Modified; } if (ap != null) { ap.COD_CADPESSOA = item.COD_CADPESSOA; db.Entry(ap).State = EntityState.Modified; } if (veiculo != null) { veiculo.COD_CADPESSOA = item.COD_CADPESSOA; db.Entry(veiculo).State = EntityState.Modified; } if (fezInsert == true) { db.SaveChanges(); } return(null); }