예제 #1
0
        public async Task <ActionResult> Details(int?id)
        {
            if (Session["Empresa"] != null || Session["UserId"] != null)
            {
                if (Session["Empresa"].ToString() != "0")
                {
                    var acesso_perfil = new List <perfil_usuario_acesso>(db.perfil_usuario_acesso.ToList().Where(x => x.pua_usuariocliente == (int)Session["UserId"]));

                    if (acesso_perfil != null)
                    {
                        if (acesso_perfil.Any(x => x.pua_ler_clienteempresa_details))
                        {
                            if (id == null)
                            {
                                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                            }
                            cliente_empresa cliente_empresa = await db.cliente_empresa.FindAsync(id);

                            if (cliente_empresa == null)
                            {
                                return(HttpNotFound());
                            }
                            return(View(cliente_empresa));
                        }
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
                else
                {
                    var acesso_perfil_gerente = new List <perfis_usuario>(db.perfis_usuario.ToList().Where(x => x.pus_usuariogerente == (int)Session["UserId"]));

                    if (acesso_perfil_gerente != null && acesso_perfil_gerente.Any(x => x.pus_ler_clienteempresa_details))
                    {
                        if (id == null)
                        {
                            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                        }
                        cliente_empresa cliente_empresa = await db.cliente_empresa.FindAsync(id);

                        if (cliente_empresa == null)
                        {
                            return(HttpNotFound());
                        }
                        return(View(cliente_empresa));
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Manager"));
            }
        }
예제 #2
0
        public async Task <ActionResult> Create([Bind(Include = "cle_codigo,cle_razaosocial_principal,cle_nomefantasia_principal,cle_cnpj_principal,cle_inscricao_municipal,cle_inscricao_estadual,cle_ramo_atividade,cle_numero_funcionario,cle_prazo_validade,cle_endereco,cle_numero,cle_complemento,cle_bairro,cle_cidade,cle_estado,cle_cep,cle_telefone_principal,cle_webProjetoTesteRafae,cle_cnpj_cobranca,cle_razaosocial_cobranca,cle_contato_financeiro,cle_telefone_financeiro,cle_email_financeiro,cle_nome_responsavel,cle_email_responsavel,cle_funcao_responsavel,cle_telefone_responsavel,cle_data_ingresso,cle_data_cancelamento,cle_quantidade_unidade,cle_quantidade_usuario,cle_ativo")] cliente_empresa cliente_empresa, string estados)
        {
            if (Session["Empresa"] != null || Session["UserId"] != null)
            {
                if (Session["Empresa"].ToString() != "0")
                {
                    var acesso_perfil = new List <perfil_usuario_acesso>(db.perfil_usuario_acesso.ToList().Where(x => x.pua_usuariocliente == (int)Session["UserId"]));

                    if (acesso_perfil != null && acesso_perfil.Any(x => x.pua_lerescrever_clienteempresa_create))
                    {
                        if (ModelState.IsValid)
                        {
                            cliente_empresa.cle_estado = estados;
                            cliente_empresa.cle_ativo  = true;
                            db.cliente_empresa.Add(cliente_empresa);
                            await db.SaveChangesAsync();

                            return(RedirectToAction("Index"));
                        }

                        ViewBag.Estados = new SelectList(new Estados().ListaEstados(), "data_sigla_estado", "data_nome_estado");
                        return(View(cliente_empresa));
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
                else
                {
                    var acesso_perfil_gerente = new List <perfis_usuario>(db.perfis_usuario.ToList().Where(x => x.pus_usuariogerente == (int)Session["UserId"]));

                    if (acesso_perfil_gerente != null && acesso_perfil_gerente.Any(x => x.pus_lerescrever_clienteempresa_create))
                    {
                        if (ModelState.IsValid)
                        {
                            cliente_empresa.cle_estado = estados;
                            cliente_empresa.cle_ativo  = true;
                            db.cliente_empresa.Add(cliente_empresa);
                            await db.SaveChangesAsync();

                            return(RedirectToAction("Index"));
                        }

                        ViewBag.Estados = new SelectList(new Estados().ListaEstados(), "data_sigla_estado", "data_nome_estado");
                        return(View(cliente_empresa));
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Manager"));
            }
        }
        public async Task <ActionResult> Create()
        {
            if (Session["Empresa"] != null || Session["UserId"] != null)
            {
                if (Session["Empresa"].ToString() != "0")
                {
                    var             empresa         = (int)Session["Empresa"];
                    cliente_empresa cliente_empresa = await db.cliente_empresa.FindAsync(empresa);

                    if (cliente_empresa.cle_quantidade_usuario_ativo < cliente_empresa.cle_quantidade_usuario)
                    {
                        var acesso_perfil = new List <perfil_usuario_acesso>(db.perfil_usuario_acesso.ToList().Where(x => x.pua_usuariocliente == (int)Session["UserId"]));

                        if (acesso_perfil != null && acesso_perfil.Any(x => x.pua_lerescrever_clienteempresausuario_create))
                        {
                            //ViewBag.cus_empresa = new SelectList(db.cliente_empresa, "cle_codigo", "cle_razaosocial_principal");
                            ViewBag.cus_empresa = new SelectList(db.cliente_empresa.ToList().Where(x => x.cle_codigo == (int)Session["Empresa"]), "cle_codigo", "cle_razaosocial_principal");
                            ViewBag.Estados     = new SelectList(new Estados().ListaEstados(), "data_sigla_estado", "data_nome_estado");
                            return(View());
                        }
                        return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                    }
                    return(View("~/Views/Shared/_LimiteExcedido.cshtml"));
                }
                else
                {
                    var acesso_perfil_gerente = new List <perfis_usuario>(db.perfis_usuario.ToList().Where(x => x.pus_usuariogerente == (int)Session["UserId"]));

                    if (acesso_perfil_gerente != null && acesso_perfil_gerente.Any(x => x.pus_lerescrever_clienteempresausuario_create))
                    {
                        // só põe na lista as empresas onde a quantidade de usuários ativos sejam menores que a quantidade máxima
                        // de usuários que a empresa pode criar, impedindo assim de que seja criados novos usuários sem que
                        // a empresa tenha contratado tal quantidade
                        var items = db.cliente_empresa.ToList().Where(x => x.cle_quantidade_usuario_ativo < x.cle_quantidade_usuario);

                        ViewBag.cus_empresa = new SelectList(items, "cle_codigo", "cle_razaosocial_principal");
                        ViewBag.Estados     = new SelectList(new Estados().ListaEstados(), "data_sigla_estado", "data_nome_estado");
                        return(View());
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Manager"));
            }
        }
예제 #4
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            if (Session["Empresa"] != null || Session["UserId"] != null)
            {
                if (Session["Empresa"].ToString() != "0")
                {
                    var acesso_perfil = new List <perfil_usuario_acesso>(db.perfil_usuario_acesso.ToList().Where(x => x.pua_usuariocliente == (int)Session["UserId"]));

                    if (acesso_perfil != null && acesso_perfil.Any(x => x.pua_lerescrever_clienteempresa_delete))
                    {
                        cliente_empresa cliente_empresa = await db.cliente_empresa.FindAsync(id);

                        db.cliente_empresa.Remove(cliente_empresa);
                        await db.SaveChangesAsync();

                        return(RedirectToAction("Index"));
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
                else
                {
                    var acesso_perfil_gerente = new List <perfis_usuario>(db.perfis_usuario.ToList().Where(x => x.pus_usuariogerente == (int)Session["UserId"]));

                    if (acesso_perfil_gerente != null && acesso_perfil_gerente.Any(x => x.pus_lerescrever_clienteempresa_delete))
                    {
                        cliente_empresa cliente_empresa = await db.cliente_empresa.FindAsync(id);

                        db.cliente_empresa.Remove(cliente_empresa);
                        await db.SaveChangesAsync();

                        return(RedirectToAction("Index"));
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Manager"));
            }
        }
        public async Task <ActionResult> Edit([Bind(Include = "cus_codigo,cus_usuario,cus_senha,cus_lembrar_me,cus_nome,cus_sobrenome,cus_endereco,cus_numero,cus_complemento,cus_bairro,cus_cidade,cus_estado,cus_cep,cus_telefone,cus_email,cus_ativo,cus_empresa,cus_ativo_anterior")] cliente_empresa_usuario cliente_empresa_usuario, string estados)
        {
            if (Session["Empresa"] != null || Session["UserId"] != null)
            {
                if (Session["Empresa"].ToString() != "0")
                {
                    var acesso_perfil = new List <perfil_usuario_acesso>(db.perfil_usuario_acesso.ToList().Where(x => x.pua_usuariocliente == (int)Session["UserId"]));

                    if (acesso_perfil != null && acesso_perfil.Any(x => x.pua_lerescrever_clienteempresausuario_edit))
                    {
                        if (ModelState.IsValid)
                        {
                            cliente_empresa_usuario.cus_estado      = estados;
                            db.Entry(cliente_empresa_usuario).State = EntityState.Modified;

                            if (cliente_empresa_usuario.cus_ativo_anterior && !cliente_empresa_usuario.cus_ativo || !cliente_empresa_usuario.cus_ativo_anterior && cliente_empresa_usuario.cus_ativo)
                            {
                                var             empresa         = cliente_empresa_usuario.cus_empresa;
                                cliente_empresa cliente_empresa = await db.cliente_empresa.FindAsync(empresa);

                                var usuario_ativo = cliente_empresa.cle_quantidade_usuario_ativo;

                                if (cliente_empresa_usuario.cus_ativo)
                                {
                                    usuario_ativo++;
                                    cliente_empresa.cle_quantidade_usuario_ativo = usuario_ativo;
                                    db.Entry(cliente_empresa).State = EntityState.Modified;
                                }

                                if (!cliente_empresa_usuario.cus_ativo)
                                {
                                    usuario_ativo--;
                                    cliente_empresa.cle_quantidade_usuario_ativo = usuario_ativo;
                                    db.Entry(cliente_empresa).State = EntityState.Modified;
                                }
                            }

                            await db.SaveChangesAsync();

                            return(RedirectToAction("Index"));
                        }
                        ViewBag.cus_empresa = new SelectList(db.cliente_empresa, "cle_codigo", "cle_razaosocial_principal", cliente_empresa_usuario.cus_empresa);
                        ViewBag.Estados     = new SelectList(new Estados().ListaEstados(), "data_sigla_estado", "data_nome_estado");
                        return(View(cliente_empresa_usuario));
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
                else
                {
                    var acesso_perfil_gerente = new List <perfis_usuario>(db.perfis_usuario.ToList().Where(x => x.pus_usuariogerente == (int)Session["UserId"]));

                    if (acesso_perfil_gerente != null && acesso_perfil_gerente.Any(x => x.pus_lerescrever_clienteempresausuario_edit))
                    {
                        if (ModelState.IsValid)
                        {
                            cliente_empresa_usuario.cus_estado      = estados;
                            db.Entry(cliente_empresa_usuario).State = EntityState.Modified;

                            if (cliente_empresa_usuario.cus_ativo_anterior && !cliente_empresa_usuario.cus_ativo || !cliente_empresa_usuario.cus_ativo_anterior && cliente_empresa_usuario.cus_ativo)
                            {
                                var             empresa         = cliente_empresa_usuario.cus_empresa;
                                cliente_empresa cliente_empresa = await db.cliente_empresa.FindAsync(empresa);

                                var usuario_ativo = cliente_empresa.cle_quantidade_usuario_ativo;

                                if (cliente_empresa_usuario.cus_ativo)
                                {
                                    usuario_ativo++;
                                    cliente_empresa.cle_quantidade_usuario_ativo = usuario_ativo;
                                    db.Entry(cliente_empresa).State = EntityState.Modified;
                                }

                                if (!cliente_empresa_usuario.cus_ativo)
                                {
                                    usuario_ativo--;
                                    cliente_empresa.cle_quantidade_usuario_ativo = usuario_ativo;
                                    db.Entry(cliente_empresa).State = EntityState.Modified;
                                }
                            }

                            await db.SaveChangesAsync();

                            return(RedirectToAction("Index"));
                        }
                        ViewBag.cus_empresa = new SelectList(db.cliente_empresa, "cle_codigo", "cle_razaosocial_principal", cliente_empresa_usuario.cus_empresa);
                        ViewBag.Estados     = new SelectList(new Estados().ListaEstados(), "data_sigla_estado", "data_nome_estado");
                        return(View(cliente_empresa_usuario));
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Manager"));
            }
        }
        public async Task <ActionResult> Create([Bind(Include = "cus_codigo,cus_usuario,cus_senha,cus_lembrar_me,cus_nome,cus_sobrenome,cus_endereco,cus_numero,cus_complemento,cus_bairro,cus_cidade,cus_estado,cus_cep,cus_telefone,cus_email,cus_ativo,cus_empresa,cus_empresa_unidade")] cliente_empresa_usuario cliente_empresa_usuario, string estados)
        {
            if (Session["Empresa"] != null || Session["UserId"] != null)
            {
                if (Session["Empresa"].ToString() != "0")
                {
                    var acesso_perfil = new List <perfil_usuario_acesso>(db.perfil_usuario_acesso.ToList().Where(x => x.pua_usuariocliente == (int)Session["UserId"]));

                    if (acesso_perfil != null && acesso_perfil.Any(x => x.pua_lerescrever_clienteempresausuario_create))
                    {
                        var empresa = (int)Session["Empresa"];

                        if (ModelState.IsValid)
                        {
                            // Adiciona 1 ao número de usuários ativos
                            //var empresa = (int)Session["Empresa"];
                            cliente_empresa cliente_empresa = await db.cliente_empresa.FindAsync(empresa);

                            var usuario_ativo = cliente_empresa.cle_quantidade_usuario_ativo;
                            usuario_ativo++;
                            cliente_empresa.cle_quantidade_usuario_ativo = usuario_ativo;
                            db.Entry(cliente_empresa).State = EntityState.Modified;

                            // Permite que o Usuário só seja criado nessa empresa caso não seja criado ou editado pela gerente
                            cliente_empresa_usuario.cus_empresa = (int)Session["Empresa"];
                            cliente_empresa_usuario.cus_estado  = estados;
                            cliente_empresa_usuario.cus_senha   = CriarMD5(cliente_empresa_usuario.cus_senha);
                            cliente_empresa_usuario.cus_ativo   = true;
                            db.cliente_empresa_usuario.Add(cliente_empresa_usuario);

                            await db.SaveChangesAsync();

                            return(RedirectToAction("Index"));
                        }


                        ViewBag.cus_empresa = new SelectList(db.cliente_empresa, "cle_codigo", "cle_razaosocial_principal", cliente_empresa_usuario.cus_empresa);
                        ViewBag.Estados     = new SelectList(new Estados().ListaEstados(), "data_sigla_estado", "data_nome_estado");
                        return(View(cliente_empresa_usuario));
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
                else
                {
                    var acesso_perfil_gerente = new List <perfis_usuario>(db.perfis_usuario.ToList().Where(x => x.pus_usuariogerente == (int)Session["UserId"]));

                    if (acesso_perfil_gerente != null && acesso_perfil_gerente.Any(x => x.pus_lerescrever_clienteempresausuario_create))
                    {
                        if (ModelState.IsValid)
                        {
                            // Adiciona 1 ao número de usuários ativos
                            var             empresa         = cliente_empresa_usuario.cus_empresa;
                            cliente_empresa cliente_empresa = await db.cliente_empresa.FindAsync(empresa);

                            var usuario_ativo = cliente_empresa.cle_quantidade_usuario_ativo;
                            usuario_ativo++;
                            cliente_empresa.cle_quantidade_usuario_ativo = usuario_ativo;
                            db.Entry(cliente_empresa).State = EntityState.Modified;


                            cliente_empresa_usuario.cus_estado = estados;
                            cliente_empresa_usuario.cus_senha  = CriarMD5(cliente_empresa_usuario.cus_senha);
                            cliente_empresa_usuario.cus_ativo  = true;
                            db.cliente_empresa_usuario.Add(cliente_empresa_usuario);

                            await db.SaveChangesAsync();

                            return(RedirectToAction("Index"));
                        }
                        ViewBag.cus_empresa = new SelectList(db.cliente_empresa, "cle_codigo", "cle_razaosocial_principal", cliente_empresa_usuario.cus_empresa);
                        ViewBag.Estados     = new SelectList(new Estados().ListaEstados(), "data_sigla_estado", "data_nome_estado");
                        return(View(cliente_empresa_usuario));
                    }
                    return(View("~/Views/Shared/_SemAutorizacao.cshtml"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Manager"));
            }
        }