public async Task <bool> CreateRole(Role role) { try { await _context.Roles.AddAsync(role); await _context.SaveChangesAsync(); return(true); } catch { return(false); } }
public async Task <CreateProductResponse> CreateProduct(Product product, IFormFile image) { CreateProductResponse response = new CreateProductResponse(); try { if (!image.ImageValidator()) { response.DidError = true; response.Message = "تصویر وارد شده معیوب است"; return(response); } //Save Doc Image string imgName = CodeGenerators.GenerateGUID("product_"); string path = "wwwroot/Images/Product"; string productImage = image.SaveImage(imgName, path, null); product.ProductImage = productImage; product.CreateDate = DateTime.Now; //Add Driver Doc await _context.Products.AddAsync(product); await _context.SaveChangesAsync(); response.DidError = false; response.Message = "عملیات با موفقیت انجام شد"; response.ReturnValue = product.ProductId; return(response); } catch { response.DidError = true; response.Message = "Unhandled Exception Occurred"; return(response); } }
public async Task <bool> AddToCart(int productId, string userPhoneNumber) { try { var customer = await _context.Users .SingleOrDefaultAsync(u => u.UserPhoneNumber == userPhoneNumber); var product = await _context.Products.FindAsync(productId); if (customer == null || product == null) { return(false); } var order = await _context.Orders .SingleOrDefaultAsync(o => o.UserId == customer.UserId && !o.IsFinally); if (order == null) { // bayad factor jadid ijad shavad await _context.Orders.AddAsync(new Order() { UserId = customer.UserId, OrderSum = product.ProductPrice, CreateDate = DateTime.Now, IsFinally = false, OrderDetails = new List <OrderDetail>() { new OrderDetail() { ProductId = productId, Count = 1, Price = product.ProductPrice } } }); } else { // factor baz darad await _context.OrderDetails.AddAsync(new OrderDetail() { OrderId = order.OrderId, ProductId = productId, Price = product.ProductPrice, Count = 1 }); order.OrderSum += product.ProductPrice; _context.Orders.Update(order); } await _context.SaveChangesAsync(); return(true); } catch { return(false); } }