public async Task <IActionResult> Atualizar(int id, CadastroEmpresaDTO model)
        {
            try
            {
                var usuarioId = int.Parse((this.User.Identity.Name).Split(',')[0]);
                var empresaId = int.Parse((this.User.Identity.Name).Split(',')[1]);
                var menu      = "Dados Cliente";

                // Permissão
                var user_proprietario = await _service.getEmpresaById(empresaId);

                var isPermissao = false;

                if (user_proprietario.EmpresaProprietaria != 0)
                {
                    isPermissao = _serviceUsuario.ValidaAcessoUsuarioMenu(usuarioId, empresaId, menu);
                }
                else
                {
                    isPermissao = true;
                }

                if (isPermissao)
                {
                    string tela = this.ControllerContext.RouteData.Values["action"].ToString();
                    this._auditoria.cadastrar(tela, this.User.Identity.Name, model);

                    var empresa = await this._service.getEmpresaById(id);

                    if (empresa == null)
                    {
                        return(NotFound("Empresa não encontrada!"));
                    }

                    _mapper.Map(model, empresa);

                    this._service.Autalizar(empresa);

                    return(Ok(empresa));
                }
                else
                {
                    return(StatusCode(403, "Usuário sem permissão de acesso ao menu " + menu));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }
示例#2
0
        private CadastroEmpresaDTO findByIdPrimario(int empresaId)
        {
            var empresas = (from e in _context.Empresa
                            join ue in _context.UsuarioEmpresa on e.Id equals ue.EmpresaId
                            join u in _context.Usuario on ue.UsuarioId equals u.Id
                            where ue.Primario == 1 && e.Id == empresaId
                            select new
            {
                Id = e.Id,
                CNPJ = e.CNPJ,
                InscricaoMunicipal = e.InscricaoMunicipal,
                InscricaoEstadual = e.InscricaoEstadual,
                NomeFantasia = e.NomeFantasia,
                RazaoSocial = e.RazaoSocial,
                Logo = e.Logo,
                ContatoNome = e.ContatoNome,
                ContatoTelefone = e.ContatoTelefone,
                CEP = e.CEP,
                Endereco = e.Endereco,
                Complemento = e.Complemento,
                Bairro = e.Bairro,
                Cidade = e.Cidade,
                Estado = e.Estado,
                EmpresaProprietaria = e.EmpresaProprietaria,
                NomeLicenca = e.NomeLicenca,
                Periodo = e.Periodo,
                QtdUsuarios = e.QtdUsuarios,
                ValorPorUsuario = e.ValorPorUsuario,
                EspacoPorUsuario = e.EspacoPorUsuario,
                EspacoTotal = e.EspacoTotal,
                ValorTotal = e.ValorTotal,
                DataContratacao = e.DataContratacao,
                DataVencimento = e.DataVencimento,
                Ativo = e.Ativo,
                UsuarioId = u.Id,
                Status = u.Status,
                Nome = u.Nome,
                Email = u.Email,
                PerfilId = ue.PerfilId
            }
                            ).ToArray();

            var emps = new List <CadastroEmpresaDTO>();
            var emp  = new CadastroEmpresaDTO();

            foreach (var item in empresas)
            {
                emp.Id                  = item.Id;
                emp.CNPJ                = item.CNPJ;
                emp.NomeFantasia        = item.NomeFantasia;
                emp.RazaoSocial         = item.RazaoSocial;
                emp.Logo                = item.Logo;
                emp.ContatoNome         = item.ContatoNome;
                emp.ContatoTelefone     = item.ContatoTelefone;
                emp.CEP                 = item.CEP;
                emp.Endereco            = item.Endereco;
                emp.Complemento         = item.Complemento;
                emp.Bairro              = item.Bairro;
                emp.Cidade              = item.Cidade;
                emp.Estado              = item.Estado;
                emp.EmpresaProprietaria = (int)item.EmpresaProprietaria;
                emp.NomeLicenca         = item.NomeLicenca;
                emp.Periodo             = item.Periodo;
                emp.QtdUsuarios         = item.QtdUsuarios;
                emp.ValorPorUsuario     = item.ValorPorUsuario;
                emp.EspacoPorUsuario    = item.EspacoPorUsuario;
                emp.EspacoTotal         = item.EspacoTotal;
                emp.ValorTotal          = item.ValorTotal;
                //emp.DataContratacao = item.DataContratacao.ToString("yyyy-MM-dd");
                //emp.DataVencimento = item.DataVencimento.ToString("yyyy-MM-dd");
                emp.DataContratacao  = item.DataContratacao;
                emp.DataVencimento   = item.DataVencimento;
                emp.Ativo            = item.Ativo;
                emp.Usuario          = new UserDTO();
                emp.Usuario.Id       = item.UsuarioId;
                emp.Usuario.Email    = item.Email;
                emp.Usuario.Nome     = item.Nome;
                emp.Usuario.PerfilId = item.PerfilId;

                emps.Add(emp);
            }

            return(emps.FirstOrDefault());
        }
        public async Task <IActionResult> Cadastrar(CadastroEmpresaDTO model)
        {
            try
            {
                var usuarioId = int.Parse((this.User.Identity.Name).Split(',')[0]);
                var empresaId = int.Parse((this.User.Identity.Name).Split(',')[1]);
                var menu      = "Dados Cliente";

                // Permissão
                var user_proprietario = await _service.getEmpresaById(empresaId);

                var isPermissao = false;

                if (user_proprietario.EmpresaProprietaria != 0)
                {
                    isPermissao = _serviceUsuario.ValidaAcessoUsuarioMenu(usuarioId, empresaId, menu);
                }
                else
                {
                    isPermissao = true;
                }

                if (isPermissao)
                {
                    string tela = this.ControllerContext.RouteData.Values["action"].ToString();
                    this._auditoria.cadastrar(tela, this.User.Identity.Name, model);

                    // Sempre será Cliente
                    if (model.EmpresaProprietaria == null)
                    {
                        model.EmpresaProprietaria = 1;
                    }

                    var empresa = _mapper.Map <Empresa>(model);

                    var sucesso = this._service.Cadastrar(empresa);

                    if (model.Usuario != null && !string.IsNullOrEmpty(model.Usuario.Nome))
                    {
                        var cadUsuario = new UserDTO();

                        cadUsuario.Nome  = model.Usuario.Nome;
                        cadUsuario.Email = model.Usuario.Email;
                        cadUsuario.IdEmpresaSelecionada = empresa.Id;
                        cadUsuario.PerfilId             = 1;

                        var usuario = _serviceUsuario.Cadastrar(cadUsuario);
                        _serviceUsuario.CadastrarNovaSenha(usuario, empresa.Id);
                    }

                    if (sucesso)
                    {
                        return(Created($"/api/empresa/buscarEmpresaPorId/{empresa.Id}", _mapper.Map <EmpresaDTO>(empresa)));
                    }
                }
                else
                {
                    return(StatusCode(403, "Usuário sem permissão de acesso ao menu " + menu));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }

            return(BadRequest());
        }