コード例 #1
0
 // Function Video
 public void Add(GetStoriesObject.Story Story)
 {
     try
     {
         var check = mStoryList.FirstOrDefault(a => a.user_id == Story.user_id);
         if (check == null)
         {
             mStoryList.Add(Story);
             NotifyItemInserted(mStoryList.IndexOf(mStoryList.Last()));
         }
     }
     catch (Exception exception)
     {
         Console.WriteLine(exception);
     }
 }
コード例 #2
0
 public void Remove(GetStoriesObject.Story Story)
 {
     try
     {
         var Index = mStoryList.IndexOf(mStoryList.FirstOrDefault(a => a.id == Story.id));
         if (Index != -1)
         {
             mStoryList.Remove(Story);
             NotifyItemRemoved(Index);
             NotifyItemRangeRemoved(0, ItemCount);
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
コード例 #3
0
        public void Initialize(StoriesViewHolder holder, GetStoriesObject.Story item)
        {
            try
            {
                //profile_picture
                ImageCacheLoader.LoadImage(item.user_data.avatar, holder.ProfileImageViewAsync, false, true);



                string name = IMethods.Fun_String.DecodeString(item.user_data.name);
                holder.Txt_Username.Text = name;

                if (!string.IsNullOrEmpty(item.description))
                {
                    holder.Txt_description.Text = item.description;
                }
                else if (!string.IsNullOrEmpty(item.title))
                {
                    holder.Txt_description.Text = item.title;
                }
                else
                {
                    holder.Txt_description.Text = this.Activity_Context.GetText(Resource.String.Lbl_Empty);
                }

                if (item.Profile_indicator == null)
                {
                    item.Profile_indicator = AppSettings.Story_Default_Color;
                }

                holder.Profile_indicator.BorderColor = Color.ParseColor(item.Profile_indicator); // Default_Color
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
コード例 #4
0
        //Event Click Add Story
        public void OnClick(View v)
        {
            try
            {
                if (IMethods.CheckConnectivity())
                {
                    if (Type == "image")
                    {
                        //Send image function
                        var file = Android.Net.Uri.FromFile(new File(Uri));
                        PikedImage = IMethods.Fun_String.TrimTo(file.Path.Split('/').Last(), 30);
                        var stream = IMethods.MultiMedia.GetMedia_as_Stream(file.Path);

                        var check = ActivityListItems.FirstOrDefault(a => a.Label == PikedImage);
                        if (check == null)
                        {
                            ActivityListItems.Add(new Classes.Storyitems
                            {
                                Label         = PikedImage,
                                ImageFullPath = file.Path,
                                ImageStream   = stream
                            });
                        }

                        var attach = ActivityListItems.FirstOrDefault(a => a.Label == PikedImage);
                        if (attach != null)
                        {
                            List <Stream> streams = new List <Stream>();

                            foreach (var Atta in ActivityListItems)
                            {
                                if (Atta.ImageStream != null)
                                {
                                    streams.Add(Atta.ImageStream);
                                }
                            }

                            unixTimestamp = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
                            Time          = Convert.ToString(unixTimestamp);

                            List <GetStoriesObject.Story> listOfStories = new List <GetStoriesObject.Story>();
                            var checkUser =
                                Last_Stroies_Fragment.StoryAdapter?.mStoryList?.FirstOrDefault(a =>
                                                                                               a.user_id == UserDetails.User_id);
                            if (checkUser != null)
                            {
                                var checkUserExits =
                                    Classes.StoryList.FirstOrDefault(a => a.Value == checkUser.user_id);
                                if (checkUserExits.Value == null)
                                {
                                    var ch = checkUserExits.Key?.FirstOrDefault(a => a.id == checkUser.id);
                                    if (ch == null)
                                    {
                                        GetStoriesObject.Story story = new GetStoriesObject.Story
                                        {
                                            user_data = new GetStoriesObject.UserData()
                                            {
                                                name = !string.IsNullOrEmpty(UserDetails.Full_name)
                                                    ? UserDetails.Full_name
                                                    : UserDetails.Username,
                                                avatar = UserDetails.avatar,
                                            },
                                            thumbnail   = file.Path,
                                            id          = Time,
                                            user_id     = UserDetails.User_id,
                                            title       = Txt_AboutStory.MessageText,
                                            description = Txt_AboutStory.MessageText,
                                            is_owner    = true,
                                            type        = "image",
                                        };

                                        listOfStories.Add(story);

                                        Classes.StoryList.Add(listOfStories, story.user_id);
                                    }
                                }
                                else
                                {
                                    foreach (var item in Classes.StoryList.Keys.ToList())
                                    {
                                        string userId = item.FirstOrDefault(a => a.user_id == checkUser.user_id)
                                                        ?.user_id;

                                        if (checkUserExits.Value == userId)
                                        {
                                            GetStoriesObject.Story story = new GetStoriesObject.Story
                                            {
                                                user_data = new GetStoriesObject.UserData()
                                                {
                                                    name = !string.IsNullOrEmpty(UserDetails.Full_name)
                                                        ? UserDetails.Full_name
                                                        : UserDetails.Username,
                                                    avatar = UserDetails.avatar,
                                                },
                                                thumbnail   = file.Path,
                                                id          = Time,
                                                user_id     = UserDetails.User_id,
                                                title       = Txt_AboutStory.MessageText,
                                                description = Txt_AboutStory.MessageText,
                                                is_owner    = true,
                                                type        = "image",
                                            };

                                            var ch = item.FirstOrDefault(a => a.id == story.id);
                                            if (ch == null)
                                            {
                                                item.Add(story);
                                            }
                                        }
                                    }
                                }
                            }
                            else
                            {
                                GetStoriesObject.Story story = new GetStoriesObject.Story
                                {
                                    user_data = new GetStoriesObject.UserData()
                                    {
                                        name = !string.IsNullOrEmpty(UserDetails.Full_name)
                                            ? UserDetails.Full_name
                                            : UserDetails.Username,
                                        avatar = UserDetails.avatar,
                                    },
                                    thumbnail   = file.Path,
                                    id          = Time,
                                    user_id     = UserDetails.User_id,
                                    title       = Txt_AboutStory.MessageText,
                                    description = Txt_AboutStory.MessageText,
                                    is_owner    = true,
                                    type        = "image",
                                };

                                Last_Stroies_Fragment.StoryAdapter?.Add(story);

                                listOfStories.Clear();

                                var checkUserExits = Classes.StoryList.FirstOrDefault(a => a.Value == story.user_id);
                                if (checkUserExits.Value == null)
                                {
                                    listOfStories.Add(story);
                                    Classes.StoryList.Add(listOfStories, story.user_id);
                                }
                            }

                            Task.Factory.StartNew(async() =>
                            {
                                //just pass file_path and type video or image

                                var(Api_status, Respond) = await WoWonder_API.Requests.RequestsAsync.Story.Create_Story(Txt_AboutStory.MessageText,
                                                                                                                        "", file.Path, "image");
                                if (Api_status == 200)
                                {
                                    if (Respond is CreateStoryObject result)
                                    {
                                        Console.WriteLine(result.story_id);

                                        Toast.MakeText(this, GetText(Resource.String.Lbl_Done), ToastLength.Short)
                                        .Show();
                                    }
                                }
                                else
                                {
                                    Toast.MakeText(this, GetText(Resource.String.Lbl_Something_went_wrong),
                                                   ToastLength.Short).Show();
                                }
                            });
                            Finish();
                        }
                    }
                    else
                    {
                        VideoTimer.Enabled = false;
                        VideoTimer.Stop();

                        //Send image function
                        var file = Android.Net.Uri.FromFile(new File(Uri));

                        List <GetStoriesObject.Story> listOfStories = new List <GetStoriesObject.Story>();

                        var checkUser =
                            Last_Stroies_Fragment.StoryAdapter?.mStoryList?.FirstOrDefault(a =>
                                                                                           a.user_id == UserDetails.User_id);
                        if (checkUser != null)
                        {
                            if (Classes.StoryList == null)
                            {
                                return;
                            }

                            var checkUserExits = Classes.StoryList.FirstOrDefault(a => a.Value == checkUser.user_id);
                            if (checkUserExits.Value == null)
                            {
                                var ch = checkUserExits.Key.FirstOrDefault(a => a.id == checkUser.id);
                                if (ch == null)
                                {
                                    GetStoriesObject.Story story = new GetStoriesObject.Story
                                    {
                                        user_data = new GetStoriesObject.UserData()
                                        {
                                            name = !string.IsNullOrEmpty(UserDetails.Full_name)
                                                ? UserDetails.Full_name
                                                : UserDetails.Username,
                                            avatar = UserDetails.avatar,
                                        },
                                        thumbnail   = file.Path,
                                        id          = Time,
                                        user_id     = UserDetails.User_id,
                                        title       = Txt_AboutStory.MessageText,
                                        description = Txt_AboutStory.MessageText,
                                        is_owner    = true,
                                        type        = "video",
                                    };

                                    listOfStories.Add(story);

                                    Classes.StoryList.Add(listOfStories, story.user_id);
                                }
                            }
                            else
                            {
                                if (Classes.StoryList == null)
                                {
                                    return;
                                }

                                foreach (var item in Classes.StoryList?.Keys.ToList())
                                {
                                    string userId = item.FirstOrDefault(a => a.user_id == checkUser.user_id)?.user_id;
                                    if (checkUserExits.Value == userId)
                                    {
                                        GetStoriesObject.Story story = new GetStoriesObject.Story
                                        {
                                            user_data = new GetStoriesObject.UserData()
                                            {
                                                name = !string.IsNullOrEmpty(UserDetails.Full_name)
                                                    ? UserDetails.Full_name
                                                    : UserDetails.Username,
                                                avatar = UserDetails.avatar,
                                            },
                                            thumbnail   = file.Path,
                                            id          = Time,
                                            user_id     = UserDetails.User_id,
                                            title       = Txt_AboutStory.MessageText,
                                            description = Txt_AboutStory.MessageText,
                                            is_owner    = true,
                                            type        = "video",
                                        };

                                        var ch = item.FirstOrDefault(a => a.id == story.id);
                                        if (ch == null)
                                        {
                                            item.Add(story);
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            GetStoriesObject.Story story = new GetStoriesObject.Story
                            {
                                user_data = new GetStoriesObject.UserData()
                                {
                                    name = !string.IsNullOrEmpty(UserDetails.Full_name)
                                        ? UserDetails.Full_name
                                        : UserDetails.Username,
                                    avatar = UserDetails.avatar,
                                },
                                thumbnail   = file.Path,
                                id          = Time,
                                user_id     = UserDetails.User_id,
                                title       = Txt_AboutStory.MessageText,
                                description = Txt_AboutStory.MessageText,
                                is_owner    = true,
                                type        = "video",
                            };

                            Last_Stroies_Fragment.StoryAdapter?.Add(story);

                            listOfStories.Clear();

                            var checkUserExits = Classes.StoryList.FirstOrDefault(a => a.Value == story.user_id);
                            if (checkUserExits.Value == null)
                            {
                                listOfStories.Add(story);
                                Classes.StoryList.Add(listOfStories, story.user_id);
                            }
                        }

                        Task.Factory.StartNew(async() =>
                        {
                            //just pass file_path and type video or image
                            var(Api_status, Respond) = await WoWonder_API.Requests.RequestsAsync.Story.Create_Story(Txt_AboutStory.MessageText,
                                                                                                                    "", file.Path, "video");
                            if (Api_status == 200)
                            {
                                if (Respond is CreateStoryObject result)
                                {
                                    Console.WriteLine(result.story_id);

                                    var getStory =
                                        Classes.StoryList.FirstOrDefault(a => a.Value == UserDetails.User_id);
                                    if (getStory.Value != null)
                                    {
                                        var dataStory = getStory.Key.FirstOrDefault(a => a.id == Time);
                                        if (dataStory != null)
                                        {
                                            dataStory.id = result.story_id.ToString();
                                        }
                                    }

                                    Toast.MakeText(this, GetText(Resource.String.Lbl_Done), ToastLength.Short).Show();
                                }
                            }
                            else
                            {
                                Toast.MakeText(this, GetText(Resource.String.Lbl_Something_went_wrong),
                                               ToastLength.Short).Show();
                            }
                        });

                        Finish();
                    }
                }
                else
                {
                    Toast.MakeText(this, GetText(Resource.String.Lbl_Error_check_internet_connection),
                                   ToastLength.Short)
                    .Show();
                }

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