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)); }
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); }