//Result
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            try
            {
                base.OnActivityResult(requestCode, resultCode, data);
                //If its from Camera or Gallery
                if (requestCode == CropImage.CropImageActivityRequestCode)
                {
                    var result = CropImage.GetActivityResult(data);

                    if (resultCode == Result.Ok)
                    {
                        if (result.IsSuccessful)
                        {
                            var resultUri = result.Uri;

                            if (!string.IsNullOrEmpty(resultUri.Path))
                            {
                                GroupPathImage = resultUri.Path;
                                File file2    = new File(resultUri.Path);
                                var  photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                                Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(ImageGroup);
                            }
                            else
                            {
                                Toast.MakeText(this, GetText(Resource.String.Lbl_Something_went_wrong), ToastLength.Long).Show();
                            }
                        }
                    }
                }
                else if (requestCode == 3)
                {
                    var users = data.GetStringExtra("Users") ?? "";
                    UserList = JsonConvert.DeserializeObject <List <UserDataObject> >(users);

                    UsersIds = "";
                    foreach (var user in UserList)
                    {
                        UsersIds += user.UserId + ",";

                        var dataUser = MAdapter.UserList.FirstOrDefault(attachments => attachments.UserId == user.UserId);
                        if (dataUser == null)
                        {
                            MAdapter.UserList.Insert(1, user);
                        }
                    }
                    UsersIds = UsersIds.Remove(UsersIds.Length - 1, 1);

                    MAdapter.NotifyDataSetChanged();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
 public bool IsAvailableForUser(UserBase user, ScenarioStartupSource source, ScenarioAction action)
 {
     if (action > DenyAction)
     {
         return(true);
     }
     if (user is SystemUser)
     {
         return(true);
     }
     return(UsersIds.Any(x => x.Equals(user.Id)));
 }
示例#3
0
        private async void TxtAddOnClick(object sender, EventArgs e)
        {
            try
            {
                if (!Methods.CheckConnectivity())
                {
                    Toast.MakeText(this, GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short)?.Show();
                }
                else
                {
                    if (string.IsNullOrEmpty(TxtGroupName.Text) || string.IsNullOrWhiteSpace(TxtGroupName.Text))
                    {
                        Toast.MakeText(this, GetText(Resource.String.Lbl_Please_enter_name), ToastLength.Short)?.Show();
                        return;
                    }

                    if (TxtGroupName.Text.Length < 4 && TxtGroupName.Text.Length > 15)
                    {
                        Toast.MakeText(this, GetText(Resource.String.Lbl_ErrorLengthGroupName), ToastLength.Short)?.Show();
                        return;
                    }

                    if (string.IsNullOrEmpty(GroupPathImage))
                    {
                        Toast.MakeText(this, GetText(Resource.String.Lbl_Please_select_Image), ToastLength.Short)?.Show();
                        return;
                    }

                    var list = MAdapter.UserList.Where(a => a.Avatar != "Default").ToList();
                    if (list.Count == 0)
                    {
                        Toast.MakeText(this, GetText(Resource.String.Lbl_PleaseSelectUser), ToastLength.Long)?.Show();
                    }
                    else
                    {
                        //Show a progress
                        AndHUD.Shared.Show(this, GetText(Resource.String.Lbl_Loading));

                        UsersIds = "";
                        foreach (var user in list)
                        {
                            UsersIds += user.UserId + ",";
                        }

                        UsersIds = UsersIds.Remove(UsersIds.Length - 1, 1);

                        var(apiStatus, respond) = await RequestsAsync.GroupChat.CreateGroupChat(TxtGroupName.Text, UsersIds, GroupPathImage);

                        if (apiStatus == 200)
                        {
                            if (respond is CreateGroupChatObject result)
                            {
                                AndHUD.Shared.ShowSuccess(this);

                                //Add new item to my Group list
                                //remove item to my Group list
                                if (AppSettings.LastChatSystem == SystemApiGetLastChat.New)
                                {
                                    var adapter = GlobalContext?.LastChatTab?.MAdapter;
                                    if (result.Data?.Count > 0 && adapter != null)
                                    {
                                        adapter.ChatList.Insert(0, result.Data.FirstOrDefault());
                                        adapter.NotifyDataSetChanged();

                                        GlobalContext.LastChatTab.MRecycler.Visibility        = ViewStates.Visible;
                                        GlobalContext.LastChatTab.EmptyStateLayout.Visibility = ViewStates.Gone;
                                    }
                                }
                                else
                                {
                                    var adapter = GlobalContext?.LastGroupChatsTab?.MAdapter;
                                    if (result.Data?.Count > 0 && adapter != null)
                                    {
                                        adapter.LastGroupList.Insert(0, result.Data.FirstOrDefault());
                                        adapter.NotifyDataSetChanged();

                                        GlobalContext?.LastGroupChatsTab?.ShowEmptyPage();
                                    }
                                }

                                Finish();
                            }
                        }
                        else
                        {
                            Methods.DisplayAndHudErrorResult(this, respond);
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
                AndHUD.Shared.Dismiss(this);
            }
        }
        //Result
        protected override async void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            try
            {
                base.OnActivityResult(requestCode, resultCode, data);
                //If its from Camera or Gallery
                if (requestCode == CropImage.CropImageActivityRequestCode)
                {
                    var result = CropImage.GetActivityResult(data);

                    if (resultCode == Result.Ok)
                    {
                        if (result.IsSuccessful)
                        {
                            var resultUri = result.Uri;

                            if (!string.IsNullOrEmpty(resultUri.Path))
                            {
                                GroupPathImage = resultUri.Path;
                                File file2    = new File(resultUri.Path);
                                var  photoUri =
                                    FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                                Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(ImageGroup);

                                //GlideImageLoader.LoadImage(this, resultUri.Path, ImageGroup, ImageStyle.RoundedCrop, ImagePlaceholders.Drawable);
                            }
                            else
                            {
                                Toast.MakeText(this, GetText(Resource.String.Lbl_Something_went_wrong),
                                               ToastLength.Long).Show();
                            }
                        }
                    }
                }
                else if (requestCode == 3)
                {
                    NewUserList = MentionActivity.MAdapter.MentionList.Where(a => a.Selected).ToList();

                    UsersIds = "";
                    foreach (var user in NewUserList)
                    {
                        UsersIds += user.UserId + ",";

                        var dataUser =
                            MAdapter.UserList.FirstOrDefault(attachments => attachments.UserId == user.UserId);
                        if (dataUser == null)
                        {
                            MAdapter.UserList.Add(user);
                        }
                    }

                    UsersIds = UsersIds.Remove(UsersIds.Length - 1, 1);

                    MAdapter.NotifyDataSetChanged();

                    var(apiStatus, respond) = await RequestsAsync.GroupChat
                                              .AddOrRemoveUserToGroup(GroupData.GroupId, UsersIds, "add_user").ConfigureAwait(false);

                    if (apiStatus == 200)
                    {
                    }
                    else
                    {
                        Methods.DisplayReportResult(this, respond);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
示例#5
0
        //Result
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            try
            {
                base.OnActivityResult(requestCode, resultCode, data);
                switch (requestCode)
                {
                //If its from Camera or Gallery
                case CropImage.CropImageActivityRequestCode when resultCode == Result.Ok:
                {
                    var result = CropImage.GetActivityResult(data);

                    if (resultCode == Result.Ok)
                    {
                        if (result.IsSuccessful)
                        {
                            var resultUri = result.Uri;

                            if (!string.IsNullOrEmpty(resultUri.Path))
                            {
                                GroupPathImage = resultUri.Path;
                                File file2    = new File(resultUri.Path);
                                var  photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                                Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(ImageGroup);
                            }
                            else
                            {
                                Toast.MakeText(this, GetText(Resource.String.Lbl_something_went_wrong), ToastLength.Long)?.Show();
                            }
                        }
                    }

                    break;
                }

                case 3:
                {
                    UserList = MentionActivity.MAdapter.MentionList.Where(a => a.Selected).ToList();

                    UsersIds = "";
                    foreach (var user in UserList)
                    {
                        UsersIds += user.UserId + ",";

                        var dataUser = MAdapter.UserList.FirstOrDefault(attachments => attachments.UserId == user.UserId);
                        if (dataUser == null)
                        {
                            MAdapter.UserList.Insert(1, user);
                        }
                    }
                    UsersIds = UsersIds.Remove(UsersIds.Length - 1, 1);

                    MAdapter.NotifyDataSetChanged();
                    break;
                }
                }
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }