public async Task <ApiResultDTO <CustomerBasketDTO> > AddItemToBasket(BasketItemDTO basketItemDTO) { var saveItem = new ApiResultDTO <CustomerBasketDTO> { Result = new CustomerBasketDTO() }; #region stock control var isProductStockExist = _basketService.CheckProductStock(new CheckProductStockDTO { ProductId = basketItemDTO.ProductId, Quantity = basketItemDTO.Quantity }); if (!isProductStockExist) { //If product is not enough or not exist saveItem.ResultType = DTO.ResultType.NotFound; saveItem.Message = "Not enough product"; return(saveItem); } #endregion var existBasketItems = await GetBasketAsync(basketItemDTO.CustomerId); //if there is not basket in Redis if (existBasketItems != null && existBasketItems.BasketItems != null && existBasketItems.BasketItems.Any()) { //if same product added to card then it will sum existing and new quantity if (existBasketItems.BasketItems.Any(x => x.ProductId == basketItemDTO.ProductId)) { var existingProduct = existBasketItems .BasketItems.First(x => x.ProductId == basketItemDTO.ProductId); existingProduct.Quantity += basketItemDTO.Quantity; } else { existBasketItems.BasketItems.Add(basketItemDTO); } saveItem.Result = existBasketItems; saveItem.Message = "Item successfully added."; } else { saveItem.Result.CustomerId = basketItemDTO.CustomerId; saveItem.Result.BasketItems.Add(basketItemDTO); saveItem.Message = "Item successfully added."; } saveItem.Result = await UpdateBasketAsync(saveItem.Result); return(saveItem); }
private static Task HandleExceptionAsync(HHttpContext context, int statusCode, string msg) { var data = new ApiResultDTO <string> { Code = statusCode.ToString(), IsSuccess = false, Message = msg }; var result = JsonHelper.ToJson(data); // JsonConvert.SerializeObject(data); context.Response.ContentType = "application/json;charset=utf-8"; return(context.Response.WriteAsync(result)); }
public ApiResultDTO Adicionar(LibraryDTO entity) { var Apiresult = new ApiResultDTO(); var categoria = new Category { Nombre = entity.Nombres, Descripcion = entity.Descripcion }; bookStoreContext.Categories.Add(categoria); bookStoreContext.SaveChanges(); Apiresult.Mensaje = Messages.RegistrosExitoso; return(Apiresult); }
public ApiResultDTO Listado() { var Apiresult = new ApiResultDTO(); var listcategoriaresultado = this.bookStoreContext.Categories.Select(t => new CategoriesDTO { Descripcion = t.Descripcion, Nombre = t.Nombre, IdCategoria = t.IdCategoria }).ToList(); Apiresult.Mensaje = Utilidades.MensajesResult(listcategoriaresultado); Apiresult.Resultado = listcategoriaresultado; return(Apiresult); }
public ApiResultDTO Listado() { var Apiresult = new ApiResultDTO(); var listAutorresultado = this.bookStoreContext.Authors.Select(t => new Author { Apellidos = t.Apellidos, Nombre = t.Nombre, FechaNacimiento = t.FechaNacimiento, IdAutor = t.IdAutor }).ToList(); Apiresult.Mensaje = Utilidades.MensajesResult(listAutorresultado); Apiresult.Resultado = listAutorresultado; return(Apiresult); }
public ApiResultDTO Adicionar(LibraryDTO entity) { var Apiresult = new ApiResultDTO(); var Autores = new Author { Nombre = entity.Nombres, Apellidos = entity.Apellidos, FechaNacimiento = (DateTime)entity.FechaNacimiento }; bookStoreContext.Authors.Add(Autores); bookStoreContext.SaveChanges(); Apiresult.Mensaje = Messages.RegistrosExitoso; return(Apiresult); }
public ApiResultDTO Adicionar(LibraryDTO entity) { var Apiresult = new ApiResultDTO(); var Book = new Book { NombreLibro = entity.Nombres, ISBN = entity.ISBN, AutoresIdAutor = (int)entity.IdAutor, CategoriasIdCategoria = (int)entity.IdCategoria }; this.bookStoreContext.Books.Add(Book); this.bookStoreContext.SaveChanges(); Apiresult.Mensaje = Messages.RegistrosExitoso; return(Apiresult); }
public ApiResultDTO Listado() { var Apiresult = new ApiResultDTO(); var listBook = this.bookStoreContext.Books.Select(t => new BooksDTO { NombreLibro = t.NombreLibro, ISBN = t.ISBN, Autor = t.Autores.Nombre + " " + t.Autores.Apellidos, Categoria = t.Categorias.Nombre, IdLibro = t.IdLibro, IdCategoria = t.CategoriasIdCategoria, IdAutor = t.AutoresIdAutor }).ToList(); Apiresult.Mensaje = Utilidades.MensajesResult(listBook); Apiresult.Resultado = listBook; return(Apiresult); }
public ApiResultDTO Editar(int id, LibraryDTO entity) { var Apiresult = new ApiResultDTO(); var editarcategoria = bookStoreContext.Categories.FirstOrDefault(t => t.IdCategoria == id); if (editarcategoria != null) { editarcategoria.Descripcion = entity.Descripcion; editarcategoria.Nombre = entity.Nombres; Apiresult.Mensaje = Messages.EdicionExitosa; bookStoreContext.SaveChanges(); } else { Apiresult.Mensaje = Messages.NoExisteId; } return(Apiresult); }
public ApiResultDTO Eliminar(int id) { var Apiresult = new ApiResultDTO(); var editarAutor = bookStoreContext.Books.AsNoTracking().FirstOrDefault(t => t.IdLibro == id); if (editarAutor != null) { bookStoreContext.Books.Remove(new Book { IdLibro = id }); bookStoreContext.SaveChanges(); Apiresult.Mensaje = Messages.EliminacionExitosa; } else { Apiresult.Mensaje = Messages.NoExisteId; } return(Apiresult); }
public ApiResultDTO BusquedaBook(string libro, int autor, int categoria) { var Apiresult = new ApiResultDTO(); var consultalibro = bookStoreContext.Books.Where(t => (categoria == 0 ? true : t.Categorias.IdCategoria == categoria) && (autor == 0 ? true : t.Autores.IdAutor == autor) && (String.IsNullOrEmpty(libro) ? true : t.NombreLibro == libro)). Select(t => new BooksDTO { NombreLibro = t.NombreLibro, ISBN = t.ISBN, Autor = t.Autores.Nombre + " " + t.Autores.Apellidos, Categoria = t.Categorias.Nombre, IdLibro = t.IdLibro, IdCategoria = t.CategoriasIdCategoria, IdAutor = t.AutoresIdAutor }).ToList(); Apiresult.Resultado = consultalibro; return(Apiresult); }
public ApiResultDTO Editar(int id, LibraryDTO entity) { var Apiresult = new ApiResultDTO(); var editarAutor = bookStoreContext.Authors.FirstOrDefault(t => t.IdAutor == id); if (editarAutor != null) { editarAutor.Nombre = entity.Nombres; editarAutor.Apellidos = entity.Apellidos; editarAutor.FechaNacimiento = (DateTime)entity.FechaNacimiento; bookStoreContext.SaveChanges(); Apiresult.Mensaje = Messages.EdicionExitosa; } else { Apiresult.Mensaje = Messages.NoExisteId; } return(Apiresult); }
public ApiResultDTO Editar(int id, LibraryDTO entity) { var Apiresult = new ApiResultDTO(); var Book = bookStoreContext.Books.FirstOrDefault(t => t.IdLibro == id); if (Book != null) { Book.NombreLibro = entity.Nombres; Book.ISBN = entity.ISBN; Book.CategoriasIdCategoria = (int)entity.IdCategoria; Book.AutoresIdAutor = (int)entity.IdAutor; Apiresult.Mensaje = Messages.EdicionExitosa; bookStoreContext.SaveChanges(); } else { Apiresult.Mensaje = Messages.NoExisteId; } return(Apiresult); }