public OrganizacaoModeloNegocio InserirFilha(OrganizacaoModeloNegocio organizacaoNegocio)
        {
            //Preenchimentos primeiro (pois não interagem com banco de dados nem fazem validações complexas)
            validacao.Preenchido(organizacaoNegocio);
            validacao.PaiPreenchido(organizacaoNegocio.OrganizacaoPai);
            contatoValidacao.Preenchido(organizacaoNegocio.Contatos);
            emailValidacao.Preenchido(organizacaoNegocio.Emails);
            enderecoValidacao.NaoNulo(organizacaoNegocio.Endereco);
            enderecoValidacao.Preenchido(organizacaoNegocio.Endereco);
            //esferaValidacao.IdPreenchido(organizacaoNegocio.Esfera);
            //poderValidacao.IdPreenchido(organizacaoNegocio.Poder);
            siteValidacao.Preenchido(organizacaoNegocio.Sites);
            tipoOrganizacaoValidacao.IdPreenchido(organizacaoNegocio.TipoOrganizacao);

            //Validações utilizam cálculos e/ou interagem com o banco de dados
            validacao.PaiValido(organizacaoNegocio.OrganizacaoPai);
            validacao.Valido(organizacaoNegocio);

            if (organizacaoNegocio.OrganizacaoPai != null)
            {
                validacao.UsuarioTemPermissao(_currentUser.UserGuidsOrganizacao, organizacaoNegocio.OrganizacaoPai.Guid);
            }

            contatoValidacao.Valido(organizacaoNegocio.Contatos);
            emailValidacao.Valido(organizacaoNegocio.Emails);
            enderecoValidacao.Valido(organizacaoNegocio.Endereco);
            //esferaValidacao.Existe(organizacaoNegocio.Esfera);
            //poderValidacao.Existe(organizacaoNegocio.Poder);
            siteValidacao.Valido(organizacaoNegocio.Sites);
            tipoOrganizacaoValidacao.Existe(organizacaoNegocio.TipoOrganizacao);


            Organizacao organizacao = PreparaInsercao(organizacaoNegocio);

            organizacao.InicioVigencia = DateTime.Now;

            repositorioOrganizacoes.Add(organizacao);
            unitOfWork.Attach(organizacao.TipoOrganizacao);
            unitOfWork.Attach(organizacao.Esfera);
            unitOfWork.Attach(organizacao.Poder);
            unitOfWork.Save();

            return(Mapper.Map <Organizacao, OrganizacaoModeloNegocio>(organizacao));
        }
Ejemplo n.º 2
0
        public PoderModeloNegocio Inserir(PoderModeloNegocio poderNegocio)
        {
            validacao.DescricaoValida(poderNegocio);
            validacao.DescricaoExistente(poderNegocio);

            Poder poder = Mapper.Map <PoderModeloNegocio, Poder>(poderNegocio);

            repositorioPoderes.Add(poder);
            unitOfWork.Save();

            return(Mapper.Map(poder, poderNegocio));
        }
        public MunicipioModeloNegocio Inserir(MunicipioModeloNegocio municipioNegocio)
        {
            validacao.MunicipioValido(municipioNegocio);
            validacao.CodigoIbgeExistente(municipioNegocio);
            validacao.NomeUfExistente(municipioNegocio);

            Municipio municipio = PreparaMunicipioParaInsercao(municipioNegocio);

            repositorioMunicipios.Add(municipio);
            unitOfWork.Save();

            return(Mapper.Map <Municipio, MunicipioModeloNegocio>(municipio));
        }
Ejemplo n.º 4
0
        private void InserirHistorico(Unidade unidade, string obsFimVigencia, DateTime?now)
        {
            string municipioJson = JsonData.SerializeObject(unidade);

            Historico historico = new Historico
            {
                Json                   = municipioJson,
                InicioVigencia         = unidade.InicioVigencia,
                FimVigencia            = now.HasValue ? now.Value : DateTime.Now,
                ObservacaoFimVigencia  = obsFimVigencia,
                IdIdentificadorExterno = unidade.IdentificadorExterno.Id
            };

            repositorioHistoricos.Add(historico);
        }
        public EsferaOrganizacaoModeloNegocio Inserir(EsferaOrganizacaoModeloNegocio esferaOrganizacao)
        {
            validacao.EsferaOrganizacaoValido(esferaOrganizacao);

            validacao.DescricaoValida(esferaOrganizacao.Descricao);

            validacao.DescricaoExistente(esferaOrganizacao.Descricao);

            var eo = Mapper.Map <EsferaOrganizacaoModeloNegocio, EsferaOrganizacao>(esferaOrganizacao);

            repositorioEsferasOrganizacoes.Add(eo);

            unitOfWork.Save();

            return(Mapper.Map <EsferaOrganizacao, EsferaOrganizacaoModeloNegocio>(eo));
        }
Ejemplo n.º 6
0
        public UsuarioDTO CrearUsuario(UsuarioRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            if (request.RequestUserInfo == null)
            {
                throw new ArgumentNullException(nameof(request.RequestUserInfo));
            }
            if (string.IsNullOrEmpty(request.UsuarioId))
            {
                throw new ArgumentNullException(nameof(request.UsuarioId));
            }
            if (string.IsNullOrEmpty(request.Nombre))
            {
                throw new ArgumentNullException(nameof(request.Nombre));
            }
            if (string.IsNullOrEmpty(request.Contrasenia))
            {
                throw new ArgumentNullException(nameof(request.Contrasenia));
            }

            var nuevoUsuario = _usuarioDomainService.CrearUsuario(request);

            if (nuevoUsuario == null)
            {
                return new UsuarioDTO {
                           ValidationErrorMessage = "Problemas al crear usuario"
                }
            }
            ;

            var transactioninfo = TransactionInfoHelper.CrearTransactionInfo(request.RequestUserInfo);

            _usuarioRepositorio.Add(nuevoUsuario);

            _usuarioRepositorio.UnitOfWork.Commit(transactioninfo);

            return(new UsuarioDTO
            {
                UsuarioId = nuevoUsuario.UsuarioId,
                Nombre = nuevoUsuario.Nombre
            });
        }
        public TipoOrganizacaoModeloNegocio Inserir(TipoOrganizacaoModeloNegocio tipoOrganizacao)
        {
            validacao.TipoOrganizacaoValido(tipoOrganizacao);

            validacao.DescricaoValida(tipoOrganizacao.Descricao);

            validacao.DescricaoExistente(tipoOrganizacao.Descricao);

            TipoOrganizacao td = new TipoOrganizacao();

            td.Descricao      = tipoOrganizacao.Descricao;
            td.InicioVigencia = DateTime.Now;

            repositorioTiposOrganizacoes.Add(td);

            unitOfWork.Save();

            return(Mapper.Map <TipoOrganizacao, TipoOrganizacaoModeloNegocio>(td));
        }
        private void InserirHistorico(Organizacao organizacao, string obsFimVigencia, DateTime?fimVigencia)
        {
            Organizacao organizacaoSimples = JsonData.DeserializeObject <Organizacao>(JsonData.SerializeObject(organizacao));

            organizacaoSimples.Esfera             = null;
            organizacaoSimples.OrganizacaoPai     = null;
            organizacaoSimples.OrganizacoesFilhas = null;
            organizacaoSimples.Poder           = null;
            organizacaoSimples.TipoOrganizacao = null;
            organizacaoSimples.Unidades        = null;

            string json = JsonData.SerializeObject(organizacaoSimples);

            Historico historico = new Historico
            {
                Json                   = json,
                InicioVigencia         = organizacao.InicioVigencia,
                FimVigencia            = fimVigencia.HasValue ? fimVigencia.Value : DateTime.Now,
                ObservacaoFimVigencia  = obsFimVigencia,
                IdIdentificadorExterno = organizacao.IdentificadorExterno.Id
            };

            repositorioHistoricos.Add(historico);
        }
Ejemplo n.º 9
0
        public UnidadeModeloNegocio Inserir(UnidadeModeloNegocio unidade)
        {
            #region Verificação de campos obrigatórios

            unidadeValidacao.NaoNula(unidade);
            unidadeValidacao.Preenchida(unidade);

            tipoUnidadeValidacao.NaoNulo(unidade.TipoUnidade);
            tipoUnidadeValidacao.IdPreenchido(unidade.TipoUnidade);

            organizacaoValidacao.NaoNulo(unidade.Organizacao);
            organizacaoValidacao.GuidPreenchido(unidade.Organizacao);

            unidadeValidacao.UnidadePaiPreenchida(unidade.UnidadePai);

            enderecoValidacao.Preenchido(unidade.Endereco);

            contatoValidacao.Preenchido(unidade.Contatos);

            emailValidacao.Preenchido(unidade.Emails);

            siteValidacao.Preenchido(unidade.Sites);

            #endregion

            #region Validação de Negócio

            unidadeValidacao.Valida(unidade);

            tipoUnidadeValidacao.Existe(unidade.TipoUnidade);

            organizacaoValidacao.GuidValido(unidade.Organizacao.Guid);
            organizacaoValidacao.ExistePorGuid(unidade.Organizacao);

            unidadeValidacao.UnidadePaiValida(unidade.UnidadePai);

            enderecoValidacao.Valido(unidade.Endereco);

            contatoValidacao.Valido(unidade.Contatos);

            emailValidacao.Valido(unidade.Emails);

            siteValidacao.Valido(unidade.Sites);

            #endregion
            Guid guidOrganziacao = new Guid(unidade.Organizacao.Guid);
            unidade.Organizacao.Id = repositorioOrganizcoes.Where(o => o.IdentificadorExterno.Guid.Equals(guidOrganziacao))
                                     .Select(o => o.Id)
                                     .Single();

            if (unidade.UnidadePai != null)
            {
                Guid guidUnidadePai = new Guid(unidade.UnidadePai.Guid);
                unidade.UnidadePai.Id = repositorioUnidades.Where(u => u.IdentificadorExterno.Guid.Equals(guidUnidadePai))
                                        .Select(u => u.Id)
                                        .Single();
            }

            if (unidade.Endereco != null)
            {
                Guid guidMunicipio = new Guid(unidade.Endereco.Municipio.Guid);
                unidade.Endereco.Municipio.Id = repositorioMunicipios.Where(m => m.IdentificadorExterno.Guid.Equals(guidMunicipio))
                                                .Select(m => m.Id)
                                                .Single();
            }

            unidade.Guid = Guid.NewGuid().ToString("D");

            var unid = Mapper.Map <UnidadeModeloNegocio, Unidade>(unidade);
            unid.InicioVigencia = DateTime.Now;

            repositorioUnidades.Add(unid);

            unitOfWork.Save();

            return(Mapper.Map <Unidade, UnidadeModeloNegocio>(unid));
        }