예제 #1
0
        private NotaFiscal NotaFiscal(NovaNotaRequisicao requisicao, DateTime dataUpload)
        {
            var clinica     = _clinicaRepositorio.ObterPor(requisicao.CodigoDaClinica);
            var responsavel = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel);
            var programa    = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma);
            var nota        = new NotaFiscal
            {
                Clinica         = clinica,
                Responsavel     = responsavel,
                Valor           = requisicao.Valor,
                Numero          = requisicao.Numero,
                Data            = requisicao.Data,
                DataRecebimento = requisicao.DataRecebimento,
                Arquivo         = new Arquivo(requisicao.DescricaoDoArquivo, requisicao.NomeDoArquivo, dataUpload),
                Programa        = programa
            };


            foreach (var infusaoAssociar in requisicao.Infusoes)
            {
                var infusao = _infusaoRepositorio.ObterPor(infusaoAssociar.Codigo);

                infusao.EmAberto();
                if (infusaoAssociar.Glosar)
                {
                    infusao.Glosar();
                }

                nota.Infusoes.Add(infusao);
            }
            return(nota);
        }
예제 #2
0
        /// <summary>
        /// Adicionar Clinica
        /// </summary>
        /// <param name="requisicao"></param>
        /// <returns></returns>
        public AdicionarClinicaResposta AdicionarClinica(AdicionarClinicaRequisicao requisicao)
        {
            var resposta = new AdicionarClinicaResposta();

            try
            {
                var programa              = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma);
                var responsavel           = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel);
                var gerente               = _gerenteRepositorio.ObterPor(requisicao.CodigoDoGerente);
                var representante         = _representanteRepositorio.ObterPor(requisicao.CodigoDoRepresentante);
                var representanteRegional = _representanteRegionalRepositorio.ObterPor(requisicao.CodigoDoRepresentanteRegional);
                resposta.Clinica = _clinicaServico.AdicionarClinica(programa, responsavel, requisicao.Nome, requisicao.RazaoSocial, requisicao.Cnpj, requisicao.InscricaoEstadual,
                                                                    requisicao.Endereco, requisicao.Cidade, requisicao.Uf, requisicao.Telefone, requisicao.Contato, requisicao.Observacoes, requisicao.Status, requisicao.Email,
                                                                    requisicao.ValorInfusao, requisicao.Bairro);

                resposta.Clinica.IndicarNovosPacientes = requisicao.IndicaNovosPacientes;
                resposta.Clinica.Telefone2             = requisicao.Telefone2;
                resposta.Clinica.Telefone3             = requisicao.Telefone3;
                resposta.Clinica.Gerente               = gerente;
                resposta.Clinica.Representante         = representante;
                resposta.Clinica.RepresentanteRegional = representanteRegional;
                _unitOfWork.Commit();
                resposta.Sucesso = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }
            return(resposta);
        }
예제 #3
0
        public ActionResult Editar(int id)
        {
            var perfils =
                _perfilRepositorio.ObterTodos().Select(t => new { t.Codigo, t.Nome, CodigoDoGrupo = t.Grupo.Codigo });
            var grupoIntegra  = _grupoRepositorio.ObterGrupoIntegra();
            var grupos        = _grupoRepositorio.ObterTodos().Select(t => new { t.Codigo, t.Descricao });
            var tipos         = _tipoDeCrmRepositorio.ObterTodos().ToList();
            var departamentos = _departamentoRepositorio.ObterTodos().ToList();
            var cargos        = _cargoRepositorio.ObterTodos().ToList();
            var programas     = _programaRepositorio.ObterTodos().ToList();
            var novoUsuario   = new AdicionarUsuarioViewModel
            {
                Perfils       = perfils,
                Grupos        = grupos,
                TiposDeCrm    = tipos,
                Cargos        = cargos,
                Departamentos = departamentos,
                GrupoIntegra  = grupoIntegra,
                Programas     = programas
            };

            var cliente = _clienteRepositorio.ObterPor(id);

            if (cliente == null)
            {
                var funcionario = _funcionarioRepositorio.ObterPor(id);
                novoUsuario.Codigo               = funcionario.Codigo;
                novoUsuario.PerfilSelecionado    = funcionario.Usuario.Perfil.Codigo;
                novoUsuario.NomeDeUsuario        = funcionario.Usuario.NomeDeUsuario;
                novoUsuario.GrupoSelecionado     = funcionario.Usuario.Perfil.Grupo.Codigo;
                novoUsuario.CodigoDoCargo        = funcionario.Cargo != null ? funcionario.Cargo.Codigo : 1;
                novoUsuario.CodigoDoDepartamento = funcionario.Departamento != null ? funcionario.Departamento.Codigo : 1;
                novoUsuario.Nome                = funcionario.Nome;
                novoUsuario.Telefone            = funcionario.Telefone;
                novoUsuario.Status              = funcionario.Inativo;
                novoUsuario.CodigosDosProgramas = funcionario.ProgramasPermitidos.Select(it => it.Codigo).ToList();
                novoUsuario.DescricaoDoCargo    = funcionario.Descricao;
            }
            else
            {
                novoUsuario.Codigo            = cliente.Codigo;
                novoUsuario.PerfilSelecionado = cliente.Usuario.Perfil.Codigo;
                novoUsuario.NomeDeUsuario     = cliente.Usuario.NomeDeUsuario;
                novoUsuario.GrupoSelecionado  = cliente.Usuario.Perfil.Grupo.Codigo;
                novoUsuario.Nome = cliente.Nome;
                if (cliente.Crm != null)
                {
                    novoUsuario.NumeroDoCrm          = cliente.Crm.NumeroDoCRM;
                    novoUsuario.TipoDeCrmSelecionado = cliente.Crm.Tipo.Codigo;
                    novoUsuario.NomeDoCrm            = cliente.Crm.NomeDoCRM;
                }
                novoUsuario.Telefone            = cliente.Telefone;
                novoUsuario.Status              = cliente.Inativo;
                novoUsuario.CodigosDosProgramas = cliente.ProgramasPermitidos.Select(it => it.Codigo).ToList();
            }

            return(View("NovoUsuario", novoUsuario));
        }
예제 #4
0
        public AdicionarReuniaoResposta AdicionarReuniao(AdicionarReuniaoRequisicao adicionarReuniaoRequisicao)
        {
            var resposta = new AdicionarReuniaoResposta();

            try
            {
                var responsavel = _funcionarioRepositorio.ObterPor(adicionarReuniaoRequisicao.CodigoDoResponsavel);
                var programa    = _programaRepositorio.ObterPor(adicionarReuniaoRequisicao.CodigoDoPrograma);

                resposta.Reuniao = _reuniaoServico.AdicionarReuniao(programa, responsavel, adicionarReuniaoRequisicao.Local,
                                                                    adicionarReuniaoRequisicao.Assunto, adicionarReuniaoRequisicao.Realizacao, adicionarReuniaoRequisicao.Status);
                _unitOfWork.Commit();
                resposta.Sucesso = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }
            return(resposta);
        }
        public AdicionarTreinamentoResposta AdicionarTreinamento(AdicionarTreinamentoRequisicao requisicao)
        {
            var resposta = new AdicionarTreinamentoResposta();

            try
            {
                var responsavel = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel);
                var programa    = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma);

                resposta.Treinamento = _treinamentoServico.AdicionarTreinamento(programa, requisicao.DataRealizacao,
                                                                                responsavel, requisicao.Local, requisicao.Titulo, requisicao.Descricao);

                _unitOfWork.Commit();
                resposta.Sucesso = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }
            return(resposta);
        }
        public RealizarAnalizeDeUmaSolicitacaoResposta RealizarAnalizeDeUmaSolicitacao(RealizarAnalizeDeUmaSolicitacaoRequisicao requisicao)
        {
            var resposta = new RealizarAnalizeDeUmaSolicitacaoResposta();

            try
            {
                var solicitacao = _solicitacaoRepositorio.ObterPor(requisicao.CodigoDaSolicitacao);
                var responsavel = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel);
                var programa    = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma);
                solicitacao = _solicitacaoServico.RealizarAnalise(solicitacao, responsavel, requisicao.ClientePrecisaAprovar,
                                                                  requisicao.Atividade, requisicao.Custo, requisicao.DiasParaEntrega, requisicao.Analise, programa);
                _unitOfWork.Commit();
                resposta.Solicitacao = solicitacao;
                resposta.Sucesso     = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }

            return(resposta);
        }
        public AdicionarMembrosNaEquipeResposta AdicionarMembrosNaEquipe(AdicionarMembrosNaEquipeRequisicao requisicao)
        {
            var resposta = new AdicionarMembrosNaEquipeResposta();

            try
            {
                var equipe = _equipeRepositorio.ObterPor(requisicao.CodigoDaEquipe);
                equipe.MenbrosDaEquipe.Clear();
                foreach (var codigo in requisicao.CodigosDosFuncionarios)
                {
                    var funcionario = _funcionarioRepositorio.ObterPor(codigo);
                    _equipeServico.AdicionarMembroNaEquipe(equipe, funcionario);
                }
                _unitOfWork.Commit();
                resposta.Equipe  = equipe;
                resposta.Sucesso = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }
            return(resposta);
        }
        public AdicionarInfusaoResposta AdicionarInfusao(AdicionarInfusaoRequisicao requisicao)
        {
            var resposta = new AdicionarInfusaoResposta();

            try
            {
                var clinica     = _clinicaRepositorio.ObterPor(requisicao.CodigoDaClinica);
                var responsavel = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel);

                var programa = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma);

                resposta.Infusao = _infusaoServico.AdicionarInfusao(clinica, requisicao.Localizador, requisicao.Cpf,
                                                                    requisicao.DataInfusao, requisicao.DataCadastro,
                                                                    requisicao.StatusDaInfusao, responsavel, programa);

                _unitOfWork.Commit();
                resposta.Sucesso = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }
            return(resposta);
        }
예제 #9
0
        public AlterarUmaPessoaResposta AlterarUmaPessoa(AlterarUmaPessoaRequisicao requisicao)
        {
            var resposta = new AlterarUmaPessoaResposta();

            try
            {
                var departamento = _departamentoRepositorio.ObterPor(requisicao.CodigoDoDepartamento);

                var perfil = _perfilRepositorio.ObterPor(requisicao.CodigoDoPerfil);


                var programas = requisicao.CodigosDosProgramas.Select(_programaRepositorio.ObterPor).ToList();

                if (perfil.Grupo.Codigo == 1)
                {
                    var cargo       = _cargoRepositorio.ObterPor(requisicao.CodigoDoCargo);
                    var funcionario = _funcionarioRepositorio.ObterPor(requisicao.Codigo);
                    funcionario.Usuario.NomeDeUsuario = requisicao.NomeDeUsuario;
                    funcionario.Cargo          = cargo ?? _cargoRepositorio.ObterPor(1);
                    funcionario.Usuario.Perfil = perfil;
                    funcionario.Departamento   = departamento ?? _departamentoRepositorio.ObterPor(1);
                    funcionario.ProgramasPermitidos.Clear();
                    funcionario.ProgramasPermitidos = programas;
                    funcionario.Nome      = requisicao.Nome;
                    funcionario.Telefone  = requisicao.Telefone;
                    funcionario.Descricao = requisicao.Descricao;
                    funcionario.Inativo   = requisicao.Inativo;
                }
                else
                {
                    var cliente = _clienteRepositorio.ObterPor(requisicao.Codigo);
                    cliente.Usuario.NomeDeUsuario = requisicao.NomeDeUsuario;
                    cliente.Nome     = requisicao.Nome;
                    cliente.Telefone = requisicao.Telefone;
                    cliente.ProgramasPermitidos.Clear();
                    cliente.ProgramasPermitidos = programas;
                    cliente.Usuario.Perfil      = perfil;
                    cliente.Inativo             = requisicao.Inativo;
                    if (cliente.Crm != null)
                    {
                        if (cliente.Crm.Tipo.Codigo != requisicao.CodigoDoTipoDeCrm)
                        {
                            var tipoDoCrm = _tipoDeCrmRepositorio.ObterPor(requisicao.CodigoDoTipoDeCrm);
                            var crm       = new CRM(requisicao.NumeroDoCrm, tipoDoCrm, requisicao.NomeDoCrm);
                            cliente.InformarCrm(crm);
                        }
                        else
                        {
                            cliente.Crm.NumeroDoCRM = requisicao.NumeroDoCrm;
                            cliente.Crm.NomeDoCRM   = requisicao.NomeDoCrm;
                        }
                    }
                    else
                    {
                        var tipoDoCrm = _tipoDeCrmRepositorio.ObterPor(requisicao.CodigoDoTipoDeCrm);
                        var crm       = new CRM(requisicao.NumeroDoCrm, tipoDoCrm, requisicao.NomeDoCrm);
                        cliente.InformarCrm(crm);
                    }
                }
                _unitOfWork.Commit();
                resposta.Sucesso = true;
            }
            catch (RegraException regraDeNegocio)
            {
                resposta.Erros = regraDeNegocio.Erros.ToList();
            }

            return(resposta);
        }