public static List <Domain.Socioboard.Models.DaywiseSchedule> EditDaywiseScheduleMessage(long socioqueueId, long userId, long GroupId, string message, Helper.Cache _redisCache, Helper.AppSettings _appSeetings, Model.DatabaseRepository dbr) { string[] profileids = null; Domain.Socioboard.Models.DaywiseSchedule _ScheduleMessage = dbr.Find <Domain.Socioboard.Models.DaywiseSchedule>(t => t.id == socioqueueId).FirstOrDefault(); _ScheduleMessage.shareMessage = message; int isSaved = dbr.Update <Domain.Socioboard.Models.DaywiseSchedule>(_ScheduleMessage); List <Domain.Socioboard.Models.Groupprofiles> iMmemGroupprofiles = _redisCache.Get <List <Domain.Socioboard.Models.Groupprofiles> >(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupProfiles + GroupId); List <Domain.Socioboard.Models.Groupprofiles> lstGroupprofiles = new List <Groupprofiles>(); if (iMmemGroupprofiles != null && iMmemGroupprofiles.Count > 0) { lstGroupprofiles = iMmemGroupprofiles; } else { lstGroupprofiles = dbr.Find <Domain.Socioboard.Models.Groupprofiles>(t => t.groupId == GroupId).ToList(); _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheGroupProfiles + GroupId, lstGroupprofiles); } profileids = lstGroupprofiles.Select(t => t.profileId).ToArray(); List <Domain.Socioboard.Models.DaywiseSchedule> lstScheduledMessage = dbr.Find <Domain.Socioboard.Models.DaywiseSchedule>(t => profileids.Contains(t.profileId) && t.status == 0).ToList(); if (lstScheduledMessage != null && lstScheduledMessage.Count > 0) { _redisCache.Set(Domain.Socioboard.Consatants.SocioboardConsts.CacheScheduleMessage + GroupId, lstScheduledMessage); return(lstScheduledMessage); } else { return(null); } }
public static void PostDaywiseFacebookMessage(Domain.Socioboard.Models.DaywiseSchedule schmessage, Domain.Socioboard.Models.Facebookaccounts _facebook, Domain.Socioboard.Models.User _user) { try { if (_facebook != null) { if (_facebook.IsActive) { string day = DateTime.Now.DayOfWeek.ToString(); TimeSpan time = DateTime.Now.TimeOfDay; //TimeSpan tv = TimeSpan.Parse(schmessage.localscheduletime); //TimeSpan.Compare(time, tv); TimeSpan dbtimeval = Convert.ToDateTime(schmessage.localscheduletime).TimeOfDay;//schmessage.localscheduletime if (schmessage.scheduleTime <= DateTime.Now && dbtimeval <= time) { var selectDayObject = JsonConvert.DeserializeObject <List <string> >(schmessage.weekdays); if (selectDayObject.Contains(DateTime.Now.DayOfWeek.ToString())) { string data = DaywiseComposeMessage(_facebook.FbProfileType, _facebook.AccessToken, _facebook.FbUserId, schmessage.shareMessage, schmessage.profileId, schmessage.userId, schmessage.url, schmessage.link, schmessage, _user); } else { schmessage.scheduleTime = DateTimeHelper.GetNextScheduleDate(selectDayObject, schmessage.scheduleTime); if (schmessage.scheduleTime.Date == DateTime.Today) { schmessage.scheduleTime = schmessage.scheduleTime.AddDays(7); } var dbr = new DatabaseRepository(); dbr.Update(schmessage); } } } } } catch (Exception ex) { } }
public static string DaywiseComposeMessage(Domain.Socioboard.Enum.FbProfileType profiletype, string accessToken, string fbUserId, string message, string profileId, long userId, string imagePath, string link, Domain.Socioboard.Models.DaywiseSchedule schmessage, Domain.Socioboard.Models.User _user) { string ret = ""; var dbr = new DatabaseRepository(); try { var pageAccessToken = FacebookApiHelper.GetPageAccessToken(fbUserId, accessToken, string.Empty); var response = FacebookApiHelper.PublishPostOnPage(pageAccessToken, fbUserId, message, imagePath, link); var isPublished = response.Contains("id"); if (isPublished) { var selectDayObject = JsonConvert.DeserializeObject <List <string> >(schmessage.weekdays); schmessage.scheduleTime = DateTimeHelper.GetNextScheduleDate(selectDayObject, schmessage.scheduleTime); if (schmessage.scheduleTime.Date == DateTime.Today) { schmessage.scheduleTime = schmessage.scheduleTime.AddDays(7); } dbr.Update(schmessage); var notify = new Notifications(); var notifications = dbr.Single <Notifications>(t => t.MsgId == schmessage.id); if (notifications == null) { notify.MsgId = schmessage.id; notify.MsgStatus = "Scheduled"; notify.notificationtime = schmessage.localscheduletime.ToString(); notify.NotificationType = "Schedule Successfully"; notify.ReadOrUnread = "Unread"; notify.UserId = userId; dbr.Add(notify); if (_user.scheduleSuccessUpdates) { var sucResponse = SendMailbySendGrid(AppSettings.from_mail, "", _user.EmailId, "", "", "", "", _user.FirstName, schmessage.localscheduletime.ToString(), true, AppSettings.sendGridUserName, AppSettings.sendGridPassword); } } } } catch (Exception ex) { apiHitsCount = MaxapiHitsCount; var notify = new Notifications(); var notifications = dbr.Single <Notifications>(t => t.MsgId == schmessage.id); if (notifications == null) { notify.MsgId = schmessage.id; notify.MsgStatus = "Failed"; notify.notificationtime = schmessage.localscheduletime.ToString(); notify.NotificationType = "Schedule Failed"; notify.ReadOrUnread = "Unread"; notify.UserId = userId; dbr.Add(notify); if (_user.scheduleFailureUpdates) { string falResponse = SendMailbySendGrid(AppSettings.from_mail, "", _user.EmailId, "", "", "", "", _user.FirstName, schmessage.localscheduletime.ToString(), false, AppSettings.sendGridUserName, AppSettings.sendGridPassword); } } } return(ret); }