Exemplo n.º 1
0
        public CampoDinamicoViewModel Atualizar(CampoDinamicoViewModel viewModel, string usuarioId)
        {
            if (viewModel == null)
            {
                return(viewModel);
            }

            var listaCamposDinamicos = CarregarInformacoesDinamicasControleDinamico(viewModel.Controls);

            if (viewModel.Controls != null)
            {
                //Limpando registros do Passado
                foreach (var campoDinamico in viewModel.Controls)
                {
                    _servicoCampoDinamicoPreenchido.Deletar((long)viewModel.ChaveEntidadeId,
                                                            campoDinamico.EntidadesSecoesCamposDinamicosId, campoDinamico.CampoDinamicoId, usuarioId);
                }
            }

            foreach (var campoDinamico in listaCamposDinamicos)
            {
                campoDinamico.ChaveEntidade = (long)viewModel.ChaveEntidadeId;
                _servicoCampoDinamicoPreenchido.Adicionar(campoDinamico, usuarioId);
            }

            return(viewModel);
        }
Exemplo n.º 2
0
        public CampoDinamicoViewModel Carregar(string siglaEntidade, string nomeAba, string nomeSecao, long?id,
                                               bool podeEditar)
        {
            var viewModel = new CampoDinamicoViewModel
            {
                ChaveEntidadeId = id,
                PodeEditar      = podeEditar
            };

            var listaCampoDinamico = _servicoCampoDinamico.ObterPor(id, siglaEntidade, nomeAba, nomeSecao);
            var listaSecoes        = new List <SecaoViewModel>();

            if (listaCampoDinamico != null)
            {
                if (listaCampoDinamico.Any())
                {
                    viewModel.ChaveEntidadeId = listaCampoDinamico.FirstOrDefault().EntidadeSecao.EntidadesId;
                    var camposDinamicosAgrupadoPorSecao =
                        listaCampoDinamico.GroupBy(u => new { nome = u.EntidadeSecao.Nome, id = u.EntidadeSecao.Id },
                                                   (Key, group) => new { id = Key.id, nome = Key.nome, CamposDinamicos = group.ToList() });

                    listaSecoes.AddRange(
                        camposDinamicosAgrupadoPorSecao.Select(
                            secao =>
                            new SecaoViewModel(secao.nome, secao.id, secao.CamposDinamicos, podeEditar,
                                               viewModel.ChaveBase)));
                }
            }

            viewModel.Secoes = listaSecoes;
            return(viewModel);
        }
Exemplo n.º 3
0
        public CampoDinamicoViewModel Adicionar(CampoDinamicoViewModel viewModel, string usuarioId)
        {
            var listaCamposDinamicos = CarregarInformacoesDinamicasControleDinamico(viewModel.Controls);

            foreach (var campoDinamico in listaCamposDinamicos)
            {
                campoDinamico.ChaveEntidade = (long)viewModel.ChaveEntidadeId;
                _servicoCampoDinamicoPreenchido.Adicionar(campoDinamico, usuarioId);
            }

            return(null);
        }
Exemplo n.º 4
0
        public CampoDinamicoViewModel Editar(long id, string siglaEntidade, string nomeAba, string nomeSecao)
        {
            var viewModel = new CampoDinamicoViewModel {
                ChaveEntidadeId = id
            };
            var listaCampoDinamico = _servicoCampoDinamico.ObterPor(id, siglaEntidade, nomeAba, nomeSecao);
            var listaSecoes        = new List <SecaoViewModel>();

            if (listaCampoDinamico != null)
            {
                var camposDinamicosAgrupadoPorSecao =
                    listaCampoDinamico.GroupBy(u => new { nome = u.EntidadeSecao.Nome, id = u.EntidadeSecao.Id },
                                               (key, group) => new { key.id, key.nome, CamposDinamicos = group.ToList() });

                listaSecoes.AddRange(
                    camposDinamicosAgrupadoPorSecao.Select(
                        secao =>
                        new SecaoViewModel(secao.nome, secao.id, secao.CamposDinamicos, true, viewModel.ChaveBase)));
            }

            viewModel.Secoes = listaSecoes.ToArray();
            return(viewModel);
        }