예제 #1
0
        public ActionResult ShareToUser(UsernameViewModel model)
        {
            KeyViewModel key = null;

            var responseTask = client.GetAsync($"GetKey/{model.keyId}");

            responseTask.Wait();
            var result = responseTask.Result;

            if (result.IsSuccessStatusCode)
            {
                var readTask = result.Content.ReadAsAsync <KeyViewModel>();
                readTask.Wait();

                key = readTask.Result;
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Server error. Please contact administrator.");
            }
            //duplicate the key for new user
            key.UserId = model.SelectedUser;
            var postTask2 = client.PostAsJsonAsync <KeyViewModel>("CreateAsync", key);

            postTask2.Wait();
            var result2 = postTask2.Result;

            if (result2.IsSuccessStatusCode)
            {
                return(RedirectToAction("Keys", "Key"));
            }

            return(RedirectToAction("ShareKey", key.Id));
        }
예제 #2
0
        public HttpResponse Index()
        {
            var username = new UsernameViewModel {
                Username = this.usersService.GetUsernameById(User)
            };


            if (IsUserLoggedIn())
            {
                return(this.View(username, "/Home"));
            }
            return(this.View());
        }
예제 #3
0
        public PartialViewResult ShareKey(string id)
        {
            IEnumerable <UserListViewModel> users = null;
            var userModel = new UsernameViewModel();

            userModel.keyId = id;
            var list = new List <SelectListItem>();

            var responseTask = client.GetAsync("GetUsers");

            responseTask.Wait();
            var result = responseTask.Result;

            if (result.IsSuccessStatusCode)
            {
                var readTask = result.Content.ReadAsAsync <IList <UserListViewModel> >();
                readTask.Wait();
                users = readTask.Result;
                foreach (var item in users)
                {
                    var t = new SelectListItem()
                    {
                        Value = item.UserId,
                        Text  = item.UserName
                    };
                    list.Add(t);
                }
                userModel.allUsers = list;
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Server error. Please contact administrator.");
            }

            return(PartialView(userModel));
        }
예제 #4
0
 public IHttpActionResult CreateUser(UsernameViewModel username)
 {
     return(Ok());
 }
예제 #5
0
        public UsernamePage(UsernameViewModel viewModel)
        {
            viewModel.Navigation = Navigation;

            BindingContext = viewModel;

            Device.OnPlatform(
                () => {
                BackgroundColor = Helpers.Color.DarkBlue.ToFormsColor();
            },
                () => {
            });


            var layout = new StackLayout {
                Padding = 10
            };

            var label = new Label
            {
                Text            = "Select new identity",
                FontSize        = 20,
                FontAttributes  = FontAttributes.None,
                TextColor       = Color.White,
                VerticalOptions = LayoutOptions.CenterAndExpand,
                XAlign          = TextAlignment.Center,        // Center the text in the blue box.
            };

            layout.Children.Add(label);

            var username = new Entry {
                Placeholder = "Username", HeightRequest = 50
            };

            username.SetBinding(Entry.TextProperty, UsernameViewModel.UsernamePropertyName);
            layout.Children.Add(username);

            var button = new Button {
                Text = "Confirm", TextColor = Color.White, HeightRequest = 50
            };

            button.SetBinding(Button.CommandProperty, UsernameViewModel.LoginCommandPropertyName);
            layout.Children.Add(button);

            Device.OnPlatform(
                () => {
                button.BackgroundColor = Helpers.Color.Green.ToFormsColor();
            },
                () => {
                button.BackgroundColor = Helpers.Color.Blue.ToFormsColor();
            });

            var cancelButton = new Button {
                Text = "Cancel", TextColor = Color.Red, BackgroundColor = Color.White, HeightRequest = 40
            };

            cancelButton.SetBinding(Button.CommandProperty, UsernameViewModel.CancelCommandPropertyName);
            layout.Children.Add(cancelButton);

            Content = new ScrollView {
                Content = layout
            };
        }