protected void DeleteJournal(EnumReferenceTable referenceTable, string referenceType, string referenceId) { TJournalRef journalRef = JournalRefRepository.GetByReference(referenceTable, referenceType, referenceId); if (journalRef != null) { TJournal journalToDelete = journalRef.JournalId; JournalRefRepository.Delete(journalRef); JournalRepository.Delete(journalToDelete); } }
private void DeleteJournal(TTrans trans) { TJournalRef journalRef = JournalRefRepository.GetByReference(EnumReferenceTable.Transaction, trans.TransStatus, trans.Id); if (journalRef != null) { TJournal journalToDelete = journalRef.JournalId; JournalRefRepository.Delete(journalRef); JournalRepository.Delete(journalToDelete); } }
private ActionResult SaveJournal(TJournal journal, FormCollection formCollection) { string Message = string.Empty; bool Success = true; string voucherNo = string.Empty; try { _tJournalRepository.DbContext.BeginTransaction(); //check first TJournal journal1 = _tJournalRepository.Get(formCollection["Journal.Id"]); voucherNo = journal.JournalVoucherNo; if (journal1 != null) { _tJournalRepository.Delete(journal1); } else { EnumJournalType journalType = (EnumJournalType)Enum.Parse(typeof(EnumJournalType), journal.JournalType); voucherNo = Helper.CommonHelper.GetVoucherNo(false, journalType); } if (journal == null) { journal = new TJournal(); } journal.SetAssignedIdTo(formCollection["Journal.Id"]); journal.CostCenterId = _mCostCenterRepository.Get(formCollection["Journal.CostCenterId"]); journal.JournalVoucherNo = voucherNo; journal.CreatedDate = DateTime.Now; journal.CreatedBy = User.Identity.Name; journal.DataStatus = Enums.EnumDataStatus.New.ToString(); journal.JournalDets.Clear(); TJournalDet detToInsert; decimal total = 0; foreach (TJournalDet det in ListJournalDet) { detToInsert = new TJournalDet(journal); detToInsert.SetAssignedIdTo(Guid.NewGuid().ToString()); detToInsert.AccountId = det.AccountId; if (journal.JournalType == EnumJournalType.CashIn.ToString()) { detToInsert.JournalDetStatus = EnumJournalStatus.K.ToString(); } else if (journal.JournalType == EnumJournalType.CashOut.ToString()) { detToInsert.JournalDetStatus = EnumJournalStatus.D.ToString(); } else if (journal.JournalType == EnumJournalType.GeneralLedger.ToString()) { detToInsert.JournalDetStatus = det.JournalDetStatus; } detToInsert.JournalDetAmmount = det.JournalDetAmmount; detToInsert.JournalDetNo = det.JournalDetNo; detToInsert.JournalDetEvidenceNo = det.JournalDetEvidenceNo; detToInsert.JournalDetDesc = det.JournalDetDesc; detToInsert.CreatedBy = User.Identity.Name; detToInsert.CreatedDate = DateTime.Now; detToInsert.DataStatus = Enums.EnumDataStatus.New.ToString(); journal.JournalDets.Add(detToInsert); total += det.JournalDetAmmount.Value; } //add new detail for cash in / out if (journal.JournalType == EnumJournalType.CashIn.ToString() || journal.JournalType == EnumJournalType.CashOut.ToString()) { detToInsert = new TJournalDet(journal); detToInsert.SetAssignedIdTo(Guid.NewGuid().ToString()); detToInsert.AccountId = _mAccountRepository.Get(formCollection["CashAccountId"]); if (journal.JournalType == EnumJournalType.CashIn.ToString()) { detToInsert.JournalDetStatus = EnumJournalStatus.D.ToString(); } else if (journal.JournalType == EnumJournalType.CashOut.ToString()) { detToInsert.JournalDetStatus = EnumJournalStatus.K.ToString(); } detToInsert.JournalDetAmmount = total; detToInsert.JournalDetNo = 0; detToInsert.JournalDetDesc = journal.JournalDesc; detToInsert.CreatedBy = User.Identity.Name; detToInsert.CreatedDate = DateTime.Now; detToInsert.DataStatus = Enums.EnumDataStatus.New.ToString(); journal.JournalDets.Add(detToInsert); } _tJournalRepository.Save(journal); _tJournalRepository.DbContext.CommitTransaction(); TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success; Message = "Data berhasil disimpan."; } catch (Exception ex) { _tJournalRepository.DbContext.RollbackTransaction(); Success = false; Message = ex.GetBaseException().Message; TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed; } var e = new { Success, Message, voucherNo }; return (Json(e, JsonRequestBehavior.AllowGet)); //View("Status"); //return RedirectToAction(journal.JournalType); }