示例#1
0
        /// <summary></summary>
        private void alterado()
        {
            if (string.IsNullOrEmpty(this._perfil.Nome))
            {
                throw new Exception("Nome do perfil é obrigatório!");
            }

            //var eps = this._context.EmpresaPerfil
            //         .Where(b => b.PerfilId == this._perfil.Id)
            //         .ToList();

            //this._context.EmpresaPerfil.RemoveRange(eps);
            //this._context.SaveChanges();

            //var empsPerfis = new List<EmpresaPerfil>();

            //foreach (var item in this._perfil.EmpresasPerfis)
            //{
            //    var ep = new EmpresaPerfil()
            //    {
            //        PerfilId = this._perfil.Id,
            //        EmpresaId = item.EmpresaId
            //    };

            //    empsPerfis.Add(ep);
            //}

            var pfs = this._context.PerfilFuncionalidade
                      .Where(b => b.PerfilId == this._perfil.Id)
                      .ToList();

            this._context.PerfilFuncionalidade.RemoveRange(pfs);
            this._context.SaveChanges();

            var PerFuncionalidades = new List <PerfilFuncionalidade>();

            foreach (var func in this._perfil.PerfisFuncionalidades)
            {
                var perFunc = new PerfilFuncionalidade()
                {
                    FuncionalidadeId = func.FuncionalidadeId,
                    PerfilId         = _perfil.Id
                };

                PerFuncionalidades.Add(perFunc);
            }
            ;

            // MENUPERMISSAO
            var mps = this._context.MenuPermissao
                      .Where(b => b.PerfilId == this._perfil.Id)
                      .ToList();

            this._context.MenuPermissao.RemoveRange(mps);
            this._context.SaveChanges();

            var MenusPermissao = new List <MenuPermissao>();

            var _funcionalidades = new List <Funcionalidade>();

            var funcInt = this._perfil.PerfisFuncionalidades.Select(x => x.FuncionalidadeId).Distinct().ToList();

            _funcionalidades = _context.Funcionalidade.Where(x => funcInt.Contains(x.Id)).ToList();

            var menufunc = _funcionalidades.Select(x => x.MenuId).Distinct().ToList();

            foreach (var item in menufunc)
            {
                var subMenu = new MenuPermissao()
                {
                    MenuId    = item,
                    EmpresaId = _empresaid,
                    PerfilId  = this._perfil.Id,
                };

                MenusPermissao.Add(subMenu);
            }

            var menusPaiId = _context.Menu.Where(x => menufunc.Contains((int)x.Id)).Select(x => (int)x.PaiId).Distinct().ToList();

            foreach (var item in menusPaiId)
            {
                var menuPai = new MenuPermissao()
                {
                    MenuId    = item,
                    EmpresaId = this._empresaid,
                    PerfilId  = this._perfil.Id,
                };

                MenusPermissao.Add(menuPai);
            }

            this._perfil.EmpresasPerfis        = new List <EmpresaPerfil>();
            this._perfil.PerfisFuncionalidades = new List <PerfilFuncionalidade>();

            this._context.Perfil.Update(this._perfil);
            this._context.SaveChanges();

            //this._context.EmpresaPerfil.AddRange(empsPerfis);
            //this._context.SaveChanges();

            this._context.PerfilFuncionalidade.AddRange(PerFuncionalidades);
            this._context.SaveChanges();

            this._context.MenuPermissao.AddRange(MenusPermissao);
            this._context.SaveChanges();
        }
        /// <summary></summary>
        private bool cadastro()
        {
            if (string.IsNullOrEmpty(this._empresa.CNPJ))
            {
                throw new Exception("CNPJ da empresa é obrigatório!");
            }

            if (string.IsNullOrEmpty(this._empresa.RazaoSocial))
            {
                throw new Exception("Razão Social/Nome da empresa é obrigatório!");
            }

            if (string.IsNullOrEmpty(this._empresa.NomeFantasia))
            {
                throw new Exception("Nome Fantasia/Nomde de Exibição da empresa é obrigatório!");
            }

            if (string.IsNullOrEmpty(this._empresa.Endereco))
            {
                throw new Exception("Endereço da empresa é obrigatório!");
            }

            if (string.IsNullOrEmpty(this._empresa.Bairro))
            {
                throw new Exception("Bairro da empresa é obrigatório!");
            }

            if (string.IsNullOrEmpty(this._empresa.Cidade))
            {
                throw new Exception("Cidade da empresa é obrigatório!");
            }

            if (string.IsNullOrEmpty(this._empresa.Estado))
            {
                throw new Exception("Estado da empresa é obrigatório!");
            }

            this._empresa.CaminhoDiretorio = Path.Combine(Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "GED" + Path.DirectorySeparatorChar + this._empresa.CNPJ.ToString() + Path.DirectorySeparatorChar);

            if (!Directory.Exists(this._empresa.CaminhoDiretorio))
            {
                Directory.CreateDirectory(this._empresa.CaminhoDiretorio);
            }

            this._context.Empresa.Add(this._empresa);
            this._context.SaveChanges();

            //CADASTRO MENU PERMISSÃO
            var licencaid          = this._context.Licenca.FirstOrDefault(x => x.NomeLicenca.Equals(this._empresa.NomeLicenca)).Id;
            var licencamenu        = this._context.LicencaMenu.Where(X => X.LicencaId == licencaid).Select(x => x.MenuId).ToList();
            var listamenupermissao = new List <MenuPermissao>();

            foreach (var item in licencamenu)
            {
                var menupermissao = new MenuPermissao()
                {
                    MenuId    = item,
                    EmpresaId = this._empresa.Id,
                    PerfilId  = 1
                };

                this._context.MenuPermissao.Add(menupermissao);
            }
            this._context.SaveChanges();

            //CADASTRO EMPRESA PERFIL ADM AUTOMATICAMENTE
            var empPerfil = new EmpresaPerfil()
            {
                EmpresaId = this._empresa.Id,
                PerfilId  = 1,
            };

            this._context.EmpresaPerfil.Add(empPerfil);
            this._context.SaveChanges();

            return(true);
        }
        /// <summary></summary>
        private bool cadastro()
        {
            if (string.IsNullOrEmpty(this._perfil.Nome))
            {
                throw new Exception("Nome da perfil é obrigatório!");
            }

            _perfil.EmpresasPerfis = new List <EmpresaPerfil>();

            var EmpresasPerfis = new List <EmpresaPerfil>();
            var empPerfil      = new EmpresaPerfil();

            // SALVAR PERFIL
            this._context.Perfil.Add(this._perfil);
            this._context.SaveChanges();

            // SALVAR EMPRESAPERFIL
            empPerfil.PerfilId  = _perfil.Id;
            empPerfil.EmpresaId = _empresaid;

            EmpresasPerfis.Add(empPerfil);
            this._context.SaveChanges();

            // SALVAR FUNCIONALIDADE
            var PerFuncionalidades = new List <PerfilFuncionalidade>();

            foreach (var func in _funcionalidades)
            {
                var perFunc = new PerfilFuncionalidade()
                {
                    FuncionalidadeId = func.Id,
                    PerfilId         = _perfil.Id
                };

                PerFuncionalidades.Add(perFunc);
            }
            ;

            _perfil.EmpresasPerfis        = EmpresasPerfis;
            _perfil.PerfisFuncionalidades = PerFuncionalidades;

            //SALVAR MENU PERMISSÃO
            var menufunc = _funcionalidades.Select(x => x.MenuId).Distinct().ToList();

            foreach (var item in menufunc)
            {
                var m = new MenuPermissao()
                {
                    MenuId    = item,
                    EmpresaId = _empresaid,
                    PerfilId  = this._perfil.Id,
                };

                this._context.MenuPermissao.Add(m);
            }

            var menusPaiId = _context.Menu.Where(x => menufunc.Contains((int)x.Id)).Select(x => (int)x.PaiId).Distinct().ToList();

            foreach (var item in menusPaiId)
            {
                var menuPai = new MenuPermissao()
                {
                    MenuId    = item,
                    EmpresaId = _empresaid,
                    PerfilId  = this._perfil.Id,
                };

                this._context.MenuPermissao.Add(menuPai);
            }

            return(this._context.SaveChanges() > 0);
        }