Exemple #1
0
        public long SaveDebtor(Debtor debtor, string userId)
        {
            var debtorDTO = new DTO.DebtorDTO()
            {
                AspNetUserId   = debtor.AspNetUserId,
                Action         = debtor.Action,
                Amount         = debtor.Amount,
                CasualWorkerId = debtor.CasualWorkerId,
                BranchId       = debtor.BranchId,
                SectorId       = debtor.SectorId,
                DebtorId       = debtor.DebtorId,
                Deleted        = debtor.Deleted,
                CreatedBy      = debtor.CreatedBy,
                CreatedOn      = debtor.CreatedOn
            };

            var debtorId = this._dataService.SaveDebtor(debtorDTO, userId);

            return(debtorId);
        }
Exemple #2
0
        public long SaveAccountTransactionActivity(AccountTransactionActivity accountTransactionActivity, string userId)
        {
            long   accountTransactionActivityId = 0;
            double startAmount = 0;
            double OldBalance  = 0;
            double NewBalance  = 0;

            if (accountTransactionActivity.AspNetUserId != null)
            {
                OldBalance  = GetBalanceForLastAccountAccountTransactionActivity(accountTransactionActivity.AspNetUserId);
                startAmount = OldBalance;
            }
            else
            {
                OldBalance  = GetBalanceForLastAccountAccountTransactionActivity(Convert.ToString(accountTransactionActivity.CasualWorkerId));
                startAmount = OldBalance;
            }

            if (accountTransactionActivity.Action == "-")
            {
                NewBalance = OldBalance - accountTransactionActivity.Amount;
            }
            else
            {
                NewBalance = OldBalance + accountTransactionActivity.Amount;
            }

            var accountTransactionActivityDTO = new DTO.AccountTransactionActivityDTO()
            {
                AspNetUserId   = accountTransactionActivity.AspNetUserId,
                CasualWorkerId = accountTransactionActivity.CasualWorkerId,
                Amount         = accountTransactionActivity.Amount,
                StartAmount    = startAmount,
                Balance        = NewBalance,
                Notes          = accountTransactionActivity.Notes,
                AccountTransactionActivityId = accountTransactionActivity.AccountTransactionActivityId,
                Action               = accountTransactionActivity.Action,
                BranchId             = accountTransactionActivity.BranchId,
                TransactionSubTypeId = accountTransactionActivity.TransactionSubTypeId,
                SectorId             = accountTransactionActivity.SectorId,
                Deleted              = accountTransactionActivity.Deleted,
                CreatedBy            = accountTransactionActivity.CreatedBy,
                CreatedOn            = accountTransactionActivity.CreatedOn
            };

            accountTransactionActivityId = this._dataService.SaveAccountTransactionActivity(accountTransactionActivityDTO, userId);

            long          transactionTypeId       = 0;
            List <string> transactionSubTypeNames = new List <string>();
            var           transactionSubType      = _transactionSubTypeService.GetTransactionSubType(accountTransactionActivity.TransactionSubTypeId);

            if (transactionSubType != null)
            {
                transactionTypeId = transactionSubType.TransactionTypeId;
                if (transactionSubType.Name == "Credit" || transactionSubType.Name == "Advance" || accountTransactionActivity.PaymentMode == "Credit")
                {
                    var debtorDTO = new DTO.DebtorDTO()
                    {
                        AspNetUserId   = accountTransactionActivity.AspNetUserId,
                        Action         = false,
                        Amount         = accountTransactionActivity.Amount,
                        CasualWorkerId = accountTransactionActivity.CasualWorkerId,
                        BranchId       = Convert.ToInt64(accountTransactionActivity.BranchId),
                        SectorId       = accountTransactionActivity.SectorId,
                        Deleted        = accountTransactionActivity.Deleted,
                        CreatedBy      = accountTransactionActivity.CreatedBy,
                        CreatedOn      = accountTransactionActivity.CreatedOn
                    };
                    var debtorId = _debtorDataService.SaveDebtor(debtorDTO, userId);
                }
                else if (transactionSubType.Name == "Deposit" || transactionSubType.Name == "maize purchase" || transactionSubType.Name == "Casual labour")
                {
                    var creditorDTO = new DTO.CreditorDTO()
                    {
                        AspNetUserId   = accountTransactionActivity.AspNetUserId,
                        Action         = false,
                        Amount         = accountTransactionActivity.Amount,
                        CasualWorkerId = accountTransactionActivity.CasualWorkerId,
                        BranchId       = Convert.ToInt64(accountTransactionActivity.BranchId),
                        SectorId       = accountTransactionActivity.SectorId,
                        Deleted        = accountTransactionActivity.Deleted,
                        CreatedBy      = accountTransactionActivity.CreatedBy,
                        CreatedOn      = accountTransactionActivity.CreatedOn
                    };
                    var creditorId = _creditorDataService.SaveCreditor(creditorDTO, userId);
                }
                else if (transactionSubType.Name == "OffLoading")
                {
                    double offloadingAmount = 0;
                    if (accountTransactionActivity.Amount > 0)
                    {
                        offloadingAmount = accountTransactionActivity.Amount * -1;
                    }

                    var creditorDTO = new DTO.CreditorDTO()
                    {
                        AspNetUserId   = accountTransactionActivity.AspNetUserId,
                        Action         = false,
                        Amount         = offloadingAmount,
                        CasualWorkerId = accountTransactionActivity.CasualWorkerId,
                        BranchId       = Convert.ToInt64(accountTransactionActivity.BranchId),
                        SectorId       = accountTransactionActivity.SectorId,
                        Deleted        = accountTransactionActivity.Deleted,
                        CreatedBy      = accountTransactionActivity.CreatedBy,
                        CreatedOn      = accountTransactionActivity.CreatedOn
                    };
                    var creditorId = _creditorDataService.SaveCreditor(creditorDTO, userId);
                }
                var transaction = new TransactionDTO()
                {
                    BranchId             = Convert.ToInt64(accountTransactionActivity.BranchId),
                    SectorId             = accountTransactionActivity.SectorId,
                    Amount               = accountTransactionActivity.Amount,
                    TransactionSubTypeId = accountTransactionActivity.TransactionSubTypeId,
                    TransactionTypeId    = transactionTypeId,
                    CreatedOn            = DateTime.Now,
                    TimeStamp            = DateTime.Now,
                    CreatedBy            = userId,
                    Deleted              = false,
                };
                var transactionId = _transactionDataService.SaveTransaction(transaction, userId);
            }
            return(accountTransactionActivityId);
        }