Пример #1
0
        public bool UpdateSnadReceipt(int Id, SnadReceipt snadReceipt)
        {
            SnadReceipt exist_SnadReceipt = GetSnadReceiptById(Id);

            if (exist_SnadReceipt == null)
            {
                return(false);
            }
            exist_SnadReceipt.PaymentMethodId = snadReceipt.PaymentMethodId;
            exist_SnadReceipt.QuidNumber      = snadReceipt.QuidNumber;
            exist_SnadReceipt.SnadByUser      = snadReceipt.SnadByUser;
            exist_SnadReceipt.SnadByUserName  = snadReceipt.SnadByUserName;
            exist_SnadReceipt.SnadDate        = snadReceipt.SnadDate;
            //exist_SnadReceipt.ExpenseId = snadReceipt.ExpenseId;
            exist_SnadReceipt.SnadReceiptTypeId = snadReceipt.SnadReceiptTypeId;
            exist_SnadReceipt.VAT           = snadReceipt.VAT;
            exist_SnadReceipt.Amount        = snadReceipt.Amount;
            exist_SnadReceipt.FinancialYear = snadReceipt.FinancialYear;
            exist_SnadReceipt.Note          = snadReceipt.Note;

            _context.Update(exist_SnadReceipt);
            _context.SaveChanges();

            return(true);
        }
Пример #2
0
        public int AddSnadReceipt(SnadReceipt snadReceipt)
        {
            // Add RecruitmentQaid First
            var qaidId = RecruitmentQaid(snadReceipt);

            //snadReceipt.VAT = 0;
            var getCurrentFinancialPeriodrec = _context.FinancialPeriods.Where(x => x.FinancialPeriodStatusId == (int)EnumHelper.FinancPeriodStatus.CURRENT).SingleOrDefault();

            if (getCurrentFinancialPeriodrec != null)
            {
                snadReceipt.FinancialPeriodId = getCurrentFinancialPeriodrec.Id;
            }
            snadReceipt.QaidNo = qaidId;
            _context.SnadReceipts.Add(snadReceipt);
            _context.SaveChanges();

            return(snadReceipt.Id);
        }
Пример #3
0
        public int RecruitmentQaid(SnadReceipt snadReceipt)
        {
            #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 (snadReceipt.SnadReceiptTypeId == (int)EnumHelper.ReceiptdocType.SnadReceive)
            {
                qaid.TypeId = (int)EnumHelper.RecruitmentQaidTypes.Exchange;
            }

            _context.RecruitmentQaids.Add(qaid);
            _context.SaveChanges();

            #endregion

            #region DEBIT

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