public bool CloseRecruitmentQaid(int Id, RecruitmentQaid recruitmentQaid)
        {
            var     CreditSum = _context.RecruitmentQaidDetails.Where(x => x.QaidId == recruitmentQaid.Id).Sum(x => x.Credit);
            var     DebitSum  = _context.RecruitmentQaidDetails.Where(x => x.QaidId == recruitmentQaid.Id).Sum(x => x.Debit);
            decimal reminder  = 1;

            if (CreditSum > 0 && DebitSum > 0)
            {
                reminder = (decimal)(CreditSum - DebitSum);
            }

            if (reminder == 0)
            {
                RecruitmentQaid existrecruitmentQaid = GetRecruitmentQaidById(Id);
                if (existrecruitmentQaid == null)
                {
                    return(false);
                }
                existrecruitmentQaid.StatusId = (int)EnumHelper.RecruitmentQaidStatus.Close;

                _context.Update(existrecruitmentQaid);
                _context.SaveChanges();
            }
            return(true);
        }
        public bool RemoveRecruitmentQaid(int Id)
        {
            RecruitmentQaid recruitmentQaid = GetRecruitmentQaidById(Id);

            if (recruitmentQaid == null)
            {
                return(false);
            }
            _context.Remove(recruitmentQaid);
            _context.SaveChanges();
            return(true);
        }
        public int AddRecruitmentQaid(RecruitmentQaid recruitmentQaid)
        {
            recruitmentQaid.StatusId = (int)EnumHelper.RecruitmentQaidStatus.Open;
            var getCurrentFinancialPeriod = _context.FinancialPeriods.Where(x => x.FinancialPeriodStatusId == (int)EnumHelper.FinancPeriodStatus.CURRENT).SingleOrDefault();

            if (getCurrentFinancialPeriod != null)
            {
                recruitmentQaid.FinancialPeriodId = getCurrentFinancialPeriod.Id;
            }
            _context.RecruitmentQaids.Add(recruitmentQaid);
            _context.SaveChanges();
            return(recruitmentQaid.Id);
        }
        public bool UpdateRecruitmentQaid(int Id, RecruitmentQaid recruitmentQaid)
        {
            RecruitmentQaid existrecruitmentQaid = GetRecruitmentQaidById(Id);

            if (existrecruitmentQaid == null)
            {
                return(false);
            }
            existrecruitmentQaid.QaidDate = recruitmentQaid.QaidDate;
            existrecruitmentQaid.TypeId   = recruitmentQaid.TypeId;

            _context.Update(existrecruitmentQaid);
            _context.SaveChanges();
            return(true);
        }
Beispiel #5
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);
        }