/// <summary>
        /// Post status
        /// </summary>
        /// <param name="messages"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public void Post(List <SocialMediaMessageModel> messages, Page page)
        {
            var sendingMessages = messages.Where(m => m.PostStatus && m.SocialMediaTokenId.HasValue).ToList();

            if (sendingMessages.Any())
            {
                var pageInformation    = page.FriendlyUrl.ToAbsoluteUrl().DownloadPage();
                var socialMessageModel = new SocialMessageModel
                {
                    Title       = pageInformation.Title,
                    ImageUrl    = pageInformation.ImageUrl,
                    Url         = page.FriendlyUrl.ToAbsoluteUrl(),
                    Description = pageInformation.Description
                };

                foreach (var message in sendingMessages)
                {
                    socialMessageModel.Message = message.Message;
                    var response = Post(socialMessageModel, message.SocialNetwork);

                    var log = new SocialMediaLog
                    {
                        SocialMediaId      = message.SocialMediaId,
                        SocialMediaTokenId = message.SocialMediaTokenId.Value,
                        PageId             = page.Id,
                        PostedContent      = message.Message
                    };
                    if (response.Success)
                    {
                        log.PostedResponse = response.Data == null ? string.Empty : response.Data.ToString();
                    }
                    else
                    {
                        log.PostedResponse = response.DetailMessage;
                    }
                    _socialMediaLogService.Insert(log);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Save social media log
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ResponseModel SaveSocialMediaLog(SocialMediaLog model)
        {
            ResponseModel response;
            var           socialMediaTokenLog = GetById(model.Id);

            if (socialMediaTokenLog != null)
            {
                socialMediaTokenLog.SocialMediaId      = model.SocialMediaId;
                socialMediaTokenLog.PageId             = model.PageId;
                socialMediaTokenLog.PostedContent      = model.PostedContent;
                socialMediaTokenLog.PostedResponse     = model.PostedResponse;
                socialMediaTokenLog.SocialMediaId      = model.SocialMediaId;
                socialMediaTokenLog.SocialMediaTokenId = model.SocialMediaTokenId;
                response = Update(socialMediaTokenLog);
                return(response.SetMessage(response.Success
                    ? T("SocialMediaLog_Message_UpdateSuccessfully")
                    : T("SocialMediaLog_Message_UpdateFailure")));
            }
            response = Insert(model);
            return(response.SetMessage(response.Success
                ? T("SocialMediaLog_Message_CreateSuccessfully")
                : T("SocialMediaLog_Message_CreateFailure")));
        }
Beispiel #3
0
 internal ResponseModel Update(SocialMediaLog socialMediaLog)
 {
     return(_socialMediaLogRepository.Update(socialMediaLog));
 }
Beispiel #4
0
 public ResponseModel Insert(SocialMediaLog socialMediaLog)
 {
     return(_socialMediaLogRepository.Insert(socialMediaLog));
 }