public int AddForeignAgencyTransfer(ForeignAgencyTransfer agencyTransfer) { // Add RecruitmentQaid First var qaidId = RecruitmentQaid(agencyTransfer); //snadReceipt.VAT = 0; var getCurrentFinancialPeriodrec = _context.FinancialPeriods.Where(x => x.FinancialPeriodStatusId == (int)EnumHelper.FinancPeriodStatus.CURRENT).SingleOrDefault(); if (getCurrentFinancialPeriodrec != null) { agencyTransfer.FinancialPeriodId = getCurrentFinancialPeriodrec.Id; } agencyTransfer.QaidNo = qaidId; _context.ForeignAgencyTransfers.Add(agencyTransfer); _context.SaveChanges(); // var existforagency = _context.ForeignAgencies.SingleOrDefault(x => x.Id == agencyTransfer.ForeignAgencyId); existforagency.TransferAmount = existforagency.TransferAmount + agencyTransfer.Amount; _context.Update(existforagency); _context.SaveChanges(); return(agencyTransfer.Id); }
public bool RemoveForeignAgencyTransfer(int Id) { ForeignAgencyTransfer agency = GetForeignAgencyTransferById(Id); if (agency == null) { return(false); } _context.Remove(agency); _context.SaveChanges(); return(true); }
public bool UpdateForeignAgencyTransfer(int Id, ForeignAgencyTransfer agencyTransfer) { ForeignAgencyTransfer existagencyTransfer = GetForeignAgencyTransferById(Id); if (existagencyTransfer == null) { return(false); } existagencyTransfer.ForeignAgencyId = agencyTransfer.ForeignAgencyId; existagencyTransfer.Amount = agencyTransfer.Amount; existagencyTransfer.CurrencyId = agencyTransfer.CurrencyId; existagencyTransfer.Notes = agencyTransfer.Notes; existagencyTransfer.PaymentMethodId = agencyTransfer.PaymentMethodId; existagencyTransfer.PurposeId = agencyTransfer.PurposeId; existagencyTransfer.TransferBankId = agencyTransfer.TransferBankId; existagencyTransfer.TransferDate = agencyTransfer.TransferDate; _context.Update(existagencyTransfer); _context.SaveChanges(); return(true); }
public int RecruitmentQaid(ForeignAgencyTransfer foreignAgencyTransfer) { #region AddQaid // Add Qaid First RecruitmentQaid qaid = new RecruitmentQaid { QaidDate = DateTime.UtcNow.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture), StatusId = (int)EnumHelper.RecruitmentQaidStatus.Open }; var getCurrentFinancialPeriod = _context.FinancialPeriods.Where(x => x.FinancialPeriodStatusId == (int)EnumHelper.FinancPeriodStatus.CURRENT).SingleOrDefault(); if (getCurrentFinancialPeriod != null) { qaid.FinancialPeriodId = getCurrentFinancialPeriod.Id; } qaid.TypeId = (int)EnumHelper.RecruitmentQaidTypes.Transfer; _context.RecruitmentQaids.Add(qaid); _context.SaveChanges(); #endregion #region DEBIT var foreignAgency = _context.ForeignAgencies.Where(x => x.Id == foreignAgencyTransfer.ForeignAgencyId).SingleOrDefault(); if (foreignAgency != null) { // Add RecruitmentQaidDetails DEBIT RecruitmentQaidDetail detailDebit = new RecruitmentQaidDetail { QaidId = qaid.Id, Debit = foreignAgencyTransfer.Amount, TypeId = (int)EnumHelper.RecruitmentQaidDetailType.Debit, AccountTreeId = foreignAgency.AccountTreeId, Note = "حوالة" }; _context.RecruitmentQaidDetails.Add(detailDebit); _context.SaveChanges(); // change In AccountTree For Debit Account ---------------------------------------- AccountTree existAcc = _context.AccountTrees.Where(x => x.Id == detailDebit.AccountTreeId).SingleOrDefault(); if (existAcc != null) { existAcc.Debit = existAcc.Debit + detailDebit.Debit; _context.Update(existAcc); _context.SaveChanges(); } } #endregion #region CREDIT var paymentMethod = _context.PaymentMethods.Where(x => x.Id == foreignAgencyTransfer.PaymentMethodId).SingleOrDefault(); if (paymentMethod != null) { // Add RecruitmentQaidDetails RecruitmentQaidDetail detailCredit = new RecruitmentQaidDetail { QaidId = qaid.Id, Credit = foreignAgencyTransfer.Amount, TypeId = (int)EnumHelper.RecruitmentQaidDetailType.Credit, AccountTreeId = paymentMethod.AccountTreeId, Note = "حوالة " }; _context.RecruitmentQaidDetails.Add(detailCredit); _context.SaveChanges(); // change In AccountTree For Credit Account --------------------------------------------- AccountTree existAccCredit = _context.AccountTrees.Where(x => x.Id == detailCredit.AccountTreeId).SingleOrDefault(); if (existAccCredit != null) { existAccCredit.Credit = existAccCredit.Credit + detailCredit.Credit; _context.Update(existAccCredit); _context.SaveChanges(); } } #endregion return(qaid.Id); }