コード例 #1
0
        // GET: packedproducts/Create
        public IActionResult Create(int?packedId)
        {
            packedproduct packedProduct = new packedproduct();

            if (packedId != null && packedId != 0)
            {
                packedProduct.packedProductDetails = new List <packedproductdetail>();
                packedProduct = _context.packedProducts.Include(s => s.packedProductDetails).ThenInclude(s => s.baseProduct)
                                .FirstOrDefault(m => m.packedId == packedId);
                if (packedProduct != null)
                {
/*
 *                  foreach (packedproductdetail packedProductDetail in packedProduct.packedProductDetails)
 *                  {
 *                      packedProductDetail.baseProduct = _context.baseProducts.FirstOrDefault(s => s.baseId == packedProductDetail.baseId);
 *                  }
 */
                    packedProduct.operation = "Update";
                }
                else
                {
                    packedProduct = new packedproduct();
                    packedProduct.packedProductDetails = new List <packedproductdetail>();
                    packedProduct.operation            = "Add";
                }
            }
            else
            {
                packedProduct = new packedproduct();
                packedProduct.packedProductDetails = new List <packedproductdetail>();
                packedProduct.operation            = "Add";
            }
            return(View(packedProduct));
        }
コード例 #2
0
 public IActionResult Create([Bind("packedId,packedProductName,packedProductBarcodeID,productRetailPrice,productWholesalePrice")] packedproduct packedproduct)
 {
     if (ModelState.IsValid)
     {
         packedproduct.packedProductDetails = new List <packedproductdetail>();
         var baseIds   = HttpContext.Request.Form["item.baseProduct.baseId"].ToArray();
         var amounts   = HttpContext.Request.Form["packedproductdetails.amount"].ToArray();
         var operation = HttpContext.Request.Form["operation"].ToString();
         packedproduct.productRetailPrice    = decimal.Parse(HttpContext.Request.Form["productRetailPrice"].ToString().Replace('.', ','));
         packedproduct.productWholesalePrice = decimal.Parse(HttpContext.Request.Form["productWholesalePrice"].ToString().Replace('.', ','));
         if (packedproduct.packedProductBarcodeID == null || packedproduct.packedProductBarcodeID.Length != 13)
         {
             barcodeController barcode = new barcodeController(_context);
             packedproduct.packedProductBarcodeID = barcode.getFirstAvailableBarcode();
         }
         for (int i = 0; i < baseIds.Length; i++)
         {
             packedproductdetail item = new packedproductdetail();
             item.baseId                 = int.Parse(baseIds[i]);
             item.amount                 = decimal.Parse(amounts[i].Replace('.', ','));
             item.contentLineNo          = i + 1;
             item.packedId               = packedproduct.packedId;
             item.packedProductBarcodeID = packedproduct.packedProductBarcodeID;
             item.baseProduct            = _context.baseProducts.First(s => s.baseId == item.baseId);
             item.baseProductBarcodeID   = item.baseProduct.barcodeID;
             packedproduct.packedProductDetails.Add(item);
         }
         if (operation == "Add")
         {
             _context.packedProducts.Add(packedproduct);
             _context.SaveChanges();
         }
         else
         {
             for (int i = 0; i < packedproduct.packedProductDetails.Count; i++)
             {
                 if (_context.packedProductDetails.Any(s => s.packedId == packedproduct.packedProductDetails[i].packedId && s.contentLineNo == packedproduct.packedProductDetails[i].contentLineNo))
                 {
                     _context.packedProductDetails.Update(packedproduct.packedProductDetails[i]);
                 }
                 else
                 {
                     _context.packedProductDetails.Add(packedproduct.packedProductDetails[i]);
                 }
             }
             _context.Update(packedproduct);
             _context.SaveChanges();
         }
         return(RedirectToAction("Create", new { packedId = packedproduct.packedId + 1 }));
     }
     return(View(packedproduct));
 }