Ejemplo n.º 1
0
        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"
            }));
        }
Ejemplo n.º 2
0
        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
            }));
        }
Ejemplo n.º 4
0
        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
            }));
        }
Ejemplo n.º 6
0
        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());
 }
Ejemplo n.º 8
0
        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
            }));
        }
Ejemplo n.º 10
0
        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
            }));
        }
Ejemplo n.º 11
0
        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
            }));
        }