public IHttpActionResult Post([FromBody] List <EspeciePropriedade> especiePropriedades) { try { foreach (var item in especiePropriedades) { if (ModelState.IsValid) { _repository.Insert(item); } } return(Ok()); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Post([FromBody] Propriedade propriedade) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } List <PropriedadeValor> valores = propriedade.Valores.ToList(); propriedade.Valores = null; _repository.Insert(propriedade); foreach (var valor in valores) { valor.PropriedadeID = propriedade.ID; _valoresRepository.Insert(valor); } if (propriedade.VincularEspecies) { foreach (var esp in _especieRepository.GetByEmpresaID(propriedade.EmpresaID)) { _especiePropriedadeRepository.Insert(new EspeciePropriedade { EspecieID = esp.ID, PropriedadeID = propriedade.ID }); } } return(Ok(propriedade)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Post([FromBody] Empresa empresa) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _repository.Insert(empresa); if (empresa.CopiarDe != 0) { var deParaPropriedade = new Dictionary <int, int>(); var deParaGrupo = new Dictionary <int, int>(); var deParaContaContabil = new Dictionary <int, int>(); var deParaCentroCusto = new Dictionary <int, int>(); var deParaEspecie = new Dictionary <int, int>(); if (empresa.CopiarEntidades.Contains("propriedade")) { var propriedadeBase = _propriedadeRepository.GetByEmpresaID(empresa.CopiarDe); foreach (var pb in propriedadeBase) { var propriedadeNova = new Propriedade() { EmpresaID = empresa.ID, Nome = pb.Nome, Fixa = pb.Fixa }; _propriedadeRepository.Insert(propriedadeNova); deParaPropriedade.Add(pb.ID, propriedadeNova.ID); if (pb.Fixa) { foreach (var pbValor in pb.Valores) { _propriedadeValorRepository.Insert(new PropriedadeValor() { PropriedadeID = propriedadeNova.ID, Valor = pbValor.Valor }); } } } } if (empresa.CopiarEntidades.Contains("contaContabil")) { var contaContabilBase = _contaContabilRepository.GetByEmpresaID(empresa.CopiarDe).OrderBy(x => x.CodigoInterno); foreach (var ccb in contaContabilBase) { var contaContabilNova = new ContaContabil() { Codigo = ccb.Codigo, CodigoInterno = ccb.CodigoInterno, EmpresaID = empresa.ID, Nome = ccb.Nome, NomeAbreviado = ccb.NomeAbreviado, PaiID = ccb.PaiID == null ? null : (int?)deParaContaContabil.Where(x => x.Key == ccb.PaiID).Single().Value }; _contaContabilRepository.Insert(contaContabilNova); deParaContaContabil.Add(ccb.ID, contaContabilNova.ID); } } if (empresa.CopiarEntidades.Contains("grupo")) { var grupoBase = _grupoRepository.GetByEmpresaID(empresa.CopiarDe); foreach (var gb in grupoBase) { var grupoNovo = new Grupo() { Codigo = gb.Codigo, ContaContabilID = gb.ContaContabilID == null ? null : deParaContaContabil.Count == 0 ? null : (int?)deParaContaContabil.Where(x => x.Key == gb.ContaContabilID).Single().Value, EmpresaID = empresa.ID, Nome = gb.Nome }; _grupoRepository.Insert(grupoNovo); deParaGrupo.Add(gb.ID, grupoNovo.ID); } if (empresa.CopiarEntidades.Contains("especie")) { var especieBase = _especieRepository.GetByEmpresaID(empresa.CopiarDe); foreach (var eb in especieBase) { var especieNova = new Especie() { Codigo = eb.Codigo, GrupoID = deParaGrupo.Where(x => x.Key == eb.GrupoID).Single().Value, Nome = eb.Nome }; _especieRepository.Insert(especieNova); deParaEspecie.Add(eb.ID, especieNova.ID); } if (deParaPropriedade.Count > 0) { var especiePropriedadeBase = _especiePropriedadeRepository.GetByEmpresaID(empresa.CopiarDe); foreach (var epb in especiePropriedadeBase) { var especiePropriedadeNova = new EspeciePropriedade() { EspecieID = deParaEspecie.Where(x => x.Key == epb.EspecieID).Single().Value, PropriedadeID = deParaPropriedade.Where(x => x.Key == epb.PropriedadeID).Single().Value }; _especiePropriedadeRepository.Insert(especiePropriedadeNova); } } } } if (empresa.CopiarEntidades.Contains("centroCusto")) { var centroCustoBase = _centroCustoRepository.GetByEmpresaID(empresa.CopiarDe).OrderBy(x => x.CodigoInterno); foreach (var ccb in centroCustoBase) { var centroCustoNovo = new CentroCusto() { Codigo = ccb.Codigo, CodigoInterno = ccb.CodigoInterno, EmpresaID = empresa.ID, Nome = ccb.Nome, PaiID = ccb.PaiID == null ? null : (int?)deParaCentroCusto.Where(x => x.Key == ccb.PaiID).Single().Value }; _centroCustoRepository.Insert(centroCustoNovo); deParaCentroCusto.Add(ccb.ID, centroCustoNovo.ID); } } } return(Ok(empresa)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }