public string EditSchecduledMessage(string id, string msg)
        {
            try
            {
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                objScheduledMessageRepository.UpdateProfileScheduleMessage(Guid.Parse(id), msg);
                return new JavaScriptSerializer().Serialize("");
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                Console.WriteLine(ex.StackTrace);
                return new JavaScriptSerializer().Serialize("Please try Again");
            }

        }
        public string AddComposeMessage(string UserId, string ProfileId, string ProfileType, string Message)
        {
            ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();

            Domain.Socioboard.Domain.ScheduledMessage objScheduledMessage = new Domain.Socioboard.Domain.ScheduledMessage();
            objScheduledMessage.ShareMessage = Message;
            objScheduledMessage.ClientTime = DateTime.Now;
            objScheduledMessage.ScheduleTime = DateTime.Now;
            objScheduledMessage.CreateTime = DateTime.Now;
            objScheduledMessage.Status = true;
            objScheduledMessage.UserId = Guid.Parse(UserId);
            objScheduledMessage.ProfileType = ProfileType;
            objScheduledMessage.ProfileId = ProfileId;
            objScheduledMessageRepository.addNewMessage(objScheduledMessage);
            return "";
        }
        public string GetSociaoQueueMessageByUserIdAndGroupId(string UserId, string GroupId)
        {
            string profileid = string.Empty;

            TeamRepository objTeamRepository = new TeamRepository();
            try
            {
                Guid userid = Guid.Parse(UserId);
                Guid groupid = Guid.Parse(GroupId);
                List<Domain.Socioboard.Domain.ScheduledMessage> lstfianlscoailqueue = new List<Domain.Socioboard.Domain.ScheduledMessage>();
                Domain.Socioboard.Domain.Team objTeam = objTeamRepository.GetTeamByGroupId(groupid);
                List<Domain.Socioboard.Domain.TeamMemberProfile> allprofiles = objTeamMemberProfileRepository.getAllTeamMemberProfilesOfTeam(objTeam.Id);
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                List<Domain.Socioboard.Domain.ScheduledMessage> lstScheduledMessages = new List<Domain.Socioboard.Domain.ScheduledMessage>();
                Dictionary<string, List<Domain.Socioboard.Domain.ScheduledMessage>> objdic = new Dictionary<string, List<Domain.Socioboard.Domain.ScheduledMessage>>();
                foreach (var item in allprofiles)
                {
                    lstScheduledMessages = objScheduledMessageRepository.getAllMessagesDetail(item.ProfileId, userid);
                    if (lstScheduledMessages.Count > 0)
                    {
                        objdic.Add(item.ProfileId, lstScheduledMessages);
                    }

                }
                foreach (var item in objdic)
                {
                    foreach (var ScheduledMessage in item.Value)
                    {
                        lstfianlscoailqueue.Add(ScheduledMessage);
                    }
                }
                //FacebookAccountRepository facebookAccountRepo = new FacebookAccountRepository();
                // FacebookAccount facebook = facebookAccountRepo.getFacebookAccountDetailsById(FacebookId, userid);
                return new JavaScriptSerializer().Serialize(lstfianlscoailqueue);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                Console.WriteLine(ex.StackTrace);
                return new JavaScriptSerializer().Serialize("Please try Again");
            }

        }
        public string DeleteSchecduledMessage(string id)
        {
            try
            {
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                objScheduledMessage = new Domain.Socioboard.Domain.ScheduledMessage();
                objScheduledMessage.Id = Guid.Parse(id);
                objScheduledMessageRepository.deleteMessage(objScheduledMessage);
                return new JavaScriptSerializer().Serialize("");
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                Console.WriteLine(ex.StackTrace);
                return new JavaScriptSerializer().Serialize("Please try Again");
            }

        }
        public string getScheduledMessageByProfileType(string profileType)
        {
            try
            {
                //Guid userid = Guid.Parse(UserId);
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                List<Domain.Socioboard.Domain.ScheduledMessage> lstScheduledMessages = objScheduledMessageRepository.GetUnsentSchdeuledMessageByProfileType(profileType);

                if (lstScheduledMessages == null)
                {
                    lstScheduledMessages = new List<Domain.Socioboard.Domain.ScheduledMessage>();
                }

                return new JavaScriptSerializer().Serialize(lstScheduledMessages);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                Console.WriteLine(ex.StackTrace);
                return new JavaScriptSerializer().Serialize(new List<Domain.Socioboard.Domain.ScheduledMessage>());
            }

        }
 public string getAllSentMessageDetails(string profileid, string userid)
 {
     try
     {
         ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
         //List<Domain.Socioboard.Domain.ScheduledMessage> lstallScheduledMessage = objScheduledMessageRepository.getAllMessagesDetail(profileid, Guid.Parse(userid));
         List<Domain.Socioboard.Domain.ScheduledMessage> lstallScheduledMessage = objScheduledMessageRepository.getAllSentMessageDetails(profileid, Guid.Parse(userid));
         return new JavaScriptSerializer().Serialize(lstallScheduledMessage);
     }
     catch (Exception ex)
     {
         logger.Error(ex.Message);
         Console.WriteLine(ex.StackTrace);
         return new JavaScriptSerializer().Serialize("plese try again");
     }
 }
        public string GetAllMessagesOfUser(string UserId, string profileid)
        {
            try
            {
                Guid userid = Guid.Parse(UserId);
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                List<Domain.Socioboard.Domain.ScheduledMessage> lstScheduledMessages = new List<Domain.Socioboard.Domain.ScheduledMessage>();
                lstScheduledMessages = objScheduledMessageRepository.getAllMessagesOfUser(userid, profileid);

                //FacebookAccountRepository facebookAccountRepo = new FacebookAccountRepository();
                // FacebookAccount facebook = facebookAccountRepo.getFacebookAccountDetailsById(FacebookId, userid);
                return new JavaScriptSerializer().Serialize(lstScheduledMessages);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                Console.WriteLine(ex.StackTrace);
                return new JavaScriptSerializer().Serialize("Please try Again");
            }

        }
 public void UpdateScheduledMessageByMsgId(Guid msgId)
 {
     ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
     objScheduledMessageRepository.UpdateScheduledMessage(msgId);
 }
        public string CheckMessageExistsAtTime(string UserId, DateTime schetime)
        {
            bool isexist;
            try
            {

                Guid userid = Guid.Parse(UserId);
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                //ScheduledMessage ScheduledMessages = new ScheduledMessage();

                isexist = objScheduledMessageRepository.checkMessageExistsAtTime(userid, schetime);

                //FacebookAccountRepository facebookAccountRepo = new FacebookAccountRepository();
                // FacebookAccount facebook = facebookAccountRepo.getFacebookAccountDetailsById(FacebookId, userid);
                return new JavaScriptSerializer().Serialize(isexist);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                Console.WriteLine(ex.StackTrace);
                return new JavaScriptSerializer().Serialize("Please try Again");
            }

        }
        public string GetScheduleMessageByMessageId(string MessageId)
        {
            try
            {

                Guid userid = Guid.Parse(MessageId);
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                Domain.Socioboard.Domain.ScheduledMessage ScheduledMessages = new Domain.Socioboard.Domain.ScheduledMessage();
                ScheduledMessages = objScheduledMessageRepository.getScheduleMessageByMessageId(userid);

                //FacebookAccountRepository facebookAccountRepo = new FacebookAccountRepository();
                // FacebookAccount facebook = facebookAccountRepo.getFacebookAccountDetailsById(FacebookId, userid);
                return new JavaScriptSerializer().Serialize(ScheduledMessages);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                Console.WriteLine(ex.StackTrace);
                return new JavaScriptSerializer().Serialize("Please try Again");
            }

        }
        public string UpdateScheduledMessage(string typeidandmsgid, string ShareMessage, DateTime scheduledTime, string picurl)
        {
            try
            {
                //Guid msgid = Guid.Parse(MsgId);
                List<string> type = new List<string>();
                List<string> profileid = new List<string>();
                List<string> msgid = new List<string>();
                string[] TypeandId = typeidandmsgid.Split(',');
                for (int i = 0; i < TypeandId.Length; i = i + 3)
                {
                    type.Add(TypeandId[i]);
                    profileid.Add(TypeandId[i + 1]);
                    msgid.Add(TypeandId[i + 2]);

                }
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                ScheduledMessage objScheduledMessage = new ScheduledMessage();

                try
                {

                    for (int i = 0; i < type.Count; i++)
                    {

                        objScheduledMessageRepository.UpdateProfileScheduleMessage(Guid.Parse(msgid[i]), profileid[i], ShareMessage, type[i], scheduledTime, picurl);
                    }
                }
                catch (Exception ex)
                {
                    logger.Error(ex.Message);
                    Console.WriteLine(ex.StackTrace);
                }
                ScheduledMessage objScheduledMessages = new ScheduledMessage();
                return new JavaScriptSerializer().Serialize(typeidandmsgid);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                Console.WriteLine(ex.StackTrace);
                return new JavaScriptSerializer().Serialize("Please try Again");
            }

        }
         public List<Domain.Socioboard.Domain.ScheduledMessage> getScheduledMessage()
         {
             try
             {
                 //Guid userid = Guid.Parse(UserId);
                 string profileType = "linkedin";
                 ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                 List<Domain.Socioboard.Domain.ScheduledMessage> lstScheduledMessages = objScheduledMessageRepository.GetUnsentSchdeuledMessageByProfileType(profileType);

                 if (lstScheduledMessages == null)
                 {
                     lstScheduledMessages = new List<Domain.Socioboard.Domain.ScheduledMessage>();
                 }

                 return lstScheduledMessages;
             }
             catch (Exception ex)
             {
                 logger.Error(ex.Message);
                 Console.WriteLine(ex.StackTrace);
                 return new List<Domain.Socioboard.Domain.ScheduledMessage> ();
             }
         }
 public IHttpActionResult DeleteUserDetails(string user)
 {
     GroupsRepository _GroupsRepository=new GroupsRepository();
     GroupMembersRepository _GroupMembersRepository = new GroupMembersRepository();
     GroupProfileRepository _GroupProfileRepository = new GroupProfileRepository();
     TaskRepository _TaskRepository = new TaskRepository();
     TaskCommentRepository _TaskCommentRepository = new TaskCommentRepository();
     InboxMessagesRepository _InboxMessagesRepository=new InboxMessagesRepository();
     FacebookAccountRepository _FacebookAccountRepository=new FacebookAccountRepository();
     GoogleAnalyticsAccountRepository _GoogleAnalyticsAccountRepository=new GoogleAnalyticsAccountRepository();
     GooglePlusAccountRepository _GooglePlusAccountRepository=new GooglePlusAccountRepository();
     InstagramAccountRepository _InstagramAccountRepository=new InstagramAccountRepository();
     LinkedInAccountRepository _LinkedInAccountRepository=new LinkedInAccountRepository();
     LinkedinCompanyPageRepository _LinkedinCompanyPageRepository=new LinkedinCompanyPageRepository();
     ScheduledMessageRepository _ScheduledMessageRepository=new ScheduledMessageRepository();
     SocialProfilesRepository _SocialProfilesRepository = new SocialProfilesRepository();
     TwitterAccountRepository _TwitterAccountRepository=new TwitterAccountRepository();
     TumblrAccountRepository _TumblrAccountRepository = new TumblrAccountRepository();
     YoutubeAccountRepository _YoutubeAccountRepository = new YoutubeAccountRepository();
     YoutubeChannelRepository _YoutubeChannelRepository = new YoutubeChannelRepository();
     try
     {
         Domain.Socioboard.Domain.User _User = userrepo.getUserInfoByEmail(user);
         if (_User != null)
         {
             List<Domain.Socioboard.Domain.Groups> lstGroups = _GroupsRepository.getAllGroups(_User.Id);
             foreach (Domain.Socioboard.Domain.Groups item_group in lstGroups)
             {
                 int i = _GroupMembersRepository.DeleteGroupMember(item_group.Id.ToString());
                 int j = _GroupProfileRepository.DeleteAllGroupProfile(item_group.Id);
                 bool rt = _GroupProfileRepository.DeleteGroupReport(item_group.Id);
                 int k = _TaskRepository.DeleteTaskOfGroup(item_group.Id);
             }
             int g = _GroupMembersRepository.DeleteGroupMemberByUserId(user);
             int h = _GroupsRepository.DeleteGroupsByUserid(_User.Id);
             int l = _TaskCommentRepository.DeleteTaskCommentByUserid(_User.Id);
             int m = _InboxMessagesRepository.DeleteInboxMessages(_User.Id);
             int n = _FacebookAccountRepository.DeleteAllFacebookAccount(_User.Id);
             int o = _GoogleAnalyticsAccountRepository.DeleteGoogleAnalyticsAccountByUserid(_User.Id);
             int p = _GooglePlusAccountRepository.DeleteGooglePlusAccountByUserid(_User.Id);
             int q = _InstagramAccountRepository.DeleteInstagramAccountByUserid(_User.Id);
             int r = _LinkedInAccountRepository.DeleteLinkedInAccountByUserid(_User.Id);
             int s = _LinkedinCompanyPageRepository.DeleteLinkedinCompanyPage(_User.Id);
             int t = _ScheduledMessageRepository.DeleteScheduledMessageByUserid(_User.Id);
             int u = _SocialProfilesRepository.DeleteSocialProfileByUserid(_User.Id);
             int v = _TwitterAccountRepository.DeleteTwitterAccountByUserid(_User.Id);
             int w = _TumblrAccountRepository.DeletetumblraccountByUserid(_User.Id);
             int x = _YoutubeAccountRepository.DeleteYoutubeAccount(_User.Id);
             int y = _YoutubeChannelRepository.DeleteYoutubeChannelByUserid(_User.Id);
             int z = userrepo.DeleteUser(_User.Id);
         }
         else {
             return Ok(false);
         }
     }
     catch (Exception ex)
     {
         return BadRequest(ex.StackTrace);
     }
     return Ok(true);
 }