private void ConvertListDet(List <TTransDet> listDet) { TTransDet det; TransDetViewModel detViewModel; ListDetTrans = new List <TransDetViewModel>(); for (int i = 0; i < listDet.Count; i++) { det = listDet[i] as TTransDet; detViewModel = new TransDetViewModel(); detViewModel.TransDet = det; detViewModel.IsNew = false; ListDetTrans.Add(detViewModel); } }
public ActionResult Update(TTransDet viewModel, FormCollection formCollection) { TTransDet transDetToInsert = new TTransDet(); TransferFormValuesTo(transDetToInsert, viewModel); transDetToInsert.SetAssignedIdTo(viewModel.Id); transDetToInsert.CreatedDate = DateTime.Now; transDetToInsert.CreatedBy = User.Identity.Name; transDetToInsert.DataStatus = EnumDataStatus.New.ToString(); TransDetViewModel detViewModel = new TransDetViewModel(); detViewModel.TransDet = transDetToInsert; detViewModel.IsNew = false; ListDetTrans.Add(detViewModel); return(Content("success")); }
public ActionResult Insert(TTransDet viewModel, FormCollection formCollection, bool IsAddStock, string WarehouseId) { //format numeric UpdateNumericData(viewModel, formCollection); // MItem item = _mItemRepository.Get(formCollection["ItemId"]); //check stock is enough or not if no add stock //return Content(IsAddStock.ToString()); if (!IsAddStock) { MWarehouse warehouse = _mWarehouseRepository.Get(WarehouseId); bool isStockValid = Helper.CommonHelper.CheckStock(warehouse, item, viewModel.TransDetQty); if (!isStockValid) { return(Content("Kuantitas barang tidak cukup")); } } TTransDet transDetToInsert = new TTransDet(); TransferFormValuesTo(transDetToInsert, viewModel); transDetToInsert.SetAssignedIdTo(Guid.NewGuid().ToString()); transDetToInsert.ItemId = item; transDetToInsert.SetAssignedIdTo(viewModel.Id); transDetToInsert.CreatedDate = DateTime.Now; transDetToInsert.CreatedBy = User.Identity.Name; transDetToInsert.DataStatus = EnumDataStatus.New.ToString(); TransDetViewModel detViewModel = new TransDetViewModel(); detViewModel.TransDet = transDetToInsert; detViewModel.IsNew = true; ListDetTrans.Add(detViewModel); return(Content("Detail transaksi berhasil disimpan.")); }
private void SaveTransaction(TTrans Trans, FormCollection formCollection, bool addStock, bool calculateStock, bool isEdit) { if (isEdit) { if (ListDeleteDetailTrans != null) { if (ListDeleteDetailTrans.Count > 0) { DeleteTransactionDetail(Trans, addStock, calculateStock, ListDeleteDetailTrans.ToArray()); } } } Trans.TransDets.Clear(); //save stock card TTransDet detToInsert; decimal total = 0; IList <TransDetViewModel> listDetToSave = new List <TransDetViewModel>(); TransDetViewModel detToSave = new TransDetViewModel(); foreach (TransDetViewModel det in ListDetTrans) { detToSave = new TransDetViewModel(); detToSave.IsNew = det.IsNew; if (det.IsNew) { detToInsert = new TTransDet(Trans); detToInsert.SetAssignedIdTo(Guid.NewGuid().ToString()); detToInsert.ItemId = det.TransDet.ItemId; detToInsert.ItemUomId = det.TransDet.ItemUomId; detToInsert.TransDetQty = det.TransDet.TransDetQty; detToInsert.TransDetPrice = det.TransDet.TransDetPrice; detToInsert.TransDetDisc = det.TransDet.TransDetDisc; detToInsert.TransDetTotal = det.TransDet.TransDetTotal; detToInsert.CreatedBy = User.Identity.Name; detToInsert.CreatedDate = DateTime.Now; detToInsert.DataStatus = Enums.EnumDataStatus.New.ToString(); Trans.TransDets.Add(detToInsert); detToSave.TransDet = detToInsert; } else { detToSave.TransDet = det.TransDet; } listDetToSave.Add(detToSave); total += det.TransDet.TransDetTotal.HasValue ? det.TransDet.TransDetTotal.Value : 0; } Trans.TransSubTotal = total; if (isEdit) { _tTransRepository.Update(Trans); } else { _tTransRepository.Save(Trans); } //_tTransRepository.DbContext.CommitTransaction(); //_tTransRepository.DbContext.BeginTransaction(); if (calculateStock) { decimal totalHpp = 0; foreach (TransDetViewModel det in listDetToSave) { if (det.IsNew) { //save stock if (Trans.TransStatus.Equals(EnumTransactionStatus.Mutation.ToString())) { SaveStockItem(Trans.TransDate, Trans.TransDesc, det.TransDet.ItemId, det.TransDet.TransDetQty, false, Trans.WarehouseId); SaveStockItem(Trans.TransDate, Trans.TransDesc, det.TransDet.ItemId, det.TransDet.TransDetQty, true, Trans.WarehouseIdTo); //still to do, for mutation, price of stock must recalculate per stock, //sum hpp for each stock for stock out totalHpp += UpdateStock(Trans.TransDate, Trans.TransDesc, Trans.TransStatus, det.TransDet.ItemId, det.TransDet.TransDetPrice, det.TransDet.TransDetQty, det.TransDet, false, Trans.WarehouseId); UpdateStock(Trans.TransDate, Trans.TransDesc, Trans.TransStatus, det.TransDet.ItemId, det.TransDet.TransDetPrice, det.TransDet.TransDetQty, det.TransDet, true, Trans.WarehouseIdTo); } else { SaveStockItem(Trans.TransDate, Trans.TransDesc, det.TransDet.ItemId, det.TransDet.TransDetQty, addStock, Trans.WarehouseId); //sum hpp for each stock totalHpp += UpdateStock(Trans.TransDate, Trans.TransDesc, Trans.TransStatus, det.TransDet.ItemId, det.TransDet.TransDetPrice, det.TransDet.TransDetQty, det.TransDet, addStock, Trans.WarehouseId); } } else { //get HPP from existing detail // totalHpp += } } ////save journal //SaveJournal(Trans, totalHpp); } }