private static RoomForCreate BuildRoom(RoomModel model, RoleSummary clientRole)
        {
            var newRoom = new RoomForCreate
            {
                Name              = model.Name,
                RoleId            = clientRole.RoleId,
                TransactionSideId = "buy",
                FieldData         = new FieldDataForCreate
                {
                    Data = new Dictionary <string, object>
                    {
                        { "address1", "Street 1" },
                        { "address2", "Unit 10" },
                        { "city", "New York" },
                        { "postalCode", "11112" },
                        { "companyRoomStatus", "5" },
                        { "state", "US-NY" },
                        {
                            "comments", @"New room for sale."
                        }
                    }
                }
            };

            return(newRoom);
        }
        public Task <IdentityManagerResult <QueryResult <RoleSummary> > > QueryRolesAsync(string filter, int start, int count)
        {
            ValidateSupportsRoles();

            if (start < 0)
            {
                start = 0;
            }
            if (count < 0)
            {
                count = int.MaxValue;
            }

            var query =
                from role in RoleManager.Roles
                orderby role.Name
                select role;

            if (!string.IsNullOrWhiteSpace(filter))
            {
                query =
                    from role in query
                    where role.Name.Contains(filter)
                    orderby role.Name
                    select role;
            }

            var total = query.Count();
            var roles = query.Skip(start).Take(count).ToArray();

            var result = new QueryResult <RoleSummary>
            {
                Start  = start,
                Count  = count,
                Total  = total,
                Filter = filter,
                Items  = roles.Select(x =>
                {
                    var user = new RoleSummary
                    {
                        Subject = x.Id.ToString(),
                        Name    = x.Name,
                        // TODO: Role Description
                    };

                    return(user);
                }).ToArray()
            };

            return(Task.FromResult(new IdentityManagerResult <QueryResult <RoleSummary> >(result)));
        }
        public ActionResult Create(RoomModel model)
        {
            // Step 1. Obtain your OAuth token
            var accessToken = RequestItemsService.User.AccessToken;                      // Represents your {ACCESS_TOKEN}
            var basePath    = $"{RequestItemsService.Session.RoomsApiBasePath}/restapi"; // Base API path

            // Step 2: Construct your API headers
            var apiClient = new ApiClient(basePath);

            apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken);
            var roomsApi = new RoomsApi(apiClient);
            var rolesApi = new RolesApi(apiClient);

            var accountId = RequestItemsService.Session.AccountId; // Represents your {ACCOUNT_ID}

            try
            {
                // Step 3: Obtain Role
                RoleSummary clientRole = rolesApi.GetRoles(accountId, new RolesApi.GetRolesOptions {
                    filter = "Default Admin"
                }).Roles.First();

                // Step 4: Construct the request body for your room
                RoomForCreate newRoom = BuildRoom(model, clientRole);

                // Step 5: Call the Rooms API to create a room
                Room room = roomsApi.CreateRoom(accountId, newRoom);

                ViewBag.h1          = "The room was successfully created";
                ViewBag.message     = $"The room was created! Room ID: {room.RoomId}, Name: {room.Name}.";
                ViewBag.Locals.Json = JsonConvert.SerializeObject(room, Formatting.Indented);

                return(View("example_done"));
            }
            catch (ApiException apiException)
            {
                ViewBag.errorCode    = apiException.ErrorCode;
                ViewBag.errorMessage = apiException.Message;

                return(View("Error"));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Gets the role list.
        /// </summary>
        /// <returns></returns>
        public async Task <RoleSummary[]> GetRoleList()
        {
            var roles = await Session.Value.Get <IAccount>().GetRoleList();

            return(await Task.WhenAll(
                       roles.Select(
                           async r =>
            {
                var unit = await GrainFactory.Get <IUnit>(r).GetData();
                var summary = new RoleSummary
                {
                    Id = r.GetPrimaryKey(),
                    Name = await r.GetName(),
                    Race = unit.Race,
                    Gender = unit.Gender
                };

                return summary;
            })));
        }
        public Task <IdentityManagerResult <QueryResult <RoleSummary> > > QueryRolesAsync(string filter, int start, int count)
        {
            ValidateSupportsGroups();

            if (start < 0)
            {
                start = 0;
            }
            if (count < 0)
            {
                count = Int32.MaxValue;
            }

            int total;
            var groups = groupQuery.Query(filter, start, count, out total).ToArray();

            var result = new QueryResult <RoleSummary>();

            result.Start  = start;
            result.Count  = count;
            result.Total  = total;
            result.Filter = filter;
            result.Items  = groups.Select(x =>
            {
                var role = new RoleSummary
                {
                    Subject = x.ID.ToString("D"),
                    Name    = x.Name,
                    //Description = x.Name
                };

                return(role);
            }).ToArray();

            return(Task.FromResult(new IdentityManagerResult <QueryResult <RoleSummary> >(result)));
        }
Ejemplo n.º 6
0
        private void WaitInput()
        {
            Console.Out.Write(">");
            string input = Console.ReadLine();

            if (!(RpcClient?.Channel.Active ?? false))
            {
                Console.Out.WriteLine("Lost connection...");
                ClientStateMachine.Fire(ClientTriger.LostConnection);
            }

            if (input == null)
            {
                ClientStateMachine.Fire(ClientTriger.Retry);

                return;
            }

            var args = input.Split();

            try
            {
                switch (args[0].ToLower())
                {
                case "cr":
                    bool result = RoleManager.CreateRole(
                        new CreateRoleOption
                    {
                        Name = args[1]
                    })
                                  .Result;
                    Console.Out.WriteLine("Role create reuslt {0}", result ? "success" : "fail");

                    break;

                case "lr":
                    var summaries = RoleManager.GetRoleList().Result;
                    _roleList = summaries;
                    for (var i = 0; i < summaries.Length; i++)
                    {
                        RoleSummary summary = summaries[i];
                        Console.Out.WriteLine($"summary[{i}] = {summary}");
                    }

                    break;

                case "s":
                    if (!int.TryParse(args[1], out int index))
                    {
                        Console.Out.WriteLine("Wrong index");

                        return;
                    }

                    result = RoleManager.UseRole(_roleList[index].Id).Result;
                    Console.Out.WriteLine("result = {0}", result);
                    if (result)
                    {
                        RegisterSync();
                    }

                    break;

                default:
                    Console.Out.WriteLine("Unknown cmd. Please check your input.");

                    return;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            ClientStateMachine.Fire(ClientTriger.Retry);
        }