/// <summary> /// Atualizar os dados de um registro existente /// </summary> private bool atualizar(ConfiguracaoAssociadoCampo OConfiguracao) { ConfiguracaoAssociadoCampo dbRegistro = this.carregar(OConfiguracao.id); if (dbRegistro == null) { return(false); } var TipoEntry = db.Entry(dbRegistro); OConfiguracao.setDefaultUpdateValues(); TipoEntry.CurrentValues.SetValues(OConfiguracao); TipoEntry.State = EntityState.Modified; TipoEntry.ignoreFields(); db.SaveChanges(); this.atualizarTipoAssociados(dbRegistro, OConfiguracao.idsTipoAssociado); CacheService.getInstance.remover(chaveCache); return(OConfiguracao.id > 0); }
/// <summary> /// Salvar um novo registro o atualizar /// </summary> public bool salvar(ConfiguracaoAssociadoCampo OConfiguracao) { CacheService.getInstance.remover(chaveCache); OConfiguracao.label = OConfiguracao.label.abreviar(50); OConfiguracao.cssClassBox = OConfiguracao.cssClassBox.abreviar(50); OConfiguracao.cssClassCampo = OConfiguracao.cssClassCampo.abreviar(50); OConfiguracao.mask = OConfiguracao.mask.abreviar(20); OConfiguracao.name = OConfiguracao.name.abreviar(100); OConfiguracao.idDOM = OConfiguracao.idDOM.abreviar(50); OConfiguracao.textoInstrucoes = OConfiguracao.textoInstrucoes.abreviar(100); OConfiguracao.htmlAfterBox = OConfiguracao.htmlAfterBox.abreviar(255); OConfiguracao.mensagemErro = OConfiguracao.mensagemErro.abreviar(100); OConfiguracao.nameHelper = OConfiguracao.nameHelper.abreviar(255); OConfiguracao.methodHelper = OConfiguracao.methodHelper.abreviar(100); OConfiguracao.parametrosHelper = OConfiguracao.parametrosHelper.abreviar(100); if (OConfiguracao.id == 0) { return(this.inserir(OConfiguracao)); } return(this.atualizar(OConfiguracao)); }
//Input text private static MvcHtmlString inputText(HtmlHelper html, ConfiguracaoAssociadoCampo OCampo) { var attrs = new Dictionary <string, object>(); attrs.Add("class", OCampo.cssClassCampo); attrs.Add("id", OCampo.idDOM); string tipoCampo = OCampo.TipoCampo.tipo; if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.HIDDEN) { tipoCampo = "text"; } attrs.Add("type", tipoCampo); attrs.Add("alt", OCampo.mask); if (OCampo.maxlength > 0) { attrs.Add("maxlength", OCampo.maxlength); } if (!string.IsNullOrEmpty(OCampo.mensagemErro)) { attrs.Add("data-error-message", OCampo.mensagemErro); } if (OCampo.flagReadOnly == true) { attrs.Add("readonly", "readonly"); OCampo.name = String.Concat(OCampo.name, "Display"); } if (OCampo.flagReadOnly != true) { var listaPropriedades = OCampo.listaCampoPropriedades.Where(x => x.dtExclusao == null).ToList(); foreach (var Prop in listaPropriedades) { attrs.Add(Prop.nome, Prop.valor.decodeString()); } } object postedValue = html.ViewContext.HttpContext.Request[OCampo.name]; string valor = postedValue?.ToString() ?? (OCampo.valorAtual.isEmpty()? OCampo.valorPadrao : OCampo.valorAtual); MvcHtmlString inputRetorno = html.TextBox(OCampo.name, valor, attrs); return(new MvcHtmlString(inputRetorno.ToHtmlString().decodeString())); }
//Input text private static MvcHtmlString inputHidden(HtmlHelper html, ConfiguracaoAssociadoCampo OCampo) { var attrs = new Dictionary <string, object>(); attrs.Add("id", OCampo.idDOM); attrs.Add("type", "hidden"); var listaPropriedades = OCampo.listaCampoPropriedades.Where(x => x.dtExclusao == null).ToList(); foreach (var Prop in listaPropriedades) { attrs.Add(Prop.nome, Prop.valor.decodeString()); } MvcHtmlString inputRetorno = html.Hidden(OCampo.name, OCampo.valorPadrao ?? OCampo.valorAtual, attrs); return(new MvcHtmlString(inputRetorno.ToHtmlString().decodeString()));; }
/// <summary> /// Inserir um novo registro /// </summary> private bool inserir(ConfiguracaoAssociadoCampo OConfiguracao) { foreach (var idTipoAssociado in OConfiguracao.idsTipoAssociado) { OConfiguracao.listaTipoAssociado.Add(new ConfiguracaoAssociadoCampoTipoAssociado() { idTipoAssociado = idTipoAssociado }); } OConfiguracao.setDefaultInsertValues(); db.ConfiguracaoAssociadoCampo.Add(OConfiguracao); db.SaveChanges(); CacheService.getInstance.remover(chaveCache); return(OConfiguracao.id > 0); }
//Input text private static MvcHtmlString inputFile(HtmlHelper html, ConfiguracaoAssociadoCampo OCampo) { var attrs = new Dictionary <string, string>(); var input = new TagBuilder("input"); input.Attributes.Add("type", "file"); input.Attributes.Add("name", OCampo.name); input.Attributes.Add("class", OCampo.cssClassCampo); input.Attributes.Add("id", OCampo.idDOM); input.Attributes.Add("alt", OCampo.mask); input.Attributes.Add("data-show-upload", "false"); input.Attributes.Add("data-preview", "false"); input.Attributes.Add("data-browse-label", "Procurar..."); if (!string.IsNullOrEmpty(OCampo.mensagemErro)) { input.Attributes.Add("data-error-message", OCampo.mensagemErro); } var listaPropriedades = OCampo.listaCampoPropriedades.Where(x => x.dtExclusao == null).ToList(); foreach (var Prop in listaPropriedades) { input.Attributes.Add(Prop.nome, Prop.valor.decodeString()); } MvcHtmlString inputRetorno = new MvcHtmlString(input.ToString()); return(inputRetorno); }
/// <summary> /// Remover os relacionamentos e adicionar novamente os registros /// </summary> private void atualizarTipoAssociados(ConfiguracaoAssociadoCampo OConfiguracao, List <int> idsTipoAssociado) { var idsTipoAssociadoDb = OConfiguracao.listaTipoAssociado.Where(x => x.dtExclusao == null).Select(x => x.idTipoAssociado).ToList(); var idsTipoAssociadoAdd = idsTipoAssociado.Where(x => !idsTipoAssociadoDb.Contains(x)).ToList(); var idsTipoAssociadoDel = idsTipoAssociadoDb.Where(x => !idsTipoAssociado.Contains(x)).ToList(); if (idsTipoAssociadoDel.Any()) { var idUser = User.id(); db.ConfiguracaoAssociadoCampoTipoAssociado.Where(x => idsTipoAssociadoDel.Contains(x.idTipoAssociado) && x.idConfiguracaoAssociadoCampo == OConfiguracao.id).Update(x => new ConfiguracaoAssociadoCampoTipoAssociado() { dtExclusao = DateTime.Now, idUsuarioExclusao = idUser }); } if (idsTipoAssociadoAdd.Any()) { var listaTipoAssociado = new List <ConfiguracaoAssociadoCampoTipoAssociado>(); foreach (var idTipoAssociado in idsTipoAssociadoAdd) { listaTipoAssociado.Add(new ConfiguracaoAssociadoCampoTipoAssociado() { idTipoAssociado = idTipoAssociado, idConfiguracaoAssociadoCampo = OConfiguracao.id }); } listaTipoAssociado.ForEach(Item => Item.setDefaultInsertValues()); db.ConfiguracaoAssociadoCampoTipoAssociado.AddRange(listaTipoAssociado); db.SaveChanges(); } }
// Dropdownlist private static MvcHtmlString dropdown(HtmlHelper html, ConfiguracaoAssociadoCampo OCampo) { var attrs = new Dictionary <string, object>(); // {@class = OCampo.cssClassField, id = OCampo.idDOM}; attrs.Add("class", OCampo.cssClassCampo + (OCampo.flagMultiSelect == true ? " input-multiselect" : "")); attrs.Add("id", OCampo.idDOM); string postedValue = html.ViewContext.HttpContext.Request[OCampo.name] ?? ""; string valorPadrao = postedValue.isEmpty()? OCampo.valorPadrao: postedValue; string valorAtual = OCampo.valorAtual.isEmpty() ? valorPadrao : OCampo.valorAtual; if (!valorAtual.isEmpty()) { attrs.Add("data-selected", valorAtual); } if (OCampo.flagReadOnly == true) { attrs.Add("disabled", "disabled"); OCampo.name = String.Concat(OCampo.name, "Display"); } if (OCampo.flagReadOnly != true) { var listaPropriedades = OCampo.listaCampoPropriedades.Where(x => x.dtExclusao == null).ToList(); foreach (var Prop in listaPropriedades) { attrs.Add(Prop.nome, Prop.valor.decodeString()); } } SelectList listaItens = new SelectList(new object[] { "" }); MultiSelectList listaMultiItens = new MultiSelectList(new object[] { "" }); MvcHtmlString ddRetorno; if (OCampo.flagMultiSelect == true) { if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.SELECT_DINAMICO && !OCampo.nameHelper.isEmpty()) { listaMultiItens = SelectListHelper.multiSelectListDinamico(OCampo.nameHelper, OCampo.methodHelper, OCampo.parametrosHelper, valorAtual, html.ViewContext.HttpContext.Request.Form); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.SELECT_FIXO) { var listaOpcoes = OCampo.listaCampoOpcoes.Where(x => x.dtExclusao == null).ToList(); if (listaOpcoes.Any()) { listaMultiItens = new MultiSelectList(listaOpcoes, "value", "texto", valorAtual); } } ddRetorno = html.ListBox(OCampo.name, listaMultiItens, attrs); } else { if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.SELECT_DINAMICO && !OCampo.nameHelper.isEmpty()) { listaItens = SelectListHelper.selectListDinamico(OCampo.nameHelper, OCampo.methodHelper, OCampo.parametrosHelper, valorAtual, html.ViewContext.HttpContext.Request.Form); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.SELECT_FIXO) { var listaOpcoes = OCampo.listaCampoOpcoes.Where(x => x.dtExclusao == null).ToList(); if (listaOpcoes.Any()) { listaItens = new SelectList(listaOpcoes, "value", "texto", valorAtual); } } if (OCampo.flagExibirOptionVazio == true) { ddRetorno = html.DropDownList(OCampo.name, listaItens, "...", attrs); } else { ddRetorno = html.DropDownList(OCampo.name, listaItens, attrs); } } return(new MvcHtmlString(ddRetorno.ToHtmlString().decodeString())); }
// public static MvcHtmlString buildField(this HtmlHelper html, ConfiguracaoAssociadoCampo OCampo, bool flagConfiguracao = false) { MvcHtmlString campoHTML = new MvcHtmlString(""); try { if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.SELECT_FIXO) { campoHTML = dropdown(html, OCampo); return(campoHTML); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.SELECT_DINAMICO) { campoHTML = dropdown(html, OCampo); return(campoHTML); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.TEXTO_SIMPLES) { campoHTML = inputText(html, OCampo); return(campoHTML); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.EMAIL) { campoHTML = inputText(html, OCampo); return(campoHTML); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.PASSWORD) { campoHTML = inputText(html, OCampo); return(campoHTML); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.NUMERO_INTEIRO) { campoHTML = inputText(html, OCampo); return(campoHTML); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.TEXTO_MULTI_LINHA) { campoHTML = textarea(html, OCampo); return(campoHTML); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.FILE) { campoHTML = inputFile(html, OCampo); return(campoHTML); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.HIDDEN && !flagConfiguracao) { campoHTML = inputHidden(html, OCampo); return(campoHTML); } if (OCampo.idTipoCampo == ConfiguracaoTipoCampoConst.HIDDEN && flagConfiguracao) { campoHTML = inputText(html, OCampo); return(campoHTML); } } catch (Exception ex) { UtilLog.saveError(ex, $"Erro ao criar o campo {OCampo.name}"); string msgErro = UtilConfig.emProducao() ? "Campo não exibido" : $"<span>Erro ao criar o campo {OCampo.name}</span>"; campoHTML = new MvcHtmlString(msgErro); } return(campoHTML); }
public bool clonarDefaultSistema(int idOrganizacaoInf, int idTipoCampoCadastro) { var idUsuarioLogado = User.id(); if (idOrganizacao > 0) { idOrganizacaoInf = idOrganizacao; } if (idOrganizacaoInf == 0) { return(false); } var listaGruposDefault = ConfiguracaoJsonBL.getInstance.carregar <List <ConfiguracaoAssociadoCampoGrupo> >(ConfiguracaoJsonBL.CADASTRO_ASSOCIADO_CAMPOS); listaGruposDefault = listaGruposDefault.Where(x => x.idTipoCampoCadastro == idTipoCampoCadastro).ToList(); var listaCamposDefault = listaGruposDefault.SelectMany(x => x.listaConfiguracaoAssociadoCampos).ToList(); listaCamposDefault = listaCamposDefault.Where(x => x.idTipoCampoCadastro == idTipoCampoCadastro).ToList(); var listaPropriedadesDefault = listaCamposDefault.SelectMany(x => x.listaCampoPropriedades).ToList(); var listaOpcoesDefault = listaCamposDefault.SelectMany(x => x.listaCampoOpcoes).ToList(); var listaGrupos = new List <ConfiguracaoAssociadoCampoGrupo>(); foreach (var OGrupoDefault in listaGruposDefault) { var listaCamposDefaultGrupo = listaCamposDefault.Where(x => x.idAssociadoCampoGrupo == OGrupoDefault.id).ToList(); var OGrupo = new ConfiguracaoAssociadoCampoGrupo(); OGrupo.idOrganizacao = idOrganizacaoInf; OGrupo.idUsuarioCadastro = idUsuarioLogado; OGrupo.idTipoCampoCadastro = OGrupoDefault.idTipoCampoCadastro; OGrupo.descricao = OGrupoDefault.descricao; OGrupo.cssBoxGrupo = OGrupoDefault.cssBoxGrupo; OGrupo.htmlAposBox = OGrupoDefault.htmlAposBox; OGrupo.ativo = OGrupoDefault.ativo; OGrupo.ordemExibicao = OGrupoDefault.ordemExibicao; var listaCampos = new List <ConfiguracaoAssociadoCampo>(); foreach (var OCampoDefault in listaCamposDefaultGrupo) { var listaPropriedadesDefaultCampo = listaPropriedadesDefault.Where(x => x.idConfiguracaoAssociadoCampo == OCampoDefault.id).ToList(); var listaOpcoesDefaultCampo = listaOpcoesDefault.Where(x => x.idConfiguracaoAssociadoCampo == OCampoDefault.id).ToList(); var OCampo = new ConfiguracaoAssociadoCampo(); OCampo.idOrganizacao = idOrganizacaoInf; OCampo.idUsuarioCadastro = idUsuarioLogado; OCampo.idTipoCampoCadastro = OCampoDefault.idTipoCampoCadastro; OCampo.label = OCampoDefault.label; OCampo.idAssociadoCampoGrupo = OCampoDefault.idAssociadoCampoGrupo; OCampo.idTipoCampo = OCampoDefault.idTipoCampo; OCampo.idFuncaoFiltro = OCampoDefault.idFuncaoFiltro; OCampo.nameHelper = OCampoDefault.nameHelper; OCampo.methodHelper = OCampoDefault.methodHelper; OCampo.parametrosHelper = OCampoDefault.parametrosHelper; OCampo.name = OCampoDefault.name; OCampo.idDOM = OCampoDefault.idDOM; OCampo.flagAreaAssociado = OCampoDefault.flagAreaAssociado; OCampo.flagAreaAdm = OCampoDefault.flagAreaAdm; OCampo.flagCadastro = OCampoDefault.flagCadastro; OCampo.flagEdicao = OCampoDefault.flagEdicao; OCampo.flagAssociadoPodeEditar = OCampoDefault.flagAssociadoPodeEditar; OCampo.flagExibir = OCampoDefault.flagExibir; OCampo.flagObrigatorio = OCampoDefault.flagObrigatorio; OCampo.flagExibirOptionVazio = OCampoDefault.flagExibirOptionVazio; OCampo.valorFixo = OCampoDefault.valorFixo; OCampo.valorPadrao = OCampoDefault.valorPadrao; OCampo.minlength = OCampoDefault.minlength; OCampo.maxlength = OCampoDefault.maxlength; OCampo.mask = OCampoDefault.mask; OCampo.cssClassBox = OCampoDefault.cssClassBox; OCampo.cssClassCampo = OCampoDefault.cssClassCampo; OCampo.textoInstrucoes = OCampoDefault.textoInstrucoes; OCampo.mensagemErro = OCampoDefault.mensagemErro; OCampo.htmlAfterBox = OCampoDefault.htmlAfterBox; OCampo.ordemExibicao = OCampoDefault.ordemExibicao; OCampo.ativo = OCampoDefault.ativo; var listaPropriedades = new List <ConfiguracaoAssociadoCampoPropriedade>(); foreach (var OPropriedadesDefault in listaPropriedadesDefaultCampo) { var OPropriedade = new ConfiguracaoAssociadoCampoPropriedade(); OPropriedade.idUsuarioCadastro = idUsuarioLogado; OPropriedade.nome = OPropriedadesDefault.nome; OPropriedade.valor = OPropriedadesDefault.valor; OPropriedade.dtCadastro = DateTime.Now; listaPropriedades.Add(OPropriedade); } var listaOpcoes = new List <ConfiguracaoAssociadoCampoOpcao>(); foreach (var OOpcoesDefault in listaOpcoesDefaultCampo) { var OOpcao = new ConfiguracaoAssociadoCampoOpcao(); OOpcao.idUsuarioCadastro = idUsuarioLogado; OOpcao.texto = OOpcoesDefault.texto; OOpcao.value = OOpcoesDefault.value; OOpcao.dtCadastro = DateTime.Now; listaOpcoes.Add(OOpcao); } OCampo.listaCampoPropriedades = listaPropriedades; OCampo.listaCampoOpcoes = listaOpcoes; listaCampos.Add(OCampo); } OGrupo.listaConfiguracaoAssociadoCampos = listaCampos; listaGrupos.Add(OGrupo); } using (var ctx = db) { ctx.Configuration.AutoDetectChangesEnabled = false; ctx.Configuration.ValidateOnSaveEnabled = false; ctx.ConfiguracaoAssociadoCampoGrupo.Where(x => x.idOrganizacao == idOrganizacaoInf && x.idTipoCampoCadastro == idTipoCampoCadastro) .Update(x => new ConfiguracaoAssociadoCampoGrupo { dtExclusao = DateTime.Now, idUsuarioExclusao = idUsuarioLogado }); ctx.ConfiguracaoAssociadoCampo.Where(x => x.idOrganizacao == idOrganizacaoInf && x.idTipoCampoCadastro == idTipoCampoCadastro) .Update(x => new ConfiguracaoAssociadoCampo { dtExclusao = DateTime.Now, idUsuarioExclusao = idUsuarioLogado }); ctx.ConfiguracaoAssociadoCampoGrupo.AddRange(listaGrupos); ctx.SaveChanges(); } return(true); }