public async Task <IActionResult> Edit(int id, [Bind("Id,MealName,MealTypeId,Price,DiscountId,ImageName")] MealMenu mealMenu) { if (id != mealMenu.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(mealMenu); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MealMenuExists(mealMenu.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["DiscountId"] = new SelectList(_context.Discounts, "Id", "Description", mealMenu.DiscountId); ViewData["MealTypeId"] = new SelectList(_context.MealTypes, "Id", "Name", mealMenu.MealTypeId); return(View(mealMenu)); }
private Attachment CreateAttachmentAsync(IDialogContext context, MealMenu menu) { var imageBytes = MenuFactory.MakeImage(context.Activity.Conversation.Id, menu); var image64 = "data:image/jpeg;base64," + Convert.ToBase64String(imageBytes); return(new Attachment { ContentUrl = image64, ContentType = "image/jpeg", Name = Util.GetStringOfDate(menu.Date.Date) }); }
public async Task <IActionResult> Create([Bind("Id,MealName,MealTypeId,Price,DiscountId,ImageName")] MealMenu mealMenu) { if (ModelState.IsValid) { _context.Add(mealMenu); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["DiscountId"] = new SelectList(_context.Discounts, "Id", "Description", mealMenu.DiscountId); ViewData["MealTypeId"] = new SelectList(_context.MealTypes, "Id", "Name", mealMenu.MealTypeId); return(View(mealMenu)); }
public JsonResult SaveMenu() { var data = Request.GetArrayList("data"); var mealMenuDal = flexibleContext.GetService <MealMenuDal>(); for (int i = 0, l = data.Count; i < l; i++) { Hashtable o = (Hashtable)data[i]; String id = o["id"] != null ? o["id"].ToString() : ""; //根据记录状态,进行不同的增加、删除、修改操作 String state = o["_state"] != null ? o["_state"].ToString() : ""; String saleName = o["SaleName"].ToString(); decimal salePrice = Convert.ToDecimal(o["SalePrice"]); long categoryID = Convert.ToInt64(o["CategoryID"].ToString()); String mealMenuID = o["MealMenuID"] != null ? o["MealMenuID"].ToString() : ""; decimal sortNo = Convert.ToDecimal(o["SortNo"]); if (state == "added" || mealMenuID == "") //新增:id为空,或_state为added { MealMenu model = new MealMenu(); model.CategoryID = categoryID; model.CreateBy = flexibleContext.CurrentUser.UserName; model.CreateTime = DateTime.Now; model.SaleName = saleName; model.SalePrice = salePrice; model.SortNo = sortNo; mealMenuDal.InsertReturnLastId(model, x => x.MealMenuID); } else if (state == "removed" || state == "deleted") { mealMenuDal.Delete(mealMenuID); } else if (state == "modified" || state == "") //更新:_state为空或modified { var model = mealMenuDal.GetModel(mealMenuID); model.SaleName = saleName; model.SalePrice = salePrice; model.SortNo = sortNo; model.UpdateBy = flexibleContext.CurrentUser.UserName; model.UpdateTime = DateTime.Now; mealMenuDal.Update(model, x => x.MealMenuID); } //if (i == 2) throw new Exception("aaa"); } var result = new { }; return(Json(result)); }
public MealMenuView Update(MealMenuView view) { var dtNow = DateTime.Now; MealMenu model; MealMenu duplicatedMealMenu = null; if (view.Id > 0) { model = Repository.GetById <MealMenu>(view.Id); } else { duplicatedMealMenu = (from mealMenu in Repository.Query <MealMenu>() where mealMenu.MealType == view.MealType.Id && mealMenu.ValidDate == view.ValidDate.Date && mealMenu.Menu.Id == view.Menu.Id && mealMenu.RecordStatus == (long)RecordStatuses.Active select mealMenu).FirstOrDefault(); if (duplicatedMealMenu == null) { model = new MealMenu { Menu = Repository.GetById <Menu>(view.Menu.Id), ModifiedAt = dtNow, ModifiedReason = view.ModifiedReason, ModifiedBy = view.ModifiedBy, ModifiedByFullName = view.ModifiedByFullName, RecordStatus = (long)RecordStatuses.Active }; } else { model = duplicatedMealMenu; } } if (duplicatedMealMenu == null) { model.MealType = (int)view.MealType.Id; model.ValidDate = view.ValidDate.Date; if (model.Id == 0) { model.CreatedAt = dtNow; model.CreatedBy = view.ModifiedBy; model.CreatedByFullName = view.ModifiedByFullName; } Repository.Update(model); } return(model.ToView <MealMenuView>()); }
private List <Attachment> GetTodaysSchoolMealMenuAsync(IDialogContext context, List <MealMenu> menus) { var todaysDate = DateTime.Now; MealMenu todayMenu = null; if (menus.Exists(x => x.Date.Date == todaysDate.Date)) { todayMenu = menus.Find(x => x.Date.Date == todaysDate.Date); } return(todayMenu != null?CreateAttachmentsAsync(context, new List <MealMenu> { todayMenu }) : null); }
public static byte[] MakeImage(string userId, MealMenu menu) { List <string> menuStrings = Regex.Split(MenuToString(menu), "\r\n|\r|\n").ToList(); var width = 0; var defaultWidth = 500; foreach (var str in menuStrings) { if (str.Length > width) { width = str.Length; } } width += 40; if (width < defaultWidth) { width = defaultWidth; } var height = menuStrings.Count * 24; Bitmap bitmap = new Bitmap(width, height); //load the image file using (Graphics graphics = Graphics.FromImage(bitmap)) { graphics.FillRectangle(Brushes.GhostWhite, 0, 0, width, height); using (Font writeFont = new Font("Malgun Gothic", 12)) { float yPoint = 10f; foreach (var str in menuStrings) { graphics.DrawString(str, writeFont, Brushes.Black, new PointF(15f, yPoint)); yPoint += 20f; } } } var imageArray = (byte[])new ImageConverter().ConvertTo(bitmap, typeof(byte[])); return(imageArray); }
private static string MenuToString(MealMenu menu) { var resultMenu = new StringBuilder(); if (menu.IsExistMenu) { resultMenu.AppendLine(Util.GetStringOfDate(menu.Date.Date)); resultMenu.AppendLine("============="); resultMenu.AppendLine(); if (menu.Breakfast != null) { resultMenu.AppendLine("[아침]"); foreach (var breakfastMenu in menu.Breakfast) { resultMenu.AppendLine(breakfastMenu); } } if (menu.Lunch != null) { resultMenu.AppendLine(); resultMenu.AppendLine("[점심]"); foreach (var lunchMenu in menu.Lunch) { resultMenu.AppendLine(lunchMenu); } } if (menu.Dinner != null) { resultMenu.AppendLine(); resultMenu.AppendLine("[저녁]"); foreach (var dinnerMenu in menu.Dinner) { resultMenu.AppendLine(dinnerMenu); } } } return(resultMenu.ToString()); }
public static void SetTo(this MealMenuListItemView view, MealMenu model) { Mapper.Map(view, model); }
public static T ToView <T>(this MealMenu model) { return(Mapper.Map <T>(model)); }