public smScheduleEvents UpdateEventById(int EventId) { smScheduleEvents events = (from x in base.Context.Set <smScheduleEvents>() where (x.EventId == EventId) && !x.IsDeleted select x).FirstOrDefault <smScheduleEvents>(); events.IsPosted = true; base.Context.SaveChanges(); return(events); }
public smScheduleEvents UpdateScheduleEvents(smScheduleEvents events) { smScheduleEvents events2 = (from x in Context.Set <smScheduleEvents>() where (x.EventId == events.EventId) && !x.IsDeleted select x).FirstOrDefault <smScheduleEvents>(); events2.LocalTime = events.LocalTime; events2.ScheduleTime = events.ScheduleTime; Context.SaveChanges(); return(events2); }
public smScheduleEvents AddScheduleEvents(smScheduleEvents events) { smScheduleEvents evnt = new smScheduleEvents(); evnt.ScheduleTime = events.ScheduleTime; evnt.LocalTime = events.LocalTime; evnt.Evnt_Id = events.Evnt_Id; evnt.ContentId = events.ContentId; evnt.Title = events.Title.Trim(); evnt.IsFacebook = events.IsFacebook; evnt.IsLinkedIn = events.IsLinkedIn; evnt.IsTwitter = events.IsTwitter; evnt.UserId = events.UserId; evnt.CreatedDate = DateTime.UtcNow; Context.Set <smScheduleEvents>().Add(evnt); Context.SaveChanges(); return(evnt); }
public smPost SavePublishingPostDetails(List <string> SelectedPreferences, string SocialMedia, string GroupId, smSocialMediaProfile profile, string ImageArray, string TextMessage, DateTime timenew, int userId, int ImpersonateUserId, DateTime localtime) { #region Find latest content from content library ==== //COnvert String List Into integer........... List <int> SelectedPreference = SelectedPreferences.Select(int.Parse).ToList(); //Find industryId using subindustry int aSubIndustryId = SelectedPreference[0]; var IndustryId = Context.Set <smSubIndustry>().Where(x => x.SubIndustryId.Equals(aSubIndustryId)).Select(x => x.IndustryId).FirstOrDefault(); //Find industryId using subindustry //// Find Subindustry List using subIndustry iDs var list = Context.Set <smSubIndustry>().Where(x => SelectedPreference.Contains(x.SubIndustryId)).ToList(); //------------------------------------- //// Get data from content library on behalf of social media that is activated by user var myvar = from a in Context.Set <smContentLibrary>().Where(x => x.CategoryId == IndustryId && x.IsActive == true && !x.IsDeleted) join b in Context.Set <smSocialMediaProfile>().Where(x => x.UserId == userId && x.IsActive == true) on a.SocialMedia equals b.SocialMedia select new { a }; List <smContentLibrary> list2 = new List <smContentLibrary>(); foreach (var item in myvar) { list2.Add(item.a); } //------------------------------------------ ///////////// Filter COntent Library Data According to selected preference List <smContentLibrary> source = new List <smContentLibrary>(); if (list.Count != 0) { var preferenceList = list.Select(x => x.SubIndustryName).ToList(); source = list2.Where(m => preferenceList.Contains(m.SubIndustryName)).ToList(); } List <smContentLibrary> second = new List <smContentLibrary>(); List <smContentLibrary> list6 = new List <smContentLibrary>(); /// jai kaali ma var AddedLists = Context.Set <smPost>().Where(x => x.UserId == userId && x.IsDeleted == false).Select(x => x.ContentId).ToList(); // var OldLists = source.Where(e => AddedLists.Contains(e.ContentId)); //// POsted list var NewLists = source.Where(e => !AddedLists.Contains(e.ContentId)).OrderByDescending(x => x.CreatedDate); /// New COntent that is not posted yet on any social media. var ListForSyncWithCaledar = NewLists.GroupBy(x => x.GroupId.Trim()).ToList().Take(1); // Filter COntent Library Data According to selected preference //Time to save data .,,,,,,..................... #endregion #region Data Manupulation and save into db accordingly List <datelist> DateList = new List <datelist>() { new datelist { LocalDate = localtime, scheduleDate = timenew }, new datelist { LocalDate = localtime.AddDays(7), scheduleDate = timenew.AddDays(7) }, new datelist { LocalDate = localtime.AddDays(14), scheduleDate = timenew.AddDays(14) }, new datelist { LocalDate = localtime.AddDays(21), scheduleDate = timenew.AddDays(21) }, }; smPost smpost = new smPost(); var flag = 0; var schedule = 0; try { if (NewLists.Count() != 0) { foreach (var items in ListForSyncWithCaledar) { #region //// Check whether data exist or not =========== smpost = Context.Set <smPost>().Where(x => x.PostDate == timenew && x.UserId == userId && x.ContentCreatedId == 2 && x.IsDeleted == false && x.IsPosted == false).FirstOrDefault(); if (smpost != null) { if (items.Select(x => x.CategoryId).Contains(smpost.ContentId)) { return(smpost); } else { flag = 1; } } else { smpost = new smPost(); flag = 2; } smScheduleEvents events = Context.Set <smScheduleEvents>().Where(x => x.ScheduleTime == timenew && x.UserId == userId && x.ContentCreatedId == 2 && x.IsDeleted == false).FirstOrDefault(); if (events != null) { if (items.Select(x => x.CategoryId).Contains(events.ContentId)) { return(smpost); } else { schedule = 1; } } else { events = new smScheduleEvents(); schedule = 2; } #endregion foreach (var dates in DateList) ///// save upto next 4 weak { #region Sync data into scheduler calendar TimeZone localZone = TimeZone.CurrentTimeZone; TimeSpan localOffset = localZone.GetUtcOffset(DateTime.Now); int offset = Convert.ToInt32(localOffset.TotalMinutes.ToString()); /// Sync With Schedular Calendar DateTime time = Convert.ToDateTime(timenew); DateTime now = DateTime.Now; DateTime time3 = DateTime.Now; new List <smScheduleEvents>(); // int offset = Convert.ToInt32(TimeZoneInfo.Local.GetUtcOffset(DateTime.UtcNow)); DateTime dt = FromUTCData(new DateTime?(time), offset); string[] strArray = items.Select(x => x.Title).FirstOrDefault().Split(new char[] { '/' }); events.Title = strArray[0].Trim(); events.ContentId = items.Select(x => x.ContentId).FirstOrDefault(); events.UserId = userId; events.ScheduleTime = dates.scheduleDate; events.LocalTime = dates.LocalDate; events.Evnt_Id = null; events.IsFacebook = items.Any(x => x.SocialMedia.Contains("Facebook")); events.IsLinkedIn = items.Any(x => x.SocialMedia.Contains("LinkedIn")); events.IsTwitter = items.Any(x => x.SocialMedia.Contains("Twitter")); if (ImpersonateUserId != 0) { events.CreatedBy = ImpersonateUserId; } else { events.CreatedBy = userId; } events.CreatedDate = DateTime.UtcNow; events.ContentCreatedId = 2; if (schedule == 1) { Context.SaveChanges(); } else { Context.Set <smScheduleEvents>().Add(events); Context.SaveChanges(); } int EventId = events.EventId; #endregion Sync data into scheduler calendar #region Save data into smpost table foreach (var item in items) { DateTime scheduledDateTime = DateTime.UtcNow; TimeZoneInfo tz = TimeZoneInfo.Local; var timeZoneId = tz.Id; // Convert scheduledtime to utc time TimeZoneInfo zone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId); smpost.SocialMediaProfileId = Context.Set <smSocialMediaProfile>().Where(x => x.UserId == userId && x.SocialMedia.ToLower() == item.SocialMedia).Select(x => x.Fid).FirstOrDefault(); smpost.UserId = userId; smpost.EventId = EventId; smpost.SocialMedia = item.SocialMedia; if (item.Heading == null) { item.Heading = item.Title; } smpost.Caption = item.Heading; smpost.ContentId = item.ContentId; smpost.Description = item.Description; smpost.Name = item.Title; smpost.Url = item.Url; smpost.UniquePostId = RandomString(8); if (string.IsNullOrEmpty(ImageArray)) { smpost.ImageUrl = item.ImageUrl; } smpost.PostDate = dates.scheduleDate; smpost.ModifiedDate = scheduledDateTime; smpost.IsPosted = false; if (ImpersonateUserId != 0) { smpost.CreatedBy = ImpersonateUserId; } else { smpost.CreatedBy = userId; } smpost.CreatedDate = DateTime.UtcNow; smpost.PostType = 2; smpost.IsActive = true; smpost.IsDeleted = false; smpost.ContentCreatedId = 2; // ====== Post Created From Auto post scheduler .... if (flag == 1) { Context.SaveChanges(); } else { Context.Set <smPost>().Add(smpost); Context.SaveChanges(); } } #endregion } } } #endregion return(smpost); } catch (Exception ex) { } return(smpost); }
public smScheduleEvents UpdateScheduleEvents(smScheduleEvents events) { return(_homeRepository.UpdateScheduleEvents(events)); }
public smScheduleEvents AddScheduleEvents(smScheduleEvents events) { return(_homeRepository.AddScheduleEvents(events)); }