public Mensagem.Mensagem CriarRelatorio(CadastroRelatorio relatorio) { var resultado = validaRelatorioCadastro(relatorio); if (resultado.Codigo == 1) { var relatorioDB = new ZBD.Model.cliente_relatorios(); relatorioDB.idcliente = relatorio.idCliente; relatorioDB.idusuario = relatorio.idUsuario; relatorioDB.nome = relatorio.nome; relatorioDB.datahora = DateTime.Now; relatorioDB.dataini = relatorio.dtInicio; relatorioDB.datafim = relatorio.dtFim; relatorioDB.excluido = false; db.cliente_relatorios.Add(relatorioDB); //Salvar relatorio_empresas foreach (var idempresa in relatorio.ListaEmpresas) { var relatorioempDB = new ZBD.Model.cliente_relatorio_empresas(); relatorioempDB.idempresa = idempresa; relatorioempDB.idclienterelatorio = relatorioDB.idclienterelatorio; db.cliente_relatorio_empresas.Add(relatorioempDB); } //Salvar relatorio_metricas foreach (var metrica in relatorio.ListaMetricas) { var relatoriometDB = new ZBD.Model.cliente_relatorio_metricas(); relatoriometDB.campo = metrica; relatoriometDB.idclienterelatorio = relatorioDB.idclienterelatorio; db.cliente_relatorio_metricas.Add(relatoriometDB); } db.SaveChanges(); return(new Mensagem.Mensagem() { Codigo = relatorioDB.idclienterelatorio, Texto = "Ok", Tipo = Mensagem.Mensagem.tipoMensagem.Sucesso }); } else { return(resultado); } }
public ZRN.Mensagem.Mensagem Editar(Relatorio relatorio) { var resultado = validaRelatorio(relatorio); if (resultado.Codigo == 1) { try { var relatorioDB = (from r in db.cliente_relatorios where r.excluido == false && r.idclienterelatorio == relatorio.idClienteRelatorio select r).FirstOrDefault(); relatorioDB.nome = relatorio.nomeRelatorio; relatorioDB.datahora = DateTime.Now; relatorioDB.dataini = relatorio.dataInicial.Value; relatorioDB.datafim = relatorio.dataFinal.Value; db.SaveChanges(); //EMPRESAS RELATORIO var empresasRelatorioDB = db.cliente_relatorio_empresas.Where(x => x.idclienterelatorio == relatorio.idClienteRelatorio).Select(x => x.idempresa).ToList(); var adicionarEmpresas = relatorio.empresas.Except(empresasRelatorioDB); var removerEmpresas = empresasRelatorioDB.Except(relatorio.empresas); if (adicionarEmpresas.Any()) { foreach (var empresa in adicionarEmpresas) { var empresaDB = new ZBD.Model.cliente_relatorio_empresas(); empresaDB.idclienterelatorio = relatorio.idClienteRelatorio; empresaDB.idempresa = empresa; db.cliente_relatorio_empresas.Add(empresaDB); db.SaveChanges(); } } if (removerEmpresas.Any()) { foreach (var empresa in removerEmpresas) { var empresaDB = db.cliente_relatorio_empresas.Where(x => x.idclienterelatorio == relatorio.idClienteRelatorio && x.idempresa == empresa).Select(x => x).FirstOrDefault(); db.cliente_relatorio_empresas.Remove(empresaDB); db.SaveChanges(); } } //METRICAS REDES SOCIAS //var MetricasFacebookBD = retornaMetricasRelatorioFacebook(relatorio.idClienteRelatorio); //var MetricasTwitterBD = retornaMetricasRelatorioTwitter(relatorio.idClienteRelatorio); //var MetricasInstagramBD = retornaMetricasRelatorioInstagram(relatorio.idClienteRelatorio); //var MetricasYoutubeBD = retornaMetricasRelatorioYoutube(relatorio.idClienteRelatorio); //var adicionarMetricasFacebook = relatorio.metricasFacebook.Except(MetricasFacebookBD); //var removerMetricasFacebook = MetricasFacebookBD.Except(relatorio.metricasFacebook); //if (adicionarMetricasFacebook.Any()) //{ // foreach (var metricaFacebook in adicionarMetricasFacebook) // { // var metricaFacebookDB = new ZBD.Model.cliente_relatorio_metricas(); // metricaFacebookDB.campo = metricaFacebook; // metricaFacebookDB.idclienterelatorio = relatorio.idClienteRelatorio; // db.cliente_relatorio_metricas.Add(metricaFacebookDB); // db.SaveChanges(); // } //} //if (removerMetricasFacebook.Any()) //{ // foreach (var metricaFacebook in removerMetricasFacebook) // { // var metricaFacebookDB = db.cliente_relatorio_metricas.Where(x => x.campo.ToLower().Contains(metricaFacebook.ToLower()) && x.idclienterelatorio == relatorio.idClienteRelatorio).Select(x => x).FirstOrDefault(); // db.cliente_relatorio_metricas.Remove(metricaFacebookDB); // db.SaveChanges(); // } //} //var adicionarMetricasTwitter = relatorio.metricasTwitter.Except(MetricasTwitterBD); //var removerMetricasTwitter = MetricasTwitterBD.Except(relatorio.metricasTwitter); //if (adicionarMetricasTwitter.Any()) //{ // foreach (var metricaTwitter in adicionarMetricasTwitter) // { // var metricaTwitterDB = new ZBD.Model.cliente_relatorio_metricas(); // metricaTwitterDB.campo = metricaTwitter; // metricaTwitterDB.idclienterelatorio = relatorio.idClienteRelatorio; // db.cliente_relatorio_metricas.Add(metricaTwitterDB); // db.SaveChanges(); // } //} //if (removerMetricasTwitter.Any()) //{ // foreach (var metricaTwitter in removerMetricasTwitter) // { // var metricaTwitterDB = db.cliente_relatorio_metricas.Where(x => x.campo.ToLower().Contains(metricaTwitter.ToLower()) && x.idclienterelatorio == relatorio.idClienteRelatorio).Select(x => x).FirstOrDefault(); // db.cliente_relatorio_metricas.Remove(metricaTwitterDB); // db.SaveChanges(); // } //} //var adicionarMetricasInstagram = relatorio.metricasInstagram.Except(MetricasInstagramBD); //var removerMetricasInstagram = MetricasInstagramBD.Except(relatorio.metricasInstagram); //if (adicionarMetricasInstagram.Any()) //{ // foreach (var metricaInstagram in adicionarMetricasInstagram) // { // var metricaInstagramDB = new ZBD.Model.cliente_relatorio_metricas(); // metricaInstagramDB.campo = metricaInstagram; // metricaInstagramDB.idclienterelatorio = relatorio.idClienteRelatorio; // db.cliente_relatorio_metricas.Add(metricaInstagramDB); // db.SaveChanges(); // } //} //if (removerMetricasInstagram.Any()) //{ // foreach (var metricaInstagram in removerMetricasInstagram) // { // var metricaInstagramDB = db.cliente_relatorio_metricas.Where(x => x.campo.ToLower().Contains(metricaInstagram.ToLower()) && x.idclienterelatorio == relatorio.idClienteRelatorio).Select(x => x).FirstOrDefault(); // db.cliente_relatorio_metricas.Remove(metricaInstagramDB); // db.SaveChanges(); // } //} //var adicionarMetricasYoutube = relatorio.metricasYoutube.Except(MetricasYoutubeBD); //var removerMetricasYoutube = MetricasYoutubeBD.Except(relatorio.metricasYoutube); //if (adicionarMetricasYoutube.Any()) //{ // foreach (var metricaYoutube in adicionarMetricasYoutube) // { // var metricaYoutubeDB = new ZBD.Model.cliente_relatorio_metricas(); // metricaYoutubeDB.campo = metricaYoutube; // metricaYoutubeDB.idclienterelatorio = relatorio.idClienteRelatorio; // db.cliente_relatorio_metricas.Add(metricaYoutubeDB); // db.SaveChanges(); // } //} //if (removerMetricasYoutube.Any()) //{ // foreach (var metricaYoutube in removerMetricasYoutube) // { // var metricaYoutubeDB = db.cliente_relatorio_metricas.Where(x => x.campo.ToLower().Contains(metricaYoutube.ToLower()) && x.idclienterelatorio == relatorio.idClienteRelatorio).Select(x => x).FirstOrDefault(); // db.cliente_relatorio_metricas.Remove(metricaYoutubeDB); // db.SaveChanges(); // } //} var MetricasBD = retornaMetricasRelatorio(relatorio.idClienteRelatorio); var adicionarMetricas = relatorio.metricas.Except(MetricasBD); var removerMetricas = MetricasBD.Except(relatorio.metricasFacebook); if (adicionarMetricas.Any()) { foreach (var metrica in adicionarMetricas) { var metricaDB = new ZBD.Model.cliente_relatorio_metricas(); metricaDB.campo = metrica; metricaDB.idclienterelatorio = relatorio.idClienteRelatorio; db.cliente_relatorio_metricas.Add(metricaDB); db.SaveChanges(); } } if (removerMetricas.Any()) { foreach (var metrica in removerMetricas) { var metricaDB = db.cliente_relatorio_metricas.Where(x => x.campo.ToLower().Contains(metrica.ToLower()) && x.idclienterelatorio == relatorio.idClienteRelatorio).Select(x => x).FirstOrDefault(); db.cliente_relatorio_metricas.Remove(metricaDB); db.SaveChanges(); } } return(resultado); } catch (Exception e) { Console.WriteLine(e); return(new Mensagem.Mensagem() { Codigo = 0, Texto = "erro", Tipo = Mensagem.Mensagem.tipoMensagem.Erro });; } } else { return(resultado); } }