public async Task <IHttpActionResult> SendEmailUpdateMenu([FromBody] MenuUpdateMessageDto messageDto) { if (messageDto == null) { return(BadRequest()); } MessageService.SendUpdateDayMenuMessage(_unitOfWork.RepositoryAsync <WeekOrderMenu>(), messageDto); return(Ok(true)); }
public static void SendUpdateDayMenuMessage(IRepositoryAsync <WeekOrderMenu> repo, MenuUpdateMessageDto mesdto) { int[] dayids = mesdto.UpdatedDayMenu.Select(upd => upd.DayMenuId).Distinct().ToArray(); foreach (int id in dayids) { StringBuilder strbild = new StringBuilder(); List <User> bookingUsers = repo.GetUsersMadeOrder(id); strbild.AppendLine("<table class='table-responsive table-striped'>"); //strbild.AppendLine("<thead><tr><th><th><th>Старое блюдо</th><th>Новое блюдо</th></tr></thead>"); strbild.AppendLine("<tbody>"); foreach (var mdch in mesdto.UpdatedDayMenu.Where(dm => dm.DayMenuId == id).ToList()) { Dish olddish = repo.GetRepositoryAsync <Dish>().Find(mdch.OldDishId); Dish newdish = repo.GetRepositoryAsync <Dish>().Find(mdch.NewDishId); strbild.AppendLine("<tr>"); strbild.AppendFormat("<td>{0}</td><td>{1}</td><td>{2}</td>", mdch.Category, olddish.Title, newdish.Title); strbild.AppendLine("</tr>"); } strbild.AppendLine("</tbody>"); strbild.AppendLine("</table>"); List <User> userBooking = repo.GetUsersMadeOrder(id); SendEmailAsync(userBooking, MessageTopic.MenuChanged, mesdto.DateTime, strbild.ToString()); } }