public JsonResult SentSmsMultipleClient(string[] clientsId, string templateId, bool isSend, SmsSenderType smsSenderType)
        {
            var clients = GetClientsToSendSms(smsSenderType, clientsId);

            if (string.IsNullOrEmpty(templateId)) return Json(false, JsonRequestBehavior.AllowGet);
            // sent standard sms
            _smsSender = new DefaultSmsSender();
            _smsSender.SendSms(isSend, clients, new Guid(templateId), string.Empty);

            return Json(true, JsonRequestBehavior.AllowGet);
        }
        private List<Client> GetClientsToSendSms(SmsSenderType smsSenderType, string[] clientsId)
        {
            var clients = new List<Client>();

            switch (smsSenderType)
            {
                case SmsSenderType.AllClientsSms:
                    {
                        clients.AddRange(_unitOfWork.ClientRepository.GetAll().ToList());
                        break;
                    }
                case SmsSenderType.SmsWhereDreamsEqual_0:
                    {
                        clients.AddRange(_unitOfWork.ClientRepository.FindBy(t => t.Dreams == 0).ToList());
                        break;
                    }
                case SmsSenderType.SmsWhereDreamsOver_0:
                    {
                        clients.AddRange(_unitOfWork.ClientRepository.FindBy(t => t.Dreams > 0).ToList());
                        break;
                    }
                default:
                {
                    clients.AddRange(clientsId.Where(clientId => !string.IsNullOrEmpty(clientId)).Select(clientId => _unitOfWork.ClientRepository.FindBy(t => t.Id == new Guid(clientId)).FirstOrDefault()).Where(baseClient => baseClient != null));
                    break;
                }
            }
            return clients;
        }
        public JsonResult SendCustomSMSMultipleClient(string[] clientsId, string smsText, bool isSend, SmsSenderType smsSenderType)
        {
            var clients = GetClientsToSendSms(smsSenderType, clientsId);

            // sent custom sms selected clients
            _smsSender = new CustomSmsSender();
            _smsSender.SendSms(isSend, clients, new Guid(), smsText);

            return Json(true, JsonRequestBehavior.AllowGet);
        }