public JsonResult Load(int id) { Response response; try { using (var db = new KiaGalleryContext()) { var item = db.FoodRegistration.Where(x => x.Id == id).SingleOrDefault(); var data = new FoodCensusViewModel() { id = item.Id, foodCensusId = item.FoodCensusId, appertizer = item.Appertizer, typeFood = item.FoodWithoutRice, food = item.Food, date = DateUtility.GetPersianDate(item.Date) }; response = new Response() { status = 200, data = data, }; } } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
public JsonResult Save(FoodCensusViewModel model) { Response response; try { if (model.holiday == null) { response = new Response() { status = 500, message = "لطفا روز تعطیل را انتخاب کنید", }; return(Json(response, JsonRequestBehavior.AllowGet)); } var user = GetAuthenticatedUser(); using (var db = new KiaGalleryContext()) { var date = DateUtility.GetDateTime(model.date); if (model.id > 0 && model.id != null) { var entity = db.FoodCensus.Where(x => x.Id == model.id).SingleOrDefault(); entity.Date = DateUtility.GetDateTime(model.date); entity.FoodName = model.foodName; entity.TypeFood = model.typeFood; entity.Holiday = model.holiday.Value; entity.ModifyUserId = user.Id; entity.ModifyDate = DateTime.Now; entity.Ip = Request.UserHostAddress; } else { var item = new FoodCensus() { Date = DateUtility.GetDateTime(model.date), FoodName = model.foodName, Holiday = model.holiday.Value, TypeFood = model.typeFood, CreateUserId = user.Id, ModifyUserId = user.Id, CreateDate = DateTime.Now, ModifyDate = DateTime.Now, Ip = Request.UserHostAddress, }; db.FoodCensus.Add(item); } db.SaveChanges(); response = new Response() { status = 200, message = "عملیات با موفقیت انجام شد." }; } } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
public JsonResult Load(string date) { Response response; try { var dt = DateUtility.GetDateTime(date); using (var db = new KiaGalleryContext()) { var item = db.FoodCensus.Where(x => x.Date == dt).SingleOrDefault(); var data = new FoodCensusViewModel() { id = item.Id, foodName = item.FoodName, typeFood = item.TypeFood, holiday = item.Holiday, date = DateUtility.GetPersianDate(item.Date) }; response = new Response() { status = 200, data = data, }; } } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
public ActionResult PrintReport(string model) { string persianDayName = string.Empty; FoodCensusViewModel modelData = JsonConvert.DeserializeObject <FoodCensusViewModel>(model); var date = modelData.date; var foreignDate = DateUtility.GetDateTime(date); var foreignDayOfWeek = foreignDate.Value.DayOfWeek; switch (foreignDayOfWeek) { case DayOfWeek.Saturday: persianDayName = "شنبه"; break; case DayOfWeek.Sunday: persianDayName = "یکشنبه"; break; case DayOfWeek.Monday: persianDayName = "دوشنبه"; break; case DayOfWeek.Tuesday: persianDayName = "سه شنبه"; break; case DayOfWeek.Wednesday: persianDayName = "چهارشنبه"; break; case DayOfWeek.Thursday: persianDayName = "پنج شنبه"; break; default: persianDayName = "چنین روزی موجود نیست"; break; } using (var db = new KiaGalleryContext()) { var persianDate = DateUtility.GetDateTime(date); var userList = db.User.Where(x => x.RoleList.Any(y => y.Title == "foodRegistration") && x.Active == true).ToList(); var foodCensus = db.FoodRegistration.Where(x => DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(persianDate)).Select(x => new { userId = x.UserId, x.Appertizer, food = x.Food, x.FoodWithoutRice, }).ToList(); List <StiReport> reports = new List <StiReport>(); List <FoodCensusViewModel> dataPrint = new List <FoodCensusViewModel>(); foreach (var item in userList) { var itemPrint = new FoodCensusViewModel() { userName = item.FullName, appertizer = foodCensus.FirstOrDefault(x => x.userId == item.Id)?.Appertizer ?? false, food = foodCensus.FirstOrDefault(x => x.userId == item.Id)?.food ?? false, foodWithoutRice = foodCensus.FirstOrDefault(x => x.userId == item.Id)?.FoodWithoutRice ?? false, }; dataPrint.Add(itemPrint); } DataSet dataset = new DataSet("DataSource"); DataTable dataTable = new DataTable(); dataTable.Columns.Add("Row"); dataTable.Columns.Add("User"); dataTable.Columns.Add("Appetizer"); dataTable.Columns.Add("FoodStatus"); dataTable.Columns.Add("FoodWithoutRice"); dataTable.Columns.Add("Row2"); dataTable.Columns.Add("User2"); dataTable.Columns.Add("Appetizer2"); dataTable.Columns.Add("FoodStatus2"); dataTable.Columns.Add("FoodWithoutRice2"); var rowNumber = 1; for (int j = 0; j < dataPrint.Count; j = j + 2) { DataRow row = dataTable.NewRow(); row["Row"] = j + 1; row["" + "User"] = dataPrint[j].userName; row["Appetizer"] = dataPrint[j].appertizer; row["FoodStatus"] = dataPrint[j].food; row["FoodWithoutRice"] = dataPrint[j].foodWithoutRice; if (dataPrint.Count > j + 1) { row["Row2"] = j + 2; row["User2"] = dataPrint[j + 1].userName; row["Appetizer2"] = dataPrint[j + 1].appertizer; row["FoodStatus2"] = dataPrint[j + 1].food; row["FoodWithoutRice2"] = dataPrint[j + 1].foodWithoutRice; } rowNumber++; dataTable.Rows.Add(row); } dataset.Tables.Add(dataTable); StiReport report = new StiReport(); report.Load(Server.MapPath("~/Report/FoodCensusReport/FoodCensusReport.mrt")); var currentUser = GetAuthenticatedUser(); var foodName = db.FoodCensus.Where(x => x.Date == persianDate).FirstOrDefault(); var foodCount = db.FoodRegistration.Where(x => x.Date == persianDate && x.Food == true).Count(); var appetizerCount = db.FoodRegistration.Where(x => x.Date == persianDate && x.Appertizer == true).Count(); var foodWithoutRiceCount = db.FoodRegistration.Where(x => x.Date == persianDate && x.FoodWithoutRice == true).Count(); report.Dictionary.Variables["Date"].Value = date.ToPersianNumber(); report.Dictionary.Variables["FoodName"].Value = foodName.FoodName; report.Dictionary.Variables["FoodCount"].Value = foodCount.ToString(); report.Dictionary.Variables["AppetizerCount"].Value = appetizerCount.ToString(); report.Dictionary.Variables["FoodWithoutRiceCount"].Value = foodWithoutRiceCount.ToString(); report.Dictionary.Variables["Day"].Value = persianDayName; report.Dictionary.Databases.Clear(); report.ScriptLanguage = StiReportLanguageType.CSharp; report.RegData("DataSource", dataset.Tables[0].DefaultView); report.Dictionary.Synchronize(); report.Compile(); report.Render(false); MemoryStream stream = new MemoryStream(); StiPdfExportSettings settings = new StiPdfExportSettings(); StiPdfExportService service = new StiPdfExportService(); service.ExportPdf(report, stream, settings); this.Response.Buffer = true; this.Response.ClearContent(); this.Response.ClearHeaders(); this.Response.ContentType = "application/pdf"; this.Response.AddHeader("Content-Disposition", "attachment; filename=\"برگه گزارش ثبت غذا-" + DateUtility.GetPersianDate(DateTime.Now) + ".pdf\""); this.Response.ContentEncoding = Encoding.UTF8; this.Response.AddHeader("Content-Length", stream.Length.ToString()); this.Response.BinaryWrite(stream.ToArray()); this.Response.End(); return(new FileStreamResult(stream, "application/pdf")); } }