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.Myfashion.Domain.ScheduledMessage objScheduledMessage = new Domain.Myfashion.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.Myfashion.Domain.ScheduledMessage> lstfianlscoailqueue = new List<Domain.Myfashion.Domain.ScheduledMessage>();
                Domain.Myfashion.Domain.Team objTeam = objTeamRepository.GetTeamByGroupId(groupid);
                List<Domain.Myfashion.Domain.TeamMemberProfile> allprofiles = objTeamMemberProfileRepository.getAllTeamMemberProfilesOfTeam(objTeam.Id);
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                List<Domain.Myfashion.Domain.ScheduledMessage> lstScheduledMessages = new List<Domain.Myfashion.Domain.ScheduledMessage>();
                Dictionary<string, List<Domain.Myfashion.Domain.ScheduledMessage>> objdic = new Dictionary<string, List<Domain.Myfashion.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.Myfashion.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.Myfashion.Domain.ScheduledMessage> lstScheduledMessages = objScheduledMessageRepository.GetUnsentSchdeuledMessageByProfileType(profileType);

                if (lstScheduledMessages == null)
                {
                    lstScheduledMessages = new List<Domain.Myfashion.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.Myfashion.Domain.ScheduledMessage>());
            }

        }
 public string getAllSentMessageDetails(string profileid, string userid)
 {
     try
     {
         ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
         //List<Domain.Myfashion.Domain.ScheduledMessage> lstallScheduledMessage = objScheduledMessageRepository.getAllMessagesDetail(profileid, Guid.Parse(userid));
         List<Domain.Myfashion.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 void UpdateScheduledMessageByMsgId(Guid msgId)
 {
     ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
     objScheduledMessageRepository.UpdateScheduledMessage(msgId);
 }
        public string GetAllMessagesOfUser(string UserId, string profileid)
        {
            try
            {
                Guid userid = Guid.Parse(UserId);
                ScheduledMessageRepository objScheduledMessageRepository = new ScheduledMessageRepository();
                List<Domain.Myfashion.Domain.ScheduledMessage> lstScheduledMessages = new List<Domain.Myfashion.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 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.Myfashion.Domain.ScheduledMessage ScheduledMessages = new Domain.Myfashion.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");
            }

        }