public async Task <ActionResult> UpdatePackProd(int id, PackageProductModel packProd)
        {
            var  result   = new Result <string>();
            Type packType = typeof(PackageProduct);

            var updatePackProd = await _context.PackageProduct.Where(pp => pp.Id == packProd.Id).FirstOrDefaultAsync();

            if (updatePackProd == null)
            {
                return(NotFound(DataNotFound(result)));
            }
            UpdateTable(packProd, packType, updatePackProd);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                result.ErrorMessage = e.Message;
                result.IsSuccess    = false;
                return(BadRequest(result));
            }
            return(Ok(result));
        }
        public async Task <ActionResult> AddPackProd(PackageProductModel packProd)
        {
            var result = new Result <string>();


            PackageProduct packageProduct = new PackageProduct();


            var packprodcheck = _context.PackageProduct.Where(pp => pp.PackId == packProd.PackId && pp.ProdId == packProd.ProdId).FirstOrDefaultAsync();

            if (packprodcheck.Result != null)
            {
                if (packProd.ProdDetailId == null)
                {
                    result.ErrorMessage = "This product already exist in the package.";
                    result.IsSuccess    = false;
                    return(BadRequest(result));
                }
                else
                {
                    var packProdDetailCheck = _context.PackageProduct.Where(pp => pp.PackId == packProd.PackId && pp.ProdId == packProd.ProdId && pp.ProdDetailId == packProd.ProdDetailId).FirstOrDefaultAsync();
                    if (packProdDetailCheck.Result != null)
                    {
                        result.ErrorMessage = "This product detail already exist in the package.";
                        result.IsSuccess    = false;
                        return(BadRequest(result));
                    }
                    else
                    {
                        _mapper.Map(packProd, packageProduct);
                        packageProduct.CreateAt = DateTime.Now;
                    }
                }
            }
            else
            {
                _mapper.Map(packProd, packageProduct);
                packageProduct.CreateAt = DateTime.Now;
            }
            await _context.PackageProduct.AddAsync(packageProduct);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                result.ErrorMessage = e.Message;
                result.IsSuccess    = false;
                return(BadRequest(result));
            }
            return(Ok(result));
        }
Exemplo n.º 3
0
        private void AddProdTime(Cart cart, CartProdModel s, [Optional] PackageProductModel prod)
        {
            ProductTimetable prodTime = new ProductTimetable();

            prodTime.CartId    = s.CartId;
            prodTime.IsActive  = 1;
            prodTime.BeginDate = cart.EventStartDate;
            prodTime.EndDate   = cart.EventEndDate;
            if (s.ProdId != null)
            {
                if (s.ProdDetailId == null)
                {
                    prodTime.ProdId   = s.ProdId;
                    prodTime.Quantity = s.Quantity;
                }
                else if (s.ProdDetailId != null)
                {
                    prodTime.ProdDetailId = s.ProdDetailId;
                    prodTime.Quantity     = s.Quantity;
                }
            }
            else if (s.PackId != null)
            {
                if (prod.ProdDetailId == null)
                {
                    prodTime.ProdId   = prod.ProdId;
                    prodTime.Quantity = prod.Quantity * s.Quantity;
                }
                else if (prod.ProdDetailId != null)
                {
                    prodTime.ProdDetailId = prod.ProdDetailId;
                    prodTime.Quantity     = prod.Quantity * s.Quantity;
                }
            }
            _context.ProductTimetable.Add(prodTime);
        }