public JsonResult SetFood(FoodDateViewModel model) { Response response; try { var userId = GetAuthenticatedUserId(); var selectedDate = DateUtility.GetDateTime(model.date); using (var db = new KiaGalleryContext()) { var food = db.FoodRegistration.Where(x => x.FoodCensus.Date == selectedDate && x.UserId == model.userId && x.FoodCensusId == model.id).SingleOrDefault(); if (food != null) { food.Food = model.food; food.Date = selectedDate; food.FoodStatus = 0; food.ModifyUserId = userId; food.ModifyDate = DateTime.Now; food.Ip = Request.UserHostAddress; } else { var item = new FoodRegistration() { Food = model.food, UserId = model.userId.Value, FoodCensusId = model.id.Value, Date = DateUtility.GetDateTime(model.date), FoodStatus = 0, CreateUserId = userId, ModifyUserId = userId, CreateDate = DateTime.Now, ModifyDate = DateTime.Now, Ip = Request.UserHostAddress, }; db.FoodRegistration.Add(item); } db.SaveChanges(); } response = new Response() { status = 200, }; } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
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)); }