public async Task <IActionResult> ChangeStatus(int id, string status) { if (!ModelState.IsValid) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } if (status == "discontinued" || status == "index") { var product = await _context.Products.FindAsync(id); if (product == null) { return(Ok(new Response { IsError = true, Message = "not found", Status = 404 })); } if (status == "discontinued") { product.Discontinued = !product.Discontinued; } else { product.DisplayIndex = !product.DisplayIndex; } _context.Entry(product).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { return(Ok(new Response { IsError = true, Message = "not save", Status = 409 })); } return(Ok(new Response { Status = 204 })); } return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); }
public async Task <IActionResult> PutConfirmOrders([FromRoute] int id, [FromRoute] int status) { if (!ModelState.IsValid) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } Orders orders = _context.Orders.Include(o => o.OrderDetails).Where(o => o.OrderId == id).SingleOrDefault(); orders.Status = status; if (status == Globals.KHACH_HUY || status == Globals.SHOP_HUY) { foreach (var details in orders.OrderDetails) { var product = _context.Products.Find(details.ProductId); product.Stock += details.Quantity; _context.Entry(product).State = EntityState.Modified; } } _context.Entry(orders).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrdersExists(id)) { return(Ok(new Response { IsError = true, Status = 404, Message = "Không tìm thấy dữ liệu" })); } else { throw; } } return(Ok(new Response { Status = 204 })); }
public async Task <IActionResult> PutEvaluationQuestions([FromRoute] int id, [FromBody] EvaluationQuestions evaluationQuestions) { if (!ModelState.IsValid) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } if (id != evaluationQuestions.EvaluationId) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } _context.Entry(evaluationQuestions).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!EvaluationQuestionsExists(id)) { return(Ok(new Response { IsError = true, Status = 404, Message = "Không tìm thấy dữ liệu" })); } else { throw; } } return(Ok(new Response { Status = 204 })); }
public async Task <IActionResult> PutEvents([FromRoute] int id, [FromBody] Events events) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != events.EventId) { return(BadRequest()); } _context.Entry(events).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!EventsExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutOrderDetails([FromRoute] int orderId, [FromRoute] int productId, [FromBody] OrderDetails orderDetails) { if (!ModelState.IsValid) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } if (orderId != orderDetails.OrderId) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } _context.Entry(orderDetails).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrderDetailsExists(orderId, productId)) { return(Ok(new Response { IsError = true, Status = 404, Message = "Không tìm thấy dữ liệu" })); } else { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); throw; } } return(Ok(new Response { Status = 204 })); }
public async Task <IActionResult> PutProductCategories([FromRoute] int id, [FromBody] ProductCategories productCategories) { if (!ModelState.IsValid) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } if (id != productCategories.CategoryId) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } _context.Entry(productCategories).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductCategoriesExists(id)) { return(Ok(new Response { IsError = true, Status = 404, Message = "Không tìm thấy dữ liệu" })); } else { return(Ok(new Response { IsError = true, Status = 409, Message = "Không thể lưu dữ liệu" })); throw; } } return(Ok(new Response { Status = 204 })); }
public ActionResult Create(User newUser) { if (ModelState.IsValid) { newUser.Passcode = PasscodeSecurity.encPasscode(newUser.Passcode); db.Entry(newUser).State = EntityState.Added; db.SaveChanges(); ModelState.AddModelError("", "Add user completed!"); TempData["Msg"] = "Add user completed!"; } return(View()); }
public async Task <IActionResult> PutUserInfo([FromRoute] Guid id, [FromBody] UserInfoViewModel userInfo) { if (!ModelState.IsValid) { return(Ok(new Response { IsError = true, Message = "dữ liệu đầu vào sai", Status = 400 })); } if (id != userInfo.UserId) { return(Ok(new Response { IsError = true, Message = "dữ liệu đầu vào sai", Status = 400 })); } if (userInfo.BirthDate == null) { userInfo.BirthDate = DateTime.Now; } User user = await _context.User.FindAsync(id); if (user == null) { return(Ok(new Response { IsError = true, Message = "dữ liệu chỉnh sửa không tồn tại", Status = 404 })); } user.PhoneNumber = userInfo.PhoneNumber; UserInfo info = _mapper.Map <UserInfo>(userInfo); _context.Entry(user).State = EntityState.Modified; _context.Entry(info).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UserInfoExists(id)) { return(Ok(new Response { IsError = true, Message = "dữ liệu chỉnh sửa không tồn tại", Status = 404 })); } else { return(Ok(new Response { IsError = true, Message = "có lỗi khi chỉnh sửa", Status = 409 })); throw; } } return(Ok(new Response { Status = 204 })); }
public async Task <IActionResult> SaveOrdersImportGoods([FromRoute] int id, [FromBody] OrderImportUpdateViewModel ordersView) { if (!ModelState.IsValid) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } if (id != ordersView.OrderId) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } var orders = await _context.OrdersImportGoods.FindAsync(id); orders.SupplierId = ordersView.SupplierId; decimal totalPrice = 0; foreach (var detail in ordersView.Product) { totalPrice += detail.Quantity * detail.UnitPrice; detail.OrderId = id; _context.Entry(detail).State = EntityState.Modified; //update stock var product = await _context.Products.FindAsync(detail.ProductId); product.Stock += detail.Quantity; _context.Entry(product).State = EntityState.Modified; } orders.TotalPrice = totalPrice; _context.Entry(orders).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrdersImportGoodsExists(id)) { return(Ok(new Response { IsError = true, Status = 404, Message = "Không tìm thấy dữ liệu" })); } else { return(Ok(new Response { IsError = true, Status = 409, Message = "Không thể lưu dữ liệu" })); throw; } } return(Ok(new Response { Status = 204 })); }
public async Task <IActionResult> PostCartDetails([FromBody] CartDetails cartDetails) { if (!ModelState.IsValid) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } Task <int> t = GetStock(cartDetails.ProductId); await t; int stock = t.Result; if (CartDetailsExists(cartDetails.UserId, cartDetails.ProductId)) { var cart = await _context.CartDetails .Where(e => e.ProductId == cartDetails.ProductId && e.UserId == cartDetails.UserId).SingleOrDefaultAsync(); if (cart != null) { if ((cartDetails.Quantity + cart.Quantity) > stock) { return(Ok(new Response { Status = 406, IsError = true, Message = "Không đủ số lượng" })); } else { cart.Quantity += cartDetails.Quantity; _context.Entry(cart).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CartDetailsExists(cart.UserId, cart.ProductId)) { return(Ok(new Response { IsError = true, Status = 404 })); } else { throw; } } return(Ok(new Response { Status = 204 })); } } } if (cartDetails.Quantity > stock) { return(Ok(new Response { Status = 406, IsError = true, Message = "Không đủ số lượng" })); } _context.CartDetails.Add(cartDetails); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (CartDetailsExists(cartDetails.UserId, cartDetails.ProductId)) { return(Ok(new Response { IsError = true, Status = 409 })); } else { throw; } } return(Ok(new Response { Status = 201, Module = cartDetails })); }
public async Task <IActionResult> PutAddress([FromRoute] int id, [FromBody] Address address) { if (!ModelState.IsValid) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } if (id != address.AddressId) { return(Ok(new Response { IsError = true, Status = 400, Message = "Sai dữ liệu đầu vào" })); } var addressDefault = await _context.Address.Where(a => a.IsDefault == true && a.UserId == address.UserId).SingleOrDefaultAsync(); //if(addressDefault == null) //{ //} if (addressDefault.AddressId == id) { address.IsDefault = true; _context.Entry(addressDefault).CurrentValues.SetValues(address); } else if (address.IsDefault == true && addressDefault.AddressId != id) { addressDefault.IsDefault = false; _context.Entry(addressDefault).State = EntityState.Modified; _context.Entry(address).State = EntityState.Modified; } else { _context.Entry(address).State = EntityState.Modified; } try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AddressExists(id)) { return(Ok(new Response { IsError = true, Status = 404, Message = "Không tìm thấy địa chỉ" })); } else { throw; } } return(Ok(new Response { Status = 204 })); }