コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }