Beispiel #1
0
        /// <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);
        }
Beispiel #2
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()));;
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #7
0
        /// <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);
        }