// Remove
        public bool RemoveRecruitmentQaidDetail(int Id)
        {
            RecruitmentQaidDetail details = GetRecruitmentQaidDetailById(Id);

            if (details == null)
            {
                return(false);
            }

            _context.Remove(details);
            _context.SaveChanges();

            return(true);
        }
        // Update
        public bool UpdateRecruitmentQaidDetail(int Id, RecruitmentQaidDetail del)
        {
            RecruitmentQaidDetail existdetails = GetRecruitmentQaidDetailById(Id);

            if (existdetails == null)
            {
                return(false);
            }
            existdetails.TypeId        = del.TypeId;
            existdetails.Note          = del.Note;
            existdetails.AccountTreeId = del.AccountTreeId;
            existdetails.Credit        = del.Credit;
            existdetails.Debit         = del.Debit;

            _context.Update(existdetails);
            _context.SaveChanges();

            return(true);
        }
        //  Add
        public int AddRecruitmentQaidDetail(RecruitmentQaidDetail del)
        {
            _context.RecruitmentQaidDetails.Add(del);
            _context.SaveChanges();

            //  Update In AccountTree
            AccountTree existAcc = _context.AccountTrees.Where(x => x.Id == del.AccountTreeId).SingleOrDefault();

            if (existAcc != null)
            {
                if (del.TypeId == 1)
                {
                    existAcc.Credit = existAcc.Credit + del.Credit;
                }
                else
                {
                    existAcc.Debit = existAcc.Debit + del.Debit;
                }
                _context.Update(existAcc);
                _context.SaveChanges();
            }

            return(del.Id);
        }
Пример #4
0
        public int RecruitmentQaidTaking(ReceiptDoc receipt)
        {
            #region AddQaid
            // Add RecruitmentQaid 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;
            }
            if (receipt.ReceiptdocTypeId == (int)EnumHelper.ReceiptdocType.SnadTaking)
            {
                qaid.TypeId = (int)EnumHelper.RecruitmentQaidTypes.Take;
            }
            _context.RecruitmentQaids.Add(qaid);
            _context.SaveChanges();
            #endregion

            #region DEBIT


            var paymentMethod = _context.PaymentMethods.Where(x => x.Id == receipt.PaymentMethodId).SingleOrDefault();
            if (paymentMethod != null)
            {
                // Add RecruitmentQaidDetails  ------DEBIT
                RecruitmentQaidDetail detailDebit = new RecruitmentQaidDetail {
                    QaidId        = qaid.Id,
                    Debit         = receipt.Amount,
                    TypeId        = (int)EnumHelper.RecruitmentQaidDetailType.Debit,
                    AccountTreeId = paymentMethod.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 customer = _context.Customers.Where(x => x.Id == receipt.CustomerId).SingleOrDefault();
            if (customer != null)
            {
                // Add RecruitmentQaidDetails   ------Credit
                RecruitmentQaidDetail detailCredit = new RecruitmentQaidDetail
                {
                    QaidId        = qaid.Id,
                    Credit        = receipt.Amount,
                    TypeId        = (int)EnumHelper.RecruitmentQaidDetailType.Credit,
                    AccountTreeId = customer.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);
        }
        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);
        }