Exemple #1
0
        static void Main(string[] args)
        {
            var numbers = new List <string>()
            {
                "09193121247", "09120815107", "09124254257", "09354047788"
            };
            var nextToday   = DateTime.Now.AddDays(2);
            var persianDate = DateUtility.GetPersianDate(nextToday);

            using (var db = new KiaGalleryMainContextEntities())
            {
                var foodName               = db.FoodCensus.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(nextToday)).Select(x => x.FoodName).FirstOrDefault();
                var registerFoodCount      = db.FoodRegistrations.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(nextToday) && x.Food == true).Count();
                var registerAppetizerCount = db.FoodRegistrations.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(nextToday) && x.Appertizer == true).Count();
                var appetizerSettingCount  = int.Parse(db.FoodSettings.SingleOrDefault(x => x.Key == FoodSchedule.Settings.KeyAppetizerCount)?.Value);
                var foodSettingCount       = int.Parse(db.FoodSettings.SingleOrDefault(x => x.Key == FoodSchedule.Settings.KeyFoodCount)?.Value);
                var foodWithoutRice        = db.FoodRegistrations.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(nextToday) && x.FoodWithoutRice == true).Count();
                var foodSum      = registerFoodCount + foodSettingCount;
                var messageFood  = db.FoodCensus.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(nextToday)).Select(x => x.TypeFood).SingleOrDefault();
                var apertizerSum = registerAppetizerCount + appetizerSettingCount;
                if (messageFood == true)
                {
                    NikSmsWebServiceClient.SendSmsNik("اطلاعات غذا به تاریخ " + persianDate + "به شرح زیر است.\n نام غذا:" + foodName + "\n تعداد غذا بدون برنج برای هر نفر: " + foodWithoutRice + "\n تعداد غذا با برنج برای هر نفر:" + foodSum + "\n تعداد سالاد به تعداد نفرات:" + apertizerSum + " \n با تشکر", numbers);
                }
                else
                {
                    NikSmsWebServiceClient.SendSmsNik("اطلاعات غذا به تاریخ " + persianDate + "به شرح زیر است.\n نام غذا:" + foodName + "\n تعداد غذا برای هر نفر:" + foodSum + "\n تعداد سالاد به تعداد نفرات:" + apertizerSum + " \n با تشکر", numbers);
                }
                Console.WriteLine("Connecting To DataBase...");
                Console.WriteLine("Text Messages Sent...");
                Console.WriteLine("Job Done!");
            }
        }
Exemple #2
0
            /// <summary>
            /// متد ارسال پیام برای استفاده در برنامه
            /// </summary>
            /// <param name="text">متن پیام</param>
            /// <param name="number">شماره گیرنده</param>
            /// <returns></returns>
            public static string SendSmsNik(string text, List <string> numbers)
            {
                NikSmsWebServiceClient helper = new NikSmsWebServiceClient();

                var task = helper.SendGroup("blacklist", numbers, text);

                task.Wait();
                var result     = task.Result;
                var messageRes = SendSmsStatusHandling(result.Status);

                return(messageRes);
            }
Exemple #3
0
        public JsonResult Send(SmsOption model)
        {
            Response      response;
            List <string> personelNumber;

            try
            {
                var date = DateUtility.GetDateTime(model.persianDate);

                if (!string.IsNullOrEmpty(model.branchId))
                {
                    using (var db = new KiaGalleryContext())
                    {
                        var        branchIdList = model.branchId.Split();
                        List <int> myInts       = branchIdList.Select(int.Parse).ToList();
                        personelNumber = db.User.Where(y => myInts.Contains(y.BranchId.Value) && y.PhoneNumber != null && y.PhoneNumber != "").Select(y => y.PhoneNumber).ToList();
                    }
                    Task.Factory.StartNew(() =>
                    {
                        NikSmsWebServiceClient.SendSmsNik(model.text, personelNumber);
                    });
                }
                if (model.phoneNumber != null && model.phoneNumber != "" && !model.phoneNumber.Contains('-'))
                {
                    Task.Factory.StartNew(() =>
                    {
                        NikSmsWebServiceClient.SendSmsNik(model.text, model.phoneNumber);
                    });
                }
                if (model.phoneNumber != null && model.phoneNumber != "" && model.phoneNumber.Contains('-'))
                {
                    var numberList = model.phoneNumber.Split('-');
                    var numbers    = new List <string>();
                    numbers.AddRange(numberList);
                    Task.Factory.StartNew(() =>
                    {
                        NikSmsWebServiceClient.SendSmsNik(model.text, numbers);
                    });
                }

                response = new Response()
                {
                    status  = 200,
                    message = "Done",
                };
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Exemple #4
0
        public JsonResult SendSms(SendSmsViewModel model)
        {
            Response response;

            try
            {
                Task.Factory.StartNew(() =>
                {
                    NikSmsWebServiceClient.SendSmsNik(model.text, model.phoneNumber);
                });
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            response = new Response()
            {
                status  = 200,
                message = "Done!"
            };
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        public JsonResult SendMessage(SendMessageViewModel model)
        {
            Response response;

            try
            {
                Task.Factory.StartNew(() =>
                {
                    NikSmsWebServiceClient.SendSmsNik("کیاگالری؛" + "\n" + model.text, model.phoneNumber);
                });
                response = new Response
                {
                    status  = 200,
                    message = "پیام با موفقیت ارسال شد",
                };
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Exemple #6
0
        public JsonResult MakeOrder(MakeOrderUsableProductViewModel model)
        {
            Response response;

            try
            {
                List <UsableProductCart> result;
                List <string>            specification = new List <string>();
                using (var db = new KiaGalleryContext())
                {
                    var    user   = GetAuthenticatedUser();
                    Branch branch = db.Branch.Single(x => x.Id == user.BranchId);
                    var    query  = db.UsableProductCart.Select(x => x);
                    result = query.ToList();
                    if (result.Count > 0)
                    {
                        var order = new OrderUsableProduct()
                        {
                            BranchId                 = GetAuthenticatedUser().BranchId.GetValueOrDefault(),
                            PrintingHouserOrder      = false,
                            OrderUsableProductStatus = OrderUsableProductStatus.Registered,
                            CreateUserId             = GetAuthenticatedUserId(),
                            ModifyUserId             = GetAuthenticatedUserId(),
                            CreateDate               = DateTime.Now,
                            ModifyDate               = DateTime.Now,
                            Ip = Request.UserHostAddress
                        };

                        if (user.BranchType == BranchType.Solicitorship)
                        {
                            order.PrintingHouserOrder = true;
                        }

                        order.OrderUsableProductDetailList = result.Select(x => new OrderUsableProductDetail()
                        {
                            UsableProductId    = x.UsableProductId,
                            OrderUsableProduct = order,
                            Count         = x.Count,
                            Description   = x.Description,
                            Specification = x.Specification,
                            CreateUserId  = user.Id,
                            ModifyUserId  = user.Id,
                            CreateDate    = DateTime.Now,
                            ModifyDate    = DateTime.Now,
                            Ip            = Request.UserHostAddress,
                        }).ToList();
                        db.OrderUsableProduct.Add(order);
                        //for (var i = 0; i < model.id.Count(); i++)
                        //{
                        //    order.OrderUsableProductDetailList[i].Specification = model.specification[i];
                        //}
                        db.UsableProductCart.RemoveRange(result);
                        db.SaveChanges();

                        var persianDate  = DateUtility.GetPersianDate(order.CreateDate);
                        var mobileNumber = order.Branch.PersonList.Where(x => x.Supervisor == true).Select(x => x.MobileNumber).FirstOrDefault();
                        var alias        = order.Branch.Alias;
                        if (!User.IsInRole("admin"))
                        {
                            Task.Factory.StartNew(() =>
                            {
                                NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + " تعداد : " + order.OrderUsableProductDetailList.Sum(x => x.Count) + "عدد محصول به شماره سفارش" + "\n" + "SPLY-" + alias + "-" + order.Id + "\n" + " درتاریخ " + persianDate + "جهت تامین به دفتر مرکزی ارسال شد.", mobileNumber);
                                //NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + " تعداد :" + order.OrderUsableProductDetailList.Sum(x => x.Count) + "" + " به شماره سفارش SPLY- " + alias + "محصول به" + order.Id + " درتاریخ " + persianDate + "جهت تامین به دفتر مرکزی ارسال شد.", mobileNumber);
                            });
                        }
                        else
                        {
                            Task.Factory.StartNew(() =>
                            {
                                NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + " تعداد : " + order.OrderUsableProductDetailList.Sum(x => x.Count) + "عدد محصول به شماره سفارش" + "\n" + "SPLY-" + alias + "-" + order.Id + "\n" + " درتاریخ " + persianDate + "جهت تامین به دفتر مرکزی ارسال شد.", "09193121247");
                                //NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + "سفارش شما به شماره سفارش KIA-" + order.Id + " درتاریخ " + persianDate + " به تعداد :" + order.OrderUsableProductDetailList.Sum(x => x.Count) + " ثبت شد ", "09193121247");
                            });
                        }
                        response = new Response()
                        {
                            status = 200,
                            data   = new
                            {
                                id = order.Id
                            }
                        };
                    }
                    else
                    {
                        response = new Response()
                        {
                            status  = 500,
                            message = "محصولی جهت ساخت سفارش یافت نشد."
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Exemple #7
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        //public ActionResult Message(int? id)
        //{
        //    using (var db = new KiaGalleryContext())
        //    {
        //        ViewBag.UserList = db.User.Where(x => x.Branch.BranchType == BranchType.Branch || x.Branch.BranchType == BranchType.Other).ToList();

        //    }
        //    ViewBag.Id = id;
        //    return View();
        //}
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        //public ActionResult List()
        //{

        //    return View();
        //}
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public JsonResult Save(TicketViewModel model)
        {
            Response response;

            var currentUser = GetAuthenticatedUser();

            try
            {
                if (model.toUserId == currentUser.Id)
                {
                    response = new Response()
                    {
                        status  = 500,
                        message = "شما نمیتوانید به این کاربر پیام بدهید;"
                    };
                    return(Json(response, JsonRequestBehavior.AllowGet));
                }
                using (var db = new KiaGalleryContext())
                {
                    if (model.id != null && model.id > 0)
                    {
                        var entity = db.TicketMessage.Where(x => x.Id == model.id).Single();
                        entity.Text         = model.text;
                        entity.ModifyUserId = currentUser.Id;
                        entity.ModifyDate   = DateTime.Now;
                        entity.Ip           = Request.UserHostAddress;
                        db.SaveChanges();
                        response = new Response()
                        {
                            status = 200,
                        };
                    }
                    else
                    {
                        if (model.ticketId != null && model.ticketId > 0)
                        {
                            var ticket = db.Ticket.Single(x => x.Id == model.ticketId);
                            if (currentUser.Id == ticket.ToUserId)
                            {
                                ticket.TicketStatus = TicketStatus.Opened;
                            }
                            var ticketMessage = new TicketMessage()
                            {
                                TicketId     = model.ticketId.Value,
                                FileName     = model.fileName,
                                Text         = model.text,
                                CreateUserId = currentUser.Id,
                                ModifyUserId = currentUser.Id,
                                CreateDate   = DateTime.Now,
                                ModifyDate   = DateTime.Now,
                            };
                            var notification = new Notification()
                            {
                                Seen         = false,
                                TicketId     = model.ticketId.Value,
                                UserId       = ticket.ToUserId.Value,
                                CreateUserId = currentUser.Id,
                                CreateDate   = DateTime.Now,
                            };
                            //Task.Factory.StartNew(() =>
                            //{
                            //    NikSmsWebServiceClient.SendSmsNik("همکار گرامی شما یک تیکت جدید دارید لطفا جهت پاسخ،به پورتال کیا گالری مراجعه  فرمایید." + "\n" + model.title, ticket.ToUser.PhoneNumber);
                            //});
                            db.Notification.Add(notification);
                            db.TicketMessage.Add(ticketMessage);
                            db.SaveChanges();
                            response = new Response()
                            {
                                status = 200,
                                data   = ticketMessage.TicketId
                            };
                        }
                        else
                        {
                            var ticketItem = new Ticket()
                            {
                                Title        = model.title,
                                FromUserId   = currentUser.Id,
                                DepartmentId = model.departmentId,
                                ToUserId     = model.toUserId,
                                TicketStatus = TicketStatus.New,
                                CreateUserId = currentUser.Id,
                                ModifyUserId = currentUser.Id,
                                CreateDate   = DateTime.Now,
                                ModifyDate   = DateTime.Now,
                            };
                            var ticketMessage = new TicketMessage()
                            {
                                Ticket       = ticketItem,
                                Text         = model.text,
                                FileName     = model.fileName,
                                CreateUserId = currentUser.Id,
                                ModifyUserId = currentUser.Id,
                                CreateDate   = DateTime.Now,
                                ModifyDate   = DateTime.Now,
                            };
                            var notification = new Notification()
                            {
                                Seen         = false,
                                Ticket       = ticketItem,
                                UserId       = ticketItem.ToUserId.Value,
                                CreateUserId = currentUser.Id,
                                CreateDate   = DateTime.Now,
                            };

                            db.Notification.Add(notification);
                            db.Ticket.Add(ticketItem);
                            db.TicketMessage.Add(ticketMessage);
                            db.SaveChanges();
                            var ToUserPhoneNumber = db.User.Single(x => x.Id == model.toUserId).PhoneNumber;
                            Task.Factory.StartNew(() =>
                            {
                                NikSmsWebServiceClient.SendSmsNik("همکار گرامی شما یک تیکت جدید دارید لطفا جهت پاسخ،به پورتال کیا گالری مراجعه  فرمایید." + "\n" + model.title, ToUserPhoneNumber);
                            });

                            response = new Response()
                            {
                                status  = 200,
                                message = "تیکت شما با موفقیت ارسال شد."
                            };
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Exemple #8
0
        static void Main(string[] args)
        {
            var nowHour         = DateTime.Now.Hour;
            var excellReminder1 = 10;
            var excellReminder2 = 16;
            var postSmsReminder = 21;
            var numbers         = new List <string>()
            {
                "09354047788", "09124254257", "09122196672", "09128639319", "09122010861", "09126046937", "09124598925", "09126904936", "09361604970"
            };

            //if (nowHour == postSmsReminder)
            //{
            //    Console.WriteLine("Time Is Correct");
            //    NikSmsWebServiceClient.SendSmsNik("لطفا کدهای رهگیری مرسولات پستی گالری کیا را به شماره 09903160575 ارسال بفرمایید. باتشکر", "09122400802");
            //}
            //if (nowHour == excellReminder1)
            //{
            //    Console.WriteLine("Time Is Correct");
            //    NikSmsWebServiceClient.SendSmsNik("همکار گرامی لطفا فایل اکسل موجودی شعبه را در پورتال وارد نماید.", numbers);
            //}

            //if (nowHour == excellReminder2)
            //{
            //    Console.WriteLine("Time Is Correct");
            //    NikSmsWebServiceClient.SendSmsNik("همکار گرامی لطفا فایل اکسل موجودی شعبه را در پورتال وارد نماید.", numbers);
            //}

            using (var db = new KiaGalleryMainEntities())
            {
                var todayDate        = DateTime.Now.Date;
                var yesterday        = DateTime.Now.AddDays(-1);
                var DayOfWeek        = DateTime.Today.DayOfWeek;
                var DayOfMonth       = DateUtility.GetPersianDay(DateTime.Now);
                var todayTime        = DateTime.Now.TimeOfDay;
                var currentHour      = DateTime.Now.Hour;
                var timeOfDayMinutes = (int)todayTime.TotalMinutes;
                var ticks            = DateTime.Now.Ticks;
                var list             = db.Sms.Where(x => x.TimeTotalMinutes == timeOfDayMinutes && x.CreateDate > yesterday).Select(x => new
                {
                    id                = x.Id,
                    time              = x.Time,
                    sendingDate       = x.SendingDate,
                    timeTotalMinutes  = x.TimeTotalMinutes,
                    text              = x.Text,
                    destinationNumber = x.DestinationNumber,
                    userId            = x.UserId,
                    branchId          = x.BranchId,
                    sent              = x.Sent,
                    sendingTimeMethod = x.SendingTimeMethod,
                    dayOfWeek         = x.DayOfWeek,
                    dayOfMonth        = x.DayOfMonth,
                }).ToList();

                if (list.Count > 0 && list != null)
                {
                    foreach (var item in list)
                    {
                        var entity = db.Sms.Where(x => x.Id == item.id).Single();
                        if (item.sendingTimeMethod == 0)
                        {
                            if (!string.IsNullOrEmpty(item.branchId))
                            {
                                var        branchId       = item.branchId.Split('-');
                                List <int> branchIdList   = branchId.Select(int.Parse).ToList();
                                var        personelNumber = db.UserProfile.Where(y => branchIdList.Contains(y.BranchId.Value) && y.PhoneNumber != null && y.PhoneNumber != "").Select(y => y.PhoneNumber).ToList();
                                NikSmsWebServiceClient.SendSmsNik(item.text, personelNumber);
                                entity.Sent = true;
                                db.SaveChanges();
                            }
                            if (!string.IsNullOrEmpty(item.userId))
                            {
                                var        userId         = item.userId.Split('-');
                                List <int> userIdList     = userId.Select(int.Parse).ToList();
                                var        personelNumber = db.UserProfile.Where(y => userIdList.Contains(y.Id) && y.PhoneNumber != null && y.PhoneNumber != "").Select(y => y.PhoneNumber).ToList();
                                NikSmsWebServiceClient.SendSmsNik(item.text, personelNumber);
                                entity.Sent = true;
                                db.SaveChanges();
                            }
                            if (item.destinationNumber != null && item.destinationNumber != "" && !item.destinationNumber.Contains('-'))
                            {
                                NikSmsWebServiceClient.SendSmsNik(item.text, item.destinationNumber);
                                entity.Sent = true;
                                db.SaveChanges();
                            }
                            if (item.destinationNumber != null && item.destinationNumber != "" && item.destinationNumber.Contains('-'))
                            {
                                Console.WriteLine(string.Format("Sending DaGgte is {0} SendingTime Is {1}", item.sendingDate.Date, item.time));
                                var numberList         = item.destinationNumber.Split('-');
                                var destinationNumbers = new List <string>();
                                destinationNumbers.AddRange(numberList);
                                NikSmsWebServiceClient.SendSmsNik(item.text, destinationNumbers);
                                Console.WriteLine("Message Sent");
                                entity.Sent = true;
                                db.SaveChanges();
                            }
                        }
                        if (item.sendingTimeMethod == 1 && DayOfWeek.ToString() == item.dayOfWeek)
                        {
                            if (!string.IsNullOrEmpty(item.branchId))
                            {
                                var        branchId       = item.branchId.Split('-');
                                List <int> branchIdList   = branchId.Select(int.Parse).ToList();
                                var        personelNumber = db.UserProfile.Where(y => branchIdList.Contains(y.BranchId.Value) && y.PhoneNumber != null && y.PhoneNumber != "").Select(y => y.PhoneNumber).ToList();
                                NikSmsWebServiceClient.SendSmsNik(item.text, personelNumber);
                            }
                            if (!string.IsNullOrEmpty(item.userId))
                            {
                                var        userId         = item.userId.Split('-');
                                List <int> userIdList     = userId.Select(int.Parse).ToList();
                                var        personelNumber = db.UserProfile.Where(y => userIdList.Contains(y.Id) && y.PhoneNumber != null && y.PhoneNumber != "").Select(y => y.PhoneNumber).ToList();
                                NikSmsWebServiceClient.SendSmsNik(item.text, personelNumber);
                            }
                            if (item.destinationNumber != null && item.destinationNumber != "" && !item.destinationNumber.Contains('-'))
                            {
                                NikSmsWebServiceClient.SendSmsNik(item.text, item.destinationNumber);
                            }
                            if (item.destinationNumber != null && item.destinationNumber != "" && item.destinationNumber.Contains('-'))
                            {
                                Console.WriteLine(string.Format("Sending DaGgte is {0} SendingTime Is {1}", item.sendingDate.Date, item.time));
                                var numberList         = item.destinationNumber.Split('-');
                                var destinationNumbers = new List <string>();
                                destinationNumbers.AddRange(numberList);
                                NikSmsWebServiceClient.SendSmsNik(item.text, destinationNumbers);
                                Console.WriteLine("Message Sent");
                            }
                            entity.Sent = true;
                            db.SaveChanges();
                        }

                        if (item.sendingTimeMethod == 2 && item.dayOfMonth == DayOfMonth)
                        {
                            var newSms = new Sms()
                            {
                                Text              = item.text,
                                DayOfMonth        = item.dayOfMonth,
                                DayOfWeek         = item.dayOfWeek,
                                SendingTimeMethod = item.sendingTimeMethod,
                                Sent              = false,
                                DestinationNumber = item.destinationNumber,
                                UserId            = item.userId,
                                BranchId          = item.branchId,
                                SendingDate       = DateTime.Now,
                                TimeTotalMinutes  = (int)TimeSpan.Parse(item.time).TotalMinutes,
                                Time              = item.time,
                                CreateUserId      = 1,
                                ModifyUserId      = 1,
                            };
                            if (!string.IsNullOrEmpty(item.branchId))
                            {
                                var        branchId       = item.branchId.Split('-');
                                List <int> branchIdList   = branchId.Select(int.Parse).ToList();
                                var        personelNumber = db.UserProfile.Where(y => branchIdList.Contains(y.BranchId.Value) && y.PhoneNumber != null && y.PhoneNumber != "").Select(y => y.PhoneNumber).ToList();
                                NikSmsWebServiceClient.SendSmsNik(item.text, personelNumber);
                            }
                            if (!string.IsNullOrEmpty(item.userId))
                            {
                                var        userId         = item.userId.Split('-');
                                List <int> userIdList     = userId.Select(int.Parse).ToList();
                                var        personelNumber = db.UserProfile.Where(y => userIdList.Contains(y.Id) && y.PhoneNumber != null && y.PhoneNumber != "").Select(y => y.PhoneNumber).ToList();
                                NikSmsWebServiceClient.SendSmsNik(item.text, personelNumber);
                            }
                            if (item.destinationNumber != null && item.destinationNumber != "" && !item.destinationNumber.Contains('-'))
                            {
                                NikSmsWebServiceClient.SendSmsNik(item.text, item.destinationNumber);
                            }
                            if (item.destinationNumber != null && item.destinationNumber != "" && item.destinationNumber.Contains('-'))
                            {
                                Console.WriteLine(string.Format("Sending DaGgte is {0} SendingTime Is {1}", item.sendingDate.Date, item.time));
                                var numberList         = item.destinationNumber.Split('-');
                                var destinationNumbers = new List <string>();
                                destinationNumbers.AddRange(numberList);
                                NikSmsWebServiceClient.SendSmsNik(item.text, destinationNumbers);
                                Console.WriteLine("Message Sent");
                            }
                            entity.Sent = true;
                            db.Sms.Add(newSms);
                            db.SaveChanges();
                        }
                        if (item.sendingTimeMethod == 3 && todayDate == item.sendingDate)
                        {
                            if (!string.IsNullOrEmpty(item.branchId))
                            {
                                var        branchId       = item.branchId.Split('-');
                                List <int> branchIdList   = branchId.Select(int.Parse).ToList();
                                var        personelNumber = db.UserProfile.Where(y => branchIdList.Contains(y.BranchId.Value) && y.PhoneNumber != null && y.PhoneNumber != "").Select(y => y.PhoneNumber).ToList();
                                NikSmsWebServiceClient.SendSmsNik(item.text, personelNumber);
                            }
                            if (!string.IsNullOrEmpty(item.userId))
                            {
                                var        userId         = item.userId.Split('-');
                                List <int> userIdList     = userId.Select(int.Parse).ToList();
                                var        personelNumber = db.UserProfile.Where(y => userIdList.Contains(y.Id) && y.PhoneNumber != null && y.PhoneNumber != "").Select(y => y.PhoneNumber).ToList();
                                NikSmsWebServiceClient.SendSmsNik(item.text, personelNumber);
                            }
                            if (item.destinationNumber != null && item.destinationNumber != "" && !item.destinationNumber.Contains('-'))
                            {
                                NikSmsWebServiceClient.SendSmsNik(item.text, item.destinationNumber);
                            }
                            if (item.destinationNumber != null && item.destinationNumber != "" && item.destinationNumber.Contains('-'))
                            {
                                Console.WriteLine(string.Format("Sending DaGgte is {0} SendingTime Is {1}", item.sendingDate.Date, item.time));
                                var numberList         = item.destinationNumber.Split('-');
                                var destinationNumbers = new List <string>();
                                destinationNumbers.AddRange(numberList);
                                NikSmsWebServiceClient.SendSmsNik(item.text, destinationNumbers);
                                Console.WriteLine("Message Sent");
                            }
                            entity.Sent = true;
                            db.SaveChanges();
                        }
                    }
                    Console.WriteLine("Task Complete");
                }
                else
                {
                    Console.WriteLine("No Data");
                }
            }
        }
        public JsonResult SendingSms(FoodDateViewModel model)
        {
            Response response;

            try
            {
                var userId      = GetAuthenticatedUserId();
                var date        = DateUtility.GetDateTime(model.date);
                var nextToday   = DateTime.Now.AddDays(3);
                var persianDate = DateUtility.GetPersianDate(date);

                using (var db = new KiaGalleryContext())
                {
                    var food = db.FoodRegistration.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(date)).ToList();

                    var foodName               = db.FoodCensus.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(date)).Select(x => x.FoodName).FirstOrDefault();
                    var foodWithoutRice        = db.FoodRegistration.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(date) && x.FoodWithoutRice == true).Count();
                    var registerFoodCount      = db.FoodRegistration.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(date) && x.Food == true).Count();
                    var foodSettingCount       = int.Parse(db.FoodSetting.SingleOrDefault(x => x.Key == FoodSetting.KeyFoodCount)?.Value);
                    var foodSum                = registerFoodCount + foodSettingCount;
                    var registerAppetizerCount = db.FoodRegistration.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(date) && x.Appertizer == true).Count();
                    var appetizerSettingCount  = int.Parse(db.FoodSetting.SingleOrDefault(x => x.Key == FoodSetting.KeyAppetizerCount)?.Value);
                    var apertizerSum           = registerAppetizerCount + appetizerSettingCount;
                    var messageFood            = db.FoodCensus.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(date)).Select(x => x.TypeFood).SingleOrDefault();


                    if (date > DateTime.Now && date <= nextToday)
                    {
                        var numbers = new List <string>()
                        {
                            "09193121247", "09120815107", "09124254257"
                        };
                        if (messageFood == true)
                        {
                            Task.Factory.StartNew(() =>
                            {
                                NikSmsWebServiceClient.SendSmsNik("اصلاحیه غذا؛ \n اطلاعات غذا به تاریخ " + persianDate + "به شرح ذیل تغییر یافت.\n نام غذا:" + foodName + "\n تعداد غذا بدون برنج برای هر نفر: " + foodWithoutRice + "\n تعداد غذا با برنج برای هر نفر: " + foodSum + "\n تعداد سالاد به تعداد نفرات: " + apertizerSum + " \n با تشکر", numbers);
                            });
                        }
                        else
                        {
                            Task.Factory.StartNew(() =>
                            {
                                NikSmsWebServiceClient.SendSmsNik("اصلاحیه غذا؛ \n اطلاعات غذا به تاریخ " + persianDate + "به شرح ذیل تغییر یافت.\n نام غذا:" + foodName + "\n تعداد غذا برای هر نفر: " + foodSum + "\n تعداد سالاد به تعداد نفرات: " + apertizerSum + " \n با تشکر", numbers);
                            });
                        }
                    }
                    else
                    {
                        response = new Response()
                        {
                            status  = 200,
                            message = "عملیات با موفقیت  انجام شد و پیامک در روز موعد ارسال خواهد شد."
                        };
                        return(Json(response, JsonRequestBehavior.AllowGet));
                    }
                }
                response = new Response()
                {
                    status  = 200,
                    message = "عملیات با موفقیت انجام شد و پیام ارسال گردید."
                };
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }