private void SaveTransDetailItem(TTransDet det) { MAction action = det.ActionId; TTransDetItem detItem = null; //get action items foreach (MActionItem actionItem in action.ActionItems) { //save detail items detItem = new TTransDetItem(det); detItem.ItemId = actionItem.ItemId; detItem.ItemQty = actionItem.ActionItemQty * det.TransDetQty; detItem.ItemDesc = actionItem.ActionItemDesc; detItem.ItemUomId = actionItem.ItemUomId; detItem.SetAssignedIdTo(Guid.NewGuid().ToString()); detItem.CreatedDate = DateTime.Now; detItem.CreatedBy = User.Identity.Name; detItem.DataStatus = EnumDataStatus.New.ToString(); _tTransDetItemRepository.Save(detItem); } }
public virtual ActionResult DetailItem(FormCollection formCollection, string detailId, string packetId, decimal?transDetQty) { string Message = "Data berhasil disimpan"; bool Success = true; _tTransDetItemRepository.DbContext.BeginTransaction(); TTransDet det = (TTransDet)Session[CONST_TRANSDET]; _tTransDetRepository.Save(det); TTransDetItem detItem; //loop item cat packet MPacketItemCat packetItemCat; IList <MPacketItemCat> list = _mPacketItemCatRepository.GetByPacketId(packetId); bool isStockValid = true; MItem item; for (int i = 0; i < list.Count; i++) { packetItemCat = list[i]; item = _mItemRepository.Get(formCollection["txtItemId_" + packetItemCat.ItemCatId.Id]); isStockValid = Helper.CommonHelper.CheckStock(Helper.CommonHelper.GetDefaultWarehouse(), item, transDetQty * packetItemCat.ItemCatQty); if (!isStockValid) { Success = false; Message = "Data tidak berhasi disimpan, kuantitas tidak mencukupi."; break; } detItem = new TTransDetItem(det); detItem.SetAssignedIdTo(Guid.NewGuid().ToString()); detItem.ItemCatId = packetItemCat.ItemCatId; detItem.ItemId = _mItemRepository.Get(formCollection["txtItemId_" + packetItemCat.ItemCatId.Id]); detItem.ItemQty = transDetQty * packetItemCat.ItemCatQty; detItem.CreatedBy = User.Identity.Name; detItem.CreatedDate = DateTime.Now; _tTransDetItemRepository.Save(detItem); } if (isStockValid) { try { _tTransDetItemRepository.DbContext.CommitTransaction(); TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success; } catch (Exception ex) { Success = false; Message = ex.Message; _tTransDetItemRepository.DbContext.RollbackTransaction(); TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed; } } else { _tTransDetItemRepository.DbContext.RollbackTransaction(); } var e = new { Success, Message }; return(Json(e, JsonRequestBehavior.AllowGet)); }