示例#1
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);
        }
示例#2
0
        private AdicionarClinicaResposta AdicionarClinica(AdicionarClinicaViewModel viewModal)
        {
            var requisicao = new AdicionarClinicaRequisicao
            {
                CodigoDoPrograma    = Session.ProgramaAtivo().Codigo,
                CodigoDoResponsavel = User.ToPessoa().Usuario.Perfil.Grupo.Codigo,
                Nome              = viewModal.Nome,
                RazaoSocial       = viewModal.RazaoSocial,
                Cnpj              = viewModal.Cnpj,
                InscricaoEstadual = viewModal.InscricaoEstadual,
                Endereco          = viewModal.Endereco,
                Cidade            = viewModal.Cidade,
                Uf       = viewModal.Uf,
                Telefone = viewModal.Telefone,
                Contato  = viewModal.Contato,
                CodigoDoRepresentante         = viewModal.CodigoDoRepresentante,
                CodigoDoRepresentanteRegional = viewModal.CodigoDoRepresentanteRegional,
                CodigoDoGerente = viewModal.CodigoDoGerente,
                Observacoes     = viewModal.Observacoes,
                Status          = viewModal.Status,
                Email           = viewModal.Email,
                ValorInfusao    = viewModal.ValorInfusao,
                Bairro          = viewModal.Bairro
            };

            var resposta = _clinicaServicoDeAplicacao.AdicionarClinica(requisicao);

            if (resposta.Sucesso)
            {
                if (resposta.Clinica.Status == StatusDaClinica.Ativo) //Verifica se o status é igual a true para disparar o e-mail.
                {
                    using (var integraClinicaWs = new IntegraEssencial())
                    {
                        integraClinicaWs.AddNewUser(viewModal.Email, "clinica#123", resposta.Clinica.Codigo,
                                                    resposta.Clinica.Nome);
                    }
                }
            }

            return(resposta);
        }