Exemple #1
0
        public List <LedgerAccountAC> GetAllLedgerAccountListByCompanyId(int companyId)
        {
            try
            {
                var ledgerAccountCollection = new List <LedgerAccountAC>();
                foreach (var ledgerse in _accountLedgerContext.Fetch(x => x.ParentLedgerId == null && x.CompanyId == companyId).ToList())
                {
                    var ledgerAccountAc = new LedgerAccountAC();
                    ledgerAccountAc           = ApplicationClassHelper.ConvertType <Ledgers, LedgerAccountAC>(ledgerse);
                    ledgerAccountAc.LedgerId  = ledgerse.Id;
                    ledgerAccountAc.LableName = ledgerse.Name;
                    ledgerAccountAc.SubLedgerAccountCollection = GetSubLedgerList(ledgerse.Id, companyId);
                    if (ledgerAccountAc.SubLedgerAccountCollection.Count() != 0)
                    {
                        ledgerAccountAc.IsChild = true;
                    }
                    ledgerAccountCollection.Add(ledgerAccountAc);
                }

                return(ledgerAccountCollection);
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }
        public IHttpActionResult SaveLedger(LedgerAccountAC ledger)
        {
            try
            {
                bool isValidGroup = true;
                if (ledger.isSubAccountChecked)
                {
                    Ledgers ledgres = _ledgerAccountRepository.GetLedgersByLedgersId(ledger.ParentLedgerId);
                    if (ledgres != null && ledgres.Group.Id != ledger.GroupId)
                    {
                        isValidGroup = false;
                    }
                }
                if (isValidGroup)
                {
                    Ledgers newLedgers = new Ledgers();
                    newLedgers.CreatedDateTime = DateTime.UtcNow;
                    newLedgers.CompanyId       = CurrentCompanyId;
                    newLedgers.GroupId         = ledger.GroupId;
                    newLedgers.GroupTypId      = ledger.GroupTypeId;
                    newLedgers.LedgerName      = ledger.LedgerName;
                    newLedgers.LedgersDate     = ledger.ledgersDate != null?Convert.ToDateTime(ledger.ledgersDate).ToLocalTime() : ledger.ledgersDate;

                    newLedgers.Name       = newLedgers.LedgerName;
                    newLedgers.Balance    = ledger.Balance;
                    newLedgers.IsEditable = true;
                    if (ledger.ParentLedgerId != 0)
                    {
                        newLedgers.ParentLedgerId = ledger.ParentLedgerId;
                    }
                    newLedgers.Description = ledger.Description;
                    int id = _ledgerAccountRepository.SaveLedgers(newLedgers);
                    if (id != 0)
                    {
                        return(Ok(new { _isResult = id }));
                    }
                    else
                    {
                        return(Ok(new { _isResult = "NotValidLedgerName" }));
                    }
                }
                return(Ok(new { _isResult = "NotValidGroup" }));
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }
        /// <summary>
        /// This method used for get ledger account ac list
        /// </summary>
        /// <param name="listOfLedgers">pass ledgers list</param>
        /// <returns></returns>
        private List <LedgerAccountAC> GetLedgerAccountAC(List <Ledgers> listOfLedgers)
        {
            var ledgerCollection = new List <LedgerAccountAC>();
            var ledgerAc         = new LedgerAccountAC();

            foreach (var ledger in listOfLedgers)
            {
                //it will convert model class to appliation class based on naming conversions.
                ledgerAc            = ApplicationClassHelper.ConvertType <Ledgers, LedgerAccountAC>(ledger);
                ledgerAc.LedgerId   = ledger.Id;
                ledgerAc.LedgerName = ledger.LedgerName;
                ledgerAc.Address    = ledger.Address;
                ledgerAc.State      = ledger.State;
                ledgerAc.GroupName  = ledger.Group.GroupName;
                ledgerCollection.Add((ledgerAc));
            }
            return(ledgerCollection);
        }
        public IHttpActionResult GetLedgerList()
        {
            try
            {
                var ledgerList       = _ledgerAccountRepository.GetLedgerListByCompanyId(CurrentCompanyId);
                var ledgerCollection = new List <LedgerAccountAC>();
                var ledgerAc         = new LedgerAccountAC();
                foreach (var ledger in ledgerList)
                {
                    //it will convert model class to appliation class based on naming conversions.
                    ledgerAc            = ApplicationClassHelper.ConvertType <Ledgers, LedgerAccountAC>(ledger);
                    ledgerAc.LedgerId   = ledger.Id;
                    ledgerAc.IsEditable = ledger.IsEditable;
                    if (!ledger.IsEditable)
                    {
                        ledgerAc.BranchName = ledger.BranchDetail != null ? ledger.BranchDetail.Name : "";
                    }
                    else
                    {
                        ledgerAc.BranchName = "";
                    }
                    ledgerAc.LedgerName  = ledger.LedgerName;
                    ledgerAc.Address     = ledger.Address;
                    ledgerAc.State       = ledger.State;
                    ledgerAc.GroupTypeId = ledger.GroupTypId != null?Convert.ToInt32(ledger.GroupTypId) : 0;

                    ledgerAc.GroupTypeName  = ledger.GroupType != null ? ledger.GroupType.Name : "";
                    ledgerAc.ParentLedgerId = ledger.ParentLedgerId != null?Convert.ToInt32(ledger.ParentLedgerId) : 0;

                    ledgerAc.Balance   = ledger.Balance;
                    ledgerAc.GroupName = ledger.Group.GroupName;
                    ledgerCollection.Add((ledgerAc));
                }
                return(Ok(ledgerCollection));
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }
Exemple #5
0
        private List <LedgerAccountAC> GetSubLedgerList(int id, int companyId)
        {
            try
            {
                var ledgerAccountCollection = new List <LedgerAccountAC>();
                foreach (var ledgerse in _accountLedgerContext.Fetch(x => x.ParentLedgerId == id && x.CompanyId == companyId))
                {
                    var ledgerAccountAc = new LedgerAccountAC();
                    ledgerAccountAc           = ApplicationClassHelper.ConvertType <Ledgers, LedgerAccountAC>(ledgerse);
                    ledgerAccountAc.LedgerId  = ledgerse.Id;
                    ledgerAccountAc.LableName = "Sub account of " + ledgerse.ParentLedger.Name;
                    ledgerAccountCollection.Add(ledgerAccountAc);
                }

                return(ledgerAccountCollection);
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }
 public IHttpActionResult UpdateLedgers(LedgerAccountAC ledgerAccountAc)
 {
     try
     {
         Ledgers ledgers = _ledgerAccountRepository.GetLedgersByLedgersId(ledgerAccountAc.LedgerId);
         if (ledgers != null)
         {
             ledgers.LedgerName = ledgerAccountAc.LedgerName;
             ledgers.Name       = ledgerAccountAc.LedgerName;
             int id = _ledgerAccountRepository.UpdateLedgers(ledgers);
             if (id == 0)
             {
                 return(Ok(new { _isResult = "NotValidLedgerName" }));
             }
         }
         return(Ok(new { _isResult = true }));
     }
     catch (Exception ex)
     {
         _errorLog.LogException(ex);
         throw;
     }
 }
 public IHttpActionResult GetReceiptPaymentAccount()
 {
     try
     {
         var ledgerList       = _ledgerAccountRepository.GetReceiptPaymentLeadgers(CurrentCompanyId);
         var ledgerCollection = new List <LedgerAccountAC>();
         var ledgerAc         = new LedgerAccountAC();
         foreach (var ledger in ledgerList)
         {
             //it will convert model class to appliation class based on naming conversions.
             ledgerAc            = ApplicationClassHelper.ConvertType <Ledgers, LedgerAccountAC>(ledger);
             ledgerAc.LedgerId   = ledger.Id;
             ledgerAc.LedgerName = ledger.LedgerName;
             ledgerAc.GroupName  = ledger.Group.GroupName;
             ledgerCollection.Add((ledgerAc));
         }
         return(Ok(ledgerCollection));
     }
     catch (Exception ex)
     {
         _errorLog.LogException(ex);
         throw;
     }
 }