Esempio n. 1
0
        public async Task <long> Save(AccountTree entity)
        {
            _context.Entry(entity).State = entity.Id > 0 ? EntityState.Modified : EntityState.Added;
            await _context.SaveChangesAsync();

            return(entity.Id);
        }
Esempio n. 2
0
        public bool UpdateAccountTree(int Id, AccountTree accTree)
        {
            AccountTree existaccTree = GetAccountTreeById(Id);

            if (existaccTree == null)
            {
                return(false);
            }
            existaccTree.AccClassificationId = accTree.AccClassificationId;
            //existaccTree.AccountLevel = accTree.AccountLevel;
            //existaccTree.AccountNo = accTree.AccountNo;
            //existaccTree.Accprev = accTree.Accprev;
            existaccTree.AccTypeId           = accTree.AccTypeId;
            existaccTree.Balance             = accTree.Balance;
            existaccTree.CostCenter          = accTree.CostCenter;
            existaccTree.Credit              = accTree.Credit;
            existaccTree.Debit               = accTree.Debit;
            existaccTree.DescriptionAr       = accTree.DescriptionAr;
            existaccTree.DescriptionEn       = accTree.DescriptionEn;
            existaccTree.EhalkPrecent        = accTree.EhalkPrecent;
            existaccTree.FixedAssetDate      = accTree.FixedAssetDate;
            existaccTree.HighLimitForBalance = accTree.HighLimitForBalance;
            existaccTree.JE = accTree.JE;
            //existaccTree.ParentId = accTree.ParentId;
            existaccTree.PriceInExhibtion = accTree.PriceInExhibtion;

            _context.Update(existaccTree);
            _context.SaveChanges();

            return(true);
        }
Esempio n. 3
0
        public async Task <long> Delete(long id)
        {
            AccountTree farm = await GetById(id);

            _context.AccountTrees.Remove(farm);
            await _context.SaveChangesAsync();

            return(id);
        }
        protected override void RunInContextEmptyResponse(UpdateCompleteAccountTreeRequest request, PersistenceContext context)
        {
            foreach (Guid id in request.DeletedTreesIds)
            {
                AccountTree entity = context.Session.Load <AccountTree>(id);
                entity.MarkAsDelete();
            }

            context.Session.Flush(); //por los uniques

            foreach (UI.AccountTreeListItem ui in request.UpdatedTrees)
            {
                AccountTree entity = context.Session.Load <AccountTree>(ui.Id);
                ui.CopyTo(entity);
            }

            context.Session.Flush(); //por los uniques

            foreach (UI.AccountTreeListItem ui in request.CreatedTrees)
            {
                AccountTree entity = new AccountTree(ui.Id);
                ui.CopyTo(entity);
                context.Session.Save(entity);
            }

            foreach (UI.ContableAccount ui in request.UpdatedAccounts)
            {
                ContableAccount entity = context.Session.Load <ContableAccount>(ui.Id);
                ui.CopyTo(entity); //las modificaciones sin cambio de padres
                entity.AccountTree = context.Session.Load <AccountTree>(ui.AccountTreeId);
            }

            foreach (UI.ContableAccount ui in request.CreatedAccounts)
            {
                ContableAccount entity = new ContableAccount(ui.Id);
                ui.CopyTo(entity);
                entity.AccountTree = context.Session.Load <AccountTree>(ui.AccountTreeId);
                context.Session.Save(entity); //los grabo sin padre
            }

            //para cada una de las modificadas o creadas les pongo el padre
            foreach (UI.ContableAccount ui in request.UpdatedAccounts.Union(request.CreatedAccounts))
            {
                ContableAccount entity = context.Session.Load <ContableAccount>(ui.Id);
                if (ui.ParentAccountId.HasValue)
                {
                    entity.ParentAccount = context.Session.Load <ContableAccount>(ui.ParentAccountId.Value);
                }
                else
                {
                    entity.ParentAccount = null;
                }
            }
        }
Esempio n. 5
0
 public async Task <long> Save(AccountTree entity)
 {
     try
     {
         return(await _accountTreeDAL.Save(_mapper.Map <AccountTree>(entity)));
     }
     catch (Exception ex)
     {
         return(0);
     }
 }
Esempio n. 6
0
        public int AddCustomer(Customer customer)
        {
            // Add Customer Account In the Tree
            var getLastCustomerAccount = _context.AccountTrees.Where(x => x.Accprev.Contains("01002006000")).LastOrDefault();
            var getCustomerAccount     = _context.AccountTrees.Where(x => x.AccountNo.Contains("01002006000")).SingleOrDefault();

            if (getCustomerAccount != null)
            {
                AccountTree Acc = new AccountTree
                {
                    DescriptionAr       = customer.FirstName + "    " + customer.LastName,
                    DescriptionEn       = customer.FirstName + "    " + customer.LastName,
                    AccountLevel        = getCustomerAccount.AccountLevel + 1,
                    AccClassificationId = getCustomerAccount.AccClassificationId,
                    AccTypeId           = getCustomerAccount.AccTypeId,
                    Accprev             = getCustomerAccount.AccountNo,
                    CostCenter          = getCustomerAccount.CostCenter,
                    ParentId            = getCustomerAccount.Id,
                    EhalkPrecent        = 0,
                    HighLimitForBalance = 0,
                    PriceInExhibtion    = 0,
                    JE      = null,
                    Debit   = 0,
                    Credit  = 0,
                    Balance = 0,
                };
                if (getLastCustomerAccount != null)
                {
                    var newacouuntnumber = int.Parse(getLastCustomerAccount.AccountNo);
                    newacouuntnumber += 1;
                    Acc.AccountNo     = "0" + newacouuntnumber.ToString();
                }
                else
                {
                    var newacouuntnumber = int.Parse(getCustomerAccount.AccountNo);
                    newacouuntnumber += 1;
                    Acc.AccountNo     = "0" + newacouuntnumber.ToString();
                }

                _context.AccountTrees.Add(Acc);
                _context.SaveChanges();
                customer.AccountTreeId = Acc.Id;
            }
            //
            customer.Name = customer.FirstName + "  " + customer.LastName;

            customer.IsActive = true;
            _context.Customers.Add(customer);
            _context.SaveChanges();

            return(customer.Id);
        }
Esempio n. 7
0
        public bool RemoveAccountTree(int Id)
        {
            AccountTree accTree = GetAccountTreeById(Id);

            if (accTree == null)
            {
                return(false);
            }
            _context.Remove(accTree);
            _context.SaveChanges();

            return(true);
        }
        //TODO: Elimianar esta Accion
        protected override void RunInContextEmptyResponse(UpdateAccountTreeListRequest request, PersistenceContext context)
        {
            foreach (Guid id in request.DeletedIds)
            {
                AccountTree entity = context.Session.Load <AccountTree>(id);
                entity.MarkAsDelete();
            }

            context.Session.Flush();

            //Modifico los elementos modificados
            foreach (UI.AccountTreeListItem ui in request.UpdatedItems)
            {
                AccountTree entity = context.Session.Load <AccountTree>(ui.Id);

                /*
                 * if (entity.Version != ui.Version)
                 *  throw new StaleObjectStateException("AccountTree", ui.Id);
                 */

                ui.CopyTo(entity);

                /*-*
                 * entity.Active = ui.Active;
                 * entity.Code = ui.Code;
                 * entity.Description = ui.Description;
                 * entity.Name = ui.Name;
                 */
            }

            context.Session.Flush();

            //Creo los nuevos elementos
            foreach (UI.AccountTreeListItem ui in request.CreatedItems)
            {
                AccountTree entity = new AccountTree(ui.Id);
                ui.CopyTo(entity);
                context.Session.Save(entity);

                /*-*
                 * AccountTree entity = new AccountTree()
                 * {
                 *  Active = ui.Active,
                 *  Code = ui.Code,
                 *  Description = ui.Description,
                 *  Name = ui.Name
                 * };
                 * context.Session.Save(entity, ui.Id);
                 */
            }
        }
        //  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);
        }
Esempio n. 10
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);
        }
Esempio n. 12
0
 public int AddAccountTree(AccountTree accTree)
 {
     _context.AccountTrees.Add(accTree);
     _context.SaveChanges();
     return(accTree.Id);
 }
Esempio n. 13
0
 public async Task <IActionResult> Save(AccountTree model) => Ok(await _accountTreeDSL.Save(model));