public JsonResult Put(int id, [FromBody] OrdersViewModel model) { if (!ModelState.IsValid) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return Json(new { message = Validation.getValidationErrors(model) }); } if (model.Items == null || model.Items.Count() == 0) { return Json(new { message = "Список товаров не может быть пустыми" }); } IEnumerable<int> validItems = ItemsService.getValidItemsList(dapperService, model.Items).Select(x => x.Id); if (validItems == null || validItems.Count() == 0) { return Json(new { message = "Следующие товары не существует в базе", model.Items }); } List<int> inValidItems = new List<int>(); foreach (var i in model.Items) { if (!validItems.Contains(i)) { inValidItems.Add(i); } } if (inValidItems != null && inValidItems.Count() > 0) { return Json(new { message = "Следующие товары не существует в базе", Items = inValidItems }); } if (!RegionsService.checkForExists(dapperService, model.RegionId)) { return Json(new { message = $"RegionId={model.RegionId} не существует в базе" }); } OrdersModel item = new OrdersModel() { Id = id, RegionId = model.RegionId, ItemsIds = model.Items }; bool isSaved = ordersService.Update(item, id); return Json(new { message = isSaved ? "Сохранено" : "Не cохранено" }); }
public JsonResult Post([FromBody] OrdersViewModel model) { if (!ModelState.IsValid) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return Json(new { message = Validation.getValidationErrors(model) }); } if (model.Items == null || model.Items.Count() == 0) { return Json(new { message = "Список товаров не может быть пустыми" }); } if (!Int32.TryParse(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value, out int id)) { return Json(new { message = "Пользователь не существует" }); } IEnumerable<int> validItems = ItemsService.getValidItemsList(dapperService, model.Items).Select(x => x.Id); if (validItems == null || validItems.Count() == 0) { return Json(new { message = "Следующие товары не существует в базе", model.Items }); } List<int> inValidItems = new List<int>(); foreach(var i in model.Items) { if(!validItems.Contains(i)){ inValidItems.Add(i); } } if(inValidItems != null && inValidItems.Count() > 0) { return Json(new { message = "Следующие товары не существует в базе" , Items = inValidItems }); } if (!RegionsService.checkForExists(dapperService, model.RegionId)) { return Json(new { message = $"RegionId={model.RegionId} не существует в базе"}); } OrdersModel items = new OrdersModel(model){ UserId = id }; bool isSaved = ordersService.Save(items); return Json(new { message = isSaved ? "Сохранено" : "Не cохранено" }); }
public IActionResult GetResult(int id) { if (!RegionsService.checkForExists(dapperService, id)) { return(Content($"RegionId = {id} не существует в базе")); } IEnumerable <OrdersModel> orders = OrdersService.GetOrdersByRegionId(dapperService, id); using (var workbook = new XLWorkbook()) { var worksheet = workbook.Worksheets.Add("Orders"); var currentRow = 1; worksheet.Cell(currentRow, 1).Value = "Id"; worksheet.Cell(currentRow, 2).Value = "Сумма"; worksheet.Cell(currentRow, 3).Value = "Клиент"; worksheet.Cell(currentRow, 4).Value = "Дата создание"; worksheet.Cell(currentRow, 5).Value = "Регион"; foreach (var order in orders) { currentRow++; worksheet.Cell(currentRow, 1).Value = order.Id; worksheet.Cell(currentRow, 2).Value = order.User.FullName; worksheet.Cell(currentRow, 3).Value = order.Sum; worksheet.Cell(currentRow, 4).Value = order.CreatedTime; worksheet.Cell(currentRow, 5).Value = order.Region.Name.Trim(); } using (var stream = new MemoryStream()) { workbook.SaveAs(stream); var content = stream.ToArray(); return(File( content, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "ЗаказыПоРегиону.xlsx")); } } }