// 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); } }
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); } }
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); } }
//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); } }