public Task <long> CreatePerfil(CreatePerfilCommand command)
        {
            var requestUrl = CreateRequestUri(string.Format(System.Globalization.CultureInfo.InvariantCulture,
                                                            $"{ResourcePerfil}/CreatePerfil"));

            return(Post(requestUrl, command));
        }
Beispiel #2
0
        public ActionResult Create(IFormCollection collection)
        {
            try
            {
                ListDictionary list            = new ListDictionary();
                var            responseModulos = ApiClientFactory.Instance.GetModuloAll();

                foreach (var modulo in responseModulos)
                {
                    var ListFuncionalidades = modulo.ListFuncionalidades.FirstOrDefault().NomFuncionalidade.Split(',');
                    var listValue           = ListFuncionalidades
                                              .Where(func => collection[modulo.NomModulo + func].ToString() == "on").ToList();
                    list.Add(modulo.NomModulo, string.Join(",", listValue));
                }

                var command = new CreatePerfilCommand
                {
                    NomPerfil = collection["NomPerfil"].ToString(),
                    ListClaim = list
                };

                ApiClientFactory.Instance.CreatePerfil(command);

                return(RedirectToAction(nameof(Index), new { crud = (int)EnumCrud.Created }));
            }
            catch (Exception e)
            {
                return(View());
            }
        }
        public async Task <ActionResult <long> > CreatePerfil(CreatePerfilCommand command)
        {
            try
            {
                var adminRole = await _roleManager.FindByNameAsync(command.NomPerfil);

                var result = false;
                if (adminRole == null)
                {
                    adminRole = new IdentityRole(command.NomPerfil);
                    await _roleManager.CreateAsync(adminRole);

                    foreach (DictionaryEntry claim in command.ListClaim)
                    {
                        var addClaim = new Claim(claim.Key.ToString(), claim.Value.ToString());
                        await _roleManager.AddClaimAsync(adminRole, addClaim);
                    }

                    result = true;
                }

                return(result?1:0);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }