Пример #1
0
        public static string Manage(NameValueCollection querystring)
        {
            string  isInsert = querystring.Get("TransType");
            int     intParser;
            decimal decParser;

            UserProfile userProfile = WebCommon.GetUserProfile();

            var fundtransfer = new FundTransfer
            {
                FTID                   = querystring.Get("FTID"),
                intIDMasLocation       = int.TryParse(querystring.Get("BranchID"), out intParser) ? intParser : 0,
                FTDate                 = querystring.Get("FTDate"),
                COAIDOrg               = querystring.Get("COAIDOrg"),
                COASubsidiaryIDOrg     = querystring.Get("COASubsidiaryIDOrg"),
                COAIndSubsidiaryIDOrg  = querystring.Get("COAIndSubsidiaryIDOrg"),
                FTAmount               = decimal.TryParse(querystring.Get("FTAmount"), out decParser) ? decParser : 0,
                FTRemarks              = querystring.Get("FTRemarks"),
                FTBranchDestID         = querystring.Get("FTBranchDestID"),
                COAIDDest              = querystring.Get("COAIDDest"),
                COASubsidiaryIDDest    = querystring.Get("COASubsidiaryIDDest"),
                COAIndSubsidiaryIDDest = querystring.Get("COAIndSubsidiaryIDDest"),
                intIDSecUser           = userProfile.UserId
            };

            string param = WebCommon.ToXML(fundtransfer);

            return(FundTransferFormDAL.Manage(param, isInsert));
        }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            var loggedInUser = HttpContext.User;
            var customerId   = loggedInUser.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier).Value;

            if (id == null)
            {
                return(NotFound());
            }

            fundTransfer = await _context.FundTransfer
                           .OrderBy(f => f.TransactionDate)
                           .FirstOrDefaultAsync <FundTransfer>(f => f.CustomerID == customerId);

            //.Include(f => f.Customer)
            //.Where(f => f.Customer.Id == "0976cf3d-e934-494e-8a22-d7882deee2f1")
            //.FirstOrDefaultAsync<FundTransfer>();

            //var customerid = fundTransfer.Where(f => f.Customer.Id == "0976cf3d-e934-494e-8a22-d7882deee2f1").Single().Id;

            if (fundTransfer == null)
            {
                return(Unauthorized());
            }

            // if (fundTransfer == null)
            // {
            //     return NotFound();
            // }
            return(Page());
        }
Пример #3
0
        public async Task <int> AddFundTransferAsync(FundTransfer model)
        {
            if (model == null)
            {
                return(0);
            }
            try
            {
                var entity = new FundTransfer()
                {
                    FundTransferGuid    = model.FundTransferGuid,
                    PayeeId             = model.PayeeId,
                    PayeePaymentType    = model.PayeePaymentType,
                    PayeeBankId         = model.PayeeBankId,
                    PayeeCashId         = model.PayeeCashId,
                    DateOfPayment       = model.DateOfPayment,
                    Amount              = model.Amount,
                    Narration           = model.Narration,
                    ReceiverId          = model.ReceiverId,
                    ReceiverPaymentType = model.ReceiverPaymentType,
                    ReceiverBankId      = model.ReceiverBankId,
                    ReceiverCashId      = model.ReceiverCashId
                };
                _dataSource.Entry(entity).State = EntityState.Added;
                await _dataSource.SaveChangesAsync();

                return(entity.FundTransferId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #4
0
        // To protect from overposting attacks, see https://aka.ms/RazorPagesCRUD
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var loggedInUser = HttpContext.User;
            var customerId   = loggedInUser.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier).Value;

            var emptyFundTransfer = new FundTransfer();

            emptyFundTransfer.CustomerID = customerId;

            if (await TryUpdateModelAsync <FundTransfer>(
                    emptyFundTransfer,
                    "fundtransfer",
                    f => f.ID, f => f.AccountFrom, f => f.AccountTo, f => f.Amount, f => f.TransactionDate, f => f.Note, f => f.CustomerID))
            {
                _context.FundTransfer.Add(emptyFundTransfer);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            PopulateAccountsDropDownList(_context);
            return(Page());
        }
        public ActionResult FundTransfer(FundTransfer ft)
        {
            Statement s        = new Statement();
            int       facntbal = db.AccountsSummary.Where(o => o.Account == ft.FromAccount).FirstOrDefault().Balance;
            int       tacntbal = db.AccountsSummary.Where(o => o.Account == ft.ToAccount).FirstOrDefault().Balance;

            if (facntbal >= ft.Amount)
            {
                s.Account   = ft.FromAccount;
                s.Credit    = 0;
                s.Debit     = ft.Amount;
                s.Balance   = facntbal - ft.Amount;
                s.Updatedat = DateTime.UtcNow;
                s.comment   = "Transferred to :" + ft.ToAccount;
                db.Statements.Add(s);

                Statement a = new Statement();
                a.Account   = ft.ToAccount;
                a.Credit    = ft.Amount;
                a.Debit     = 0;
                a.Balance   = tacntbal + ft.Amount;
                a.Updatedat = DateTime.UtcNow;
                a.comment   = "Transferred from: " + ft.FromAccount;
                db.Statements.Add(a);
                db.SaveChanges();
            }
            return(RedirectToAction("Statement", "BankAccounts", new { acct = ft.FromAccount }));
        }
Пример #6
0
        public void Save(FundTransfer transfer)
        {
            var existTransfer = erpNodeDBContext.FundTransfers.Find(transfer.Id);

            if (existTransfer == null)
            {
                transfer.FiscalYear      = organization.FiscalYears.Find(transfer.TransactionDate);
                transfer.TransactionType = Models.Accounting.Enums.TransactionTypes.FundTransfer;
                transfer.No = NextNumber;
                transfer.BankFeeAccountGuid = organization.SystemAccounts.BankFee.Id;

                erpNodeDBContext.FundTransfers.Add(transfer);
            }
            else
            {
                if (existTransfer.PostStatus == LedgerPostStatus.Posted)
                {
                    return;
                }

                transfer.FiscalYear               = organization.FiscalYears.Find(transfer.TransactionDate);
                existTransfer.Reference           = transfer.Reference;
                existTransfer.TransactionDate     = transfer.TransactionDate;
                existTransfer.DepositAccountGuid  = transfer.DepositAccountGuid;
                existTransfer.WithDrawAccountGuid = transfer.WithDrawAccountGuid;
                existTransfer.AmountwithDraw      = transfer.AmountwithDraw;
                existTransfer.AmountFee           = transfer.AmountFee;
                existTransfer.Reference           = transfer.Reference;
            }



            erpNodeDBContext.SaveChanges();
        }
        static public async Task <FundTransferModel> CreateFundTransferModelAsync(FundTransfer source, bool includeAllFields)
        {
            var model = new FundTransferModel()
            {
                FundTransferId      = source.FundTransferId,
                FundTransferGuid    = source.FundTransferGuid,
                PayeeId             = source.PayeeId.ToString(),
                PayeePaymentType    = source.PayeePaymentType,
                PayeeBankId         = source.PayeeBankId,
                PayeeCashId         = source.PayeeCashId,
                DateOfPayment       = source.DateOfPayment,
                Amount              = source.Amount.ToString(),
                Narration           = source.Narration,
                ReceiverId          = source.ReceiverId.ToString(),
                ReceiverPaymentType = source.ReceiverPaymentType,
                ReceiverBankId      = source.ReceiverBankId,
                ReceiverCashId      = source.ReceiverCashId,
                FromAccountName     = source.FromAccountName,
                FromCompanyName     = source.FromCompanyName,
                ToAccountName       = source.ToAccountName,
                ToCompanyName       = source.ToCompanyName
            };

            return(model);
        }
Пример #8
0
        public async Task <IActionResult> OnGetAsync(Guid?id)
        {
            if (!id.HasValue)
            {
                return(NotFound());
            }

            if (!User.Identity.IsAuthenticated)
            {
                return(Challenge());
            }

            fundTransfer = await _context.FundTransfer
                           .Where(f => f.ID == id)
                           .Include(f => f.Customer)
                           .OrderBy(f => f.TransactionDate)
                           .FirstOrDefaultAsync <FundTransfer>();

            var isAuthorized = await _authorizationService.AuthorizeAsync(
                User, fundTransfer,
                "Owner");

            if (!isAuthorized.Succeeded)
            {
                return(Forbid());
            }

            return(Page());
        }
        public IEnumerable <FundTransfer> GetFundTransfers(string search)
        {
            List <FundTransfer> fundTransfers = new List <FundTransfer>();

            using (SqliteConnection con = new SqliteConnection(connectionString))
            {
                SqliteCommand cmd = new SqliteCommand("Select * from FundTransfer where Note like '%" + @search + "%'", con);
                cmd.CommandType = CommandType.Text;

                cmd.Parameters.AddWithValue("@search", search);

                con.Open();
                SqliteDataReader rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    FundTransfer fundtransfer = new FundTransfer();
                    fundtransfer.ID              = Convert.ToInt32(rdr["ID"]);
                    fundtransfer.AccountFrom     = Convert.ToInt32(rdr["AccountFrom"]);
                    fundtransfer.AccountTo       = Convert.ToInt32(rdr["AccountTo"]);
                    fundtransfer.TransactionDate = Convert.ToDateTime(rdr["TransactionDate"]);
                    fundtransfer.Amount          = decimal.Parse(rdr["Amount"].ToString());
                    fundtransfer.Note            = rdr["Note"].ToString();
                    fundTransfers.Add(fundtransfer);
                }
                con.Close();
            }
            return(fundTransfers);
        }
Пример #10
0
        public HttpResponseMessage AddFundTransfer(HttpRequestMessage reqObject)
        {
            string result        = string.Empty;
            int    result_result = 0;
            string result_msg    = "information hasn't been added";

            _requestedDataObject = _IDataManipulation.GetRequestedDataObject(reqObject);
            if (_requestedDataObject != null && _requestedDataObject.BusinessData != null)
            {
                _FundTransfer = new FundTransfer();
                _FundTransfer = JsonConvert.DeserializeObject <FundTransfer>(_requestedDataObject.BusinessData);

                bool IsValid = ModelValidation.TryValidateModel(_FundTransfer, out _modelErrorMsg);
                if (IsValid)
                {
                    result = _IFundTransferService.AddFundTransfer(_FundTransfer);
                    var split = result.ToString().Split(':');
                    result_result = Convert.ToInt32(split[0]);
                    result_msg    = split[1];
                }
            }
            if (!string.IsNullOrWhiteSpace(_modelErrorMsg))
            {
                _serviceResponse = _IDataManipulation.SetResponseObject(result_result, _modelErrorMsg);
            }
            else
            {
                _serviceResponse = _IDataManipulation.SetResponseObject(result_result, result_msg);
            }
            _response = _IDataManipulation.CreateResponse(_serviceResponse, reqObject);
            return(_response);
        }
Пример #11
0
        public async Task <int> UpdateFundTransferAsync(FundTransfer model)
        {
            _dataSource.Entry(model).State = EntityState.Modified;
            int res = await _dataSource.SaveChangesAsync();

            return(res);
        }
        public ActionResult FundTransfer(String userid)
        {
            ViewBag.fromAccount_List = new SelectList(db.customeraccounts.Where(o => o.UserID == userid).ToList(), "Account", "Account");
            ViewBag.toAccount_List   = new SelectList(db.Benefeciries.Where(o => o.UserID == userid).ToList(), "Account", "Account");
            FundTransfer b = new FundTransfer();

            return(View(b));
        }
Пример #13
0
        public void UnPostLedger(FundTransfer transfer)
        {
            Console.WriteLine("> UnPost GL," + transfer.TransactionType + " " + transfer.No);
            organization.LedgersDal.RemoveTransaction(transfer.Id);

            transfer.PostStatus = LedgerPostStatus.ReadyToPost;
            erpNodeDBContext.SaveChanges();
        }
Пример #14
0
 public void Delete(FundTransfer transfer)
 {
     if (transfer.PostStatus == LedgerPostStatus.Posted)
     {
         this.UnPostLedger(transfer);
         erpNodeDBContext.FundTransfers.Remove(transfer);
         erpNodeDBContext.SaveChanges();
     }
 }
        public async Task <int> DeleteFundTransferAsync(FundTransferModel model)
        {
            var fundTransfer = new FundTransfer {
                FundTransferId = model.FundTransferId
            };

            using (var dataService = DataServiceFactory.CreateDataService())
            {
                return(await dataService.DeleteFundTransferAsync(fundTransfer));
            }
        }
Пример #16
0
        public object AproveOrRejectDisburseAmountPosting(string evnt, [FromBody] FundTransfer fundTransferModel)
        {
            string checkedUser = fundTransferModel.CheckUser;
            //fundTransferModel = _fundTransferService.SingleOrDefaultByCustomField(fundTransferModel.TransNo, "TransNo", new FundTransfer());
            //fundTransferModel.CheckUser = checkedUser;

            TblDisburseAmtDtlMake objTblDisburseAmtDtlMake = new TblDisburseAmtDtlMake();

            objTblDisburseAmtDtlMake = _disburseAmtDtlMakeService.SingleOrDefaultByCustomField(fundTransferModel.TransNo, "Tranno", new TblDisburseAmtDtlMake());


            try
            {
                if (evnt == "register")
                {
                    //fundTransferModel.Status = "A";
                    objTblDisburseAmtDtlMake.Status    = "C";
                    objTblDisburseAmtDtlMake.CheckerId = checkedUser;
                    objTblDisburseAmtDtlMake.CheckTime = System.DateTime.Now;

                    var successOrErrorMsg = _disbursementService.DataInsertToTransMSTandDTL(objTblDisburseAmtDtlMake);
                    if (successOrErrorMsg.ToString() == "1")
                    {
                        //Insert into audit trial audit and detail
                        TblDisburseAmtDtlMake prevModel = _disburseAmtDtlMakeService.SingleOrDefaultByCustomField(fundTransferModel.TransNo, "Tranno", new TblDisburseAmtDtlMake());
                        prevModel.Status = "M";//insert for only audit trail
                        _auditTrailService.InsertUpdatedModelToAuditTrail(objTblDisburseAmtDtlMake, prevModel, objTblDisburseAmtDtlMake.CheckerId, 10, 4, "Disburse Amount Posting", objTblDisburseAmtDtlMake.CompanyId.ToString(), "Approved Successfully!");
                    }
                    return(successOrErrorMsg);
                }
                else if (evnt == "reject")
                {
                    objTblDisburseAmtDtlMake.Status    = "R";
                    objTblDisburseAmtDtlMake.CheckerId = checkedUser;
                    objTblDisburseAmtDtlMake.CheckTime = System.DateTime.Now;
                    _disburseAmtDtlMakeService.UpdateByStringField(objTblDisburseAmtDtlMake, "Tranno");

                    //Insert into audit trial audit and detail
                    TblDisburseAmtDtlMake prevModel = _disburseAmtDtlMakeService.SingleOrDefaultByCustomField(fundTransferModel.TransNo, "Tranno", new TblDisburseAmtDtlMake());
                    prevModel.Status = "M";//insert for only audit trail
                    _auditTrailService.InsertUpdatedModelToAuditTrail(objTblDisburseAmtDtlMake, prevModel, objTblDisburseAmtDtlMake.CheckerId, 10, 4, "Disburse Amount Posting", objTblDisburseAmtDtlMake.CompanyId.ToString(), "Rejected Successfully!");

                    return(true);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            {
                return(errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()));
            }
        }
        public static List <FundTransfer> GetFundTransfer(string criteria, int branchid)
        {
            var dbUtil = new DatabaseManager();
            var fundtransferHeaders = new List <FundTransfer>();

            using (var conn = new SqlConnection(dbUtil.getSQLConnectionString("MainDB")))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandType    = CommandType.StoredProcedure;
                    cmd.CommandText    = "spFundTransferGetHeader";
                    cmd.CommandTimeout = 180;
                    cmd.Parameters.Clear();
                    cmd.Parameters.AddWithValue("@strCriteria", criteria);
                    cmd.Parameters.AddWithValue("@intIDMasLocation", branchid);

                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var fundtransferHeader = new FundTransfer
                            {
                                FTID                     = ReferenceEquals(reader["FTID"], DBNull.Value) ? String.Empty : (string)reader["FTID"],
                                FTDate                   = ReferenceEquals(reader["FTDate"], DBNull.Value) ? String.Empty : (string)reader["FTDate"],
                                COAIDOrg                 = ReferenceEquals(reader["COAIDOrg"], DBNull.Value) ? String.Empty : (string)reader["COAIDOrg"],
                                COADescOrg               = ReferenceEquals(reader["COADescOrg"], DBNull.Value) ? String.Empty : (string)reader["COADescOrg"],
                                COASubsidiaryIDOrg       = ReferenceEquals(reader["COASubsidiaryIDOrg"], DBNull.Value) ? String.Empty : (string)reader["COASubsidiaryIDOrg"],
                                COASubsidiaryDescOrg     = ReferenceEquals(reader["COASubsidiaryDescOrg"], DBNull.Value) ? String.Empty : (string)reader["COASubsidiaryDescOrg"],
                                FTBranchDestID           = ReferenceEquals(reader["FTBranchDestID"], DBNull.Value) ? String.Empty : (string)reader["FTBranchDestID"],
                                FTBranchDestName         = ReferenceEquals(reader["FTBranchDestName"], DBNull.Value) ? String.Empty : (string)reader["FTBranchDestName"],
                                FTAmount                 = ReferenceEquals(reader["FTAmount"], DBNull.Value) ? 0 : (decimal)reader["FTAmount"],
                                FTRemarks                = ReferenceEquals(reader["FTRemarks"], DBNull.Value) ? String.Empty : (string)reader["FTRemarks"],
                                COAIndSubsidiaryIDOrg    = ReferenceEquals(reader["COAIndSubsidiaryIDOrg"], DBNull.Value) ? String.Empty : (string)reader["COAIndSubsidiaryIDOrg"],
                                COAIndSubsidiartDescOrg  = ReferenceEquals(reader["COAIndSubsidiartDescOrg"], DBNull.Value) ? string.Empty : (string)reader["COAIndSubsidiartDescOrg"],
                                COAIDDest                = ReferenceEquals(reader["COAIDDest"], DBNull.Value) ? String.Empty : (string)reader["COAIDDest"],
                                COADescDest              = ReferenceEquals(reader["COADescDest"], DBNull.Value) ? String.Empty : (string)reader["COADescDest"],
                                COASubsidiaryIDDest      = ReferenceEquals(reader["COASubsidiaryIDDest"], DBNull.Value) ? String.Empty : (string)reader["COASubsidiaryIDDest"],
                                COASubsidiaryDescDest    = ReferenceEquals(reader["COASubsidiaryDescDest"], DBNull.Value) ? String.Empty : (string)reader["COASubsidiaryDescDest"],
                                COAIndSubsidiaryIDDest   = ReferenceEquals(reader["COAIndSubsidiaryIDDest"], DBNull.Value) ? String.Empty : (string)reader["COAIndSubsidiaryIDDest"],
                                COAIndSubsidiartDescDest = ReferenceEquals(reader["COAIndSubsidiartDescDest"], DBNull.Value) ? string.Empty : (string)reader["COAIndSubsidiartDescDest"]
                            };

                            fundtransferHeaders.Add(fundtransferHeader);
                        }

                        return(fundtransferHeaders);
                    }
                }
            }
        }
    private void Manage()
    {
        string result = FundTransferFormBAL.Manage(Request.QueryString);


        var fundtransfer = new FundTransfer
        {
            //FTID = Convert.ToInt32(result.Split(',')[0]),

            FTID = result
        };

        Response.Write(fundtransfer.ToJSON());
    }
Пример #19
0
        public async Task <IActionResult> OnGetAsync(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            FundTransfer = await _context.FundTransfer.FirstOrDefaultAsync(m => m.ID == id);

            if (FundTransfer == null)
            {
                return(NotFound());
            }
            return(Page());
        }
 private void UpdateFundTransferFromModel(FundTransfer target, FundTransferModel source)
 {
     target.FundTransferId      = source.FundTransferId;
     target.FundTransferGuid    = source.FundTransferGuid;
     target.PayeeId             = Convert.ToInt32(source.PayeeId);
     target.PayeePaymentType    = source.PayeePaymentType;
     target.PayeeBankId         = source.PayeeBankId;
     target.PayeeCashId         = source.PayeeCashId;
     target.DateOfPayment       = source.DateOfPayment.UtcDateTime;
     target.Amount              = Convert.ToDecimal(string.IsNullOrEmpty(source.Amount) ? "0" : source.Amount);
     target.Narration           = source.Narration;
     target.ReceiverId          = Convert.ToInt32(source.ReceiverId);
     target.ReceiverPaymentType = source.ReceiverPaymentType;
     target.ReceiverBankId      = source.ReceiverBankId;
     target.ReceiverCashId      = source.ReceiverCashId;
 }
        public async Task <FundTransferModel> AddFundTransferAsync(FundTransferModel model)
        {
            using (var dataService = DataServiceFactory.CreateDataService())
            {
                var fundTransfer = new FundTransfer();
                if (fundTransfer != null)
                {
                    UpdateFundTransferFromModel(fundTransfer, model);
                    fundTransfer.FundTransferGuid = Guid.NewGuid();
                    var id = await dataService.AddFundTransferAsync(fundTransfer);

                    model.Merge(await GetFundTransferAsync(dataService, id));
                }
                return(model);
            }
        }
Пример #22
0
        public void InstantiateIn(Control container)
        {
            parent = (GridViewBaseRowTemplateContainer)container;
            //CssPostfix = parent.Grid.CssPostfix;
            //tbControl = new Table();
            tbData = new Table();
            //tbControl.SetTableControlStyle(CssPostfix);
            //tbData.SetTableStyle(CssPostfix);
            //TableRow row = new TableRow();
            //TableCell cell = new TableCell();
            //cell.Controls.Add(tbData);
            //row.Cells.Add(cell);
            //tbControl.Rows.Add(row);
            //tbData.SetPageContentStyle(parent.Grid.CssPostfix);
            int paymentID = (int)DataBinder.Eval(parent.DataItem, "PaymentID");

            payment = context.PersistencySession.Get <iSabaya.Payment>(paymentID);
            if (payment.Type.Equals(typeof(Cheque)))
            {
                Cheque c = payment as Cheque;
                this.AddDataItem(c);
            }
            else if (payment.Type.Equals(typeof(Cash)))
            {
                Cash c = payment as Cash;
                this.AddDataItem("Destination Bank Account:", c.DestinationBankAccount);
                this.AddDataItem("Recipient Name:", c.RecipientName);
            }
            else if (payment.Type.Equals(typeof(BankDeposit)))
            {
                BankDeposit bd = payment as BankDeposit;
                this.AddDataItem(bd.Cheque);
                this.AddDataItem("Bank Account:", bd.BankAccount);
                this.AddDataItem("Recipient Name:", bd.RecipientName);
            }
            else if (payment.Type.Equals(typeof(FundTransfer)))
            {
                FundTransfer ft = payment as FundTransfer;
                this.AddDataItem("Status:", ft.Status.ToString());
                this.AddDataItem("Status Date:", ft.StatusDate);
                this.AddDataItem("From Bank Account:", ft.FromBankAccount);
                this.AddDataItem("To Bank Account:", ft.ToBankAccount);
                this.AddDataItem("Recipient Name:", ft.RecipientName);
            }
            parent.Controls.Add(tbData);
        }
Пример #23
0
        public FundTransfer Copy(FundTransfer originalFundTransfer, DateTime trDate)
        {
            var cloneFundTransfer = this.erpNodeDBContext.FundTransfers
                                    .AsNoTracking()
                                    .FirstOrDefault(x => x.Id == originalFundTransfer.Id);

            cloneFundTransfer.Id = Guid.NewGuid();
            cloneFundTransfer.TransactionDate = trDate;
            cloneFundTransfer.Reference       = "Clone-" + cloneFundTransfer.Reference;
            cloneFundTransfer.No         = organization.FundTransfers.NextNumber;
            cloneFundTransfer.PostStatus = LedgerPostStatus.ReadyToPost;

            this.erpNodeDBContext.FundTransfers.Add(cloneFundTransfer);
            this.erpNodeDBContext.SaveChanges();

            return(cloneFundTransfer);
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            FundTransfer = await _context.FundTransfer.FindAsync(id);

            if (FundTransfer != null)
            {
                _context.FundTransfer.Remove(FundTransfer);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Пример #25
0
        public bool PostLedger(FundTransfer tr, bool SaveImmediately = true)
        {
            if (tr.PostStatus == LedgerPostStatus.Posted)
            {
                return(false);
            }

            var trLedger = new Models.Accounting.LedgerGroup()
            {
                Id = tr.Id,
                TransactionDate = tr.TransactionDate,
                TransactionName = tr.Name,
                TransactionNo   = tr.No,
                TransactionType = transactionType
            };

            trLedger.AddCredit(tr.WithDrawAccount, tr.AmountwithDraw);
            if (tr.AmountFee > 0)
            {
                trLedger.AddDebit(tr.BankFeeAccount, tr.AmountFee);
            }
            trLedger.AddDebit(tr.DepositAccount, tr.AmountDeposit);



            if (trLedger.FinalValidate())
            {
                erpNodeDBContext.LedgerGroups.Add(trLedger);
                tr.PostStatus = LedgerPostStatus.Posted;
            }
            else
            {
                return(false);
            }

            if (SaveImmediately)
            {
                erpNodeDBContext.SaveChanges();
            }

            return(true);
        }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            fundTransfer = await _context.FundTransfer
                           .Where(f => f.ID == id)
                           .Include(f => f.Customer)
                           .OrderBy(f => f.TransactionDate)
                           .FirstOrDefaultAsync <FundTransfer>();

            if (fundTransfer == null)
            {
                return(NotFound());
            }

            return(Page());
        }
Пример #27
0
        public ActionResult FundTransfer(FundTransfer fund)
        {
            OnlineBankingEntities Context = new OnlineBankingEntities();
            var r = Session["UserID"];
            var accountDetails = (from e in Context.AccountDetails
                                  where e.UserID == r.ToString()
                                  select e).First();
            var customerInfo = (from e in Context.CustomerInfo
                                where e.UserID == r.ToString()
                                select e).First();
            var currentbalance = accountDetails.BalanceAvailable;

            if (fund.TransAmount >= 100)
            {
                Transaction t1 = new Transaction();
                if (accountDetails.BalanceAvailable >= fund.TransAmount)
                {
                    t1.UserID                       = fund.UserID;
                    t1.ValueDate                    = DateTime.Now;
                    t1.Narration                    = "Fund Transfer";
                    t1.InitialBalance               = currentbalance;
                    t1.Withdrawal                   = fund.TransAmount;
                    t1.ClosingBalance               = currentbalance - fund.TransAmount;
                    t1.FundTransferToAccount        = fund.ToAccount;
                    accountDetails.BalanceAvailable = t1.ClosingBalance;
                    customerInfo.BalanceAvailable   = t1.ClosingBalance;
                    Context.Transactions.Add(t1);
                    Context.SaveChanges();
                    ViewBag.Message = "Current Balance is " + t1.ClosingBalance + " in your account ";
                }
                else
                {
                    ViewBag.Message = "Insufficient Balance";
                }
            }
            else
            {
                ViewBag.Message = "Minimum value is above 100";
            }
            return(View());
        }
        // To protect from overposting attacks, see https://aka.ms/RazorPagesCRUD
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var emptyFundTransfer = new FundTransfer();

            if (await TryUpdateModelAsync <FundTransfer>(
                    emptyFundTransfer,
                    "fundtransfer",
                    f => f.ID, f => f.AccountFrom, f => f.AccountTo, f => f.Amount, f => f.TransactionDate, f => f.Note))
            {
                _context.FundTransfer.Add(emptyFundTransfer);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            PopulateAccountsDropDownList(_context);
            return(Page());
        }
Пример #29
0
 public void Add(FundTransfer entity)
 {
     erpNodeDBContext.FundTransfers.Add(entity);
 }
        protected void add_Callback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e)
        {
            List <Payment> payments;

            if (e.Parameters == "clear")
            {
                Session["listPayment"] = null;
            }

            #region Add Payment

            else
            {
                payments = new List <Payment>();
                decimal amount = 0.0M, amountCheque = 0.0M, amountChequeForTransaction = 0.0M;
                if (cbxPayMethod.SelectedItem == null)
                {
                    throw new ApplicationException("เลือกวิธีการชำระเงิน");
                }
                String payMethod = (String)cbxPayMethod.SelectedItem.Value;
                String payType   = (cbxPayType.SelectedItem == null ? "Cash" : (String)cbxPayType.SelectedItem.Value);
                //Party payee = Organization.FindByCode(iSabayaContext, CommonConstants.PayeeOrgCode);
                Payment payment = null;

                #region BankDeposit

                if (payMethod.Equals("BankAccountDeposit"))
                {
                    BankDeposit bankDeposit = new BankDeposit();
                    bankDeposit.PaymentType = "BankDeposit";
                    if (payType.Equals("Cash"))
                    {
                        amount                  = (decimal)spnAmount.Value;
                        payment                 = new Cash();
                        bankDeposit.Amount      = new Money(amount, iSabayaContext.imSabayaConfig.DefaultCurrency);
                        bankDeposit.BankAccount = ToBankAccount;
                        bankDeposit.PaymentDate = paymentDate.Date;
                        bankDeposit.AmountForThisTransaction = amount;
                    }
                    else if (payType.Equals("Cheque"))
                    {
                        amountCheque = (decimal)spnChequeAmount.Value;
                        amountChequeForTransaction = (decimal)spnChequeUsedAmount.Value;
                        Cheque c = FindByChequeNo(iSabayaContext, bteChequeNo.Text);
                        if (c == null) // New Cheque
                        {
                            payment = new Cheque();
                            Cheque cheque = (Cheque)payment;
                            cheque.Amount     = new Money(amountCheque, iSabayaContext.imSabayaConfig.DefaultCurrency);
                            cheque.StatusDate = DateTime.Now;
                            cheque.AmountForThisTransaction = amountChequeForTransaction;
                            cheque.Bank             = BankControl1.Organization;
                            cheque.ChequeNo         = bteChequeNo.Text;
                            cheque.ChequeDate       = (DateTime)ChequeDate.Date;
                            cheque.PaymentDate      = paymentDate.Date;
                            cheque.PrintChequeDate  = TimeInterval.MaxDate;
                            bankDeposit.Amount      = cheque.Amount;
                            bankDeposit.BankAccount = ToBankAccount;
                            bankDeposit.PaymentDate = paymentDate.Date;
                            bankDeposit.DueDate     = cheque.DueDate.Date;
                            bankDeposit.AmountForThisTransaction = amountChequeForTransaction;
                            bankDeposit.Cheque = cheque;
                        }
                        else // 0ld Cheque
                        {
                            c.AmountForThisTransaction           = amountChequeForTransaction;
                            bankDeposit.Amount                   = c.Amount;
                            bankDeposit.PaymentDate              = paymentDate.Date;
                            bankDeposit.DueDate                  = c.DueDate.Date;
                            bankDeposit.AmountForThisTransaction = amountChequeForTransaction;
                            bankDeposit.Cheque                   = c;
                        }
                    }
                    payments.Add(bankDeposit);
                }

                #endregion BankDeposit

                #region FundTransfer

                else if (payMethod.Equals("FundTransfer"))
                {
                    amount = (decimal)spnAmount.Value;
                    FundTransfer fundTransfer = new FundTransfer();
                    fundTransfer.PaymentType              = "FundTransfer";
                    fundTransfer.FromBankAccount          = FromBankAccount;
                    fundTransfer.ToBankAccount            = ToBankAccount;
                    fundTransfer.Amount                   = new Money(Convert.ToDecimal(amount.ToString()), iSabayaContext.imSabayaConfig.DefaultCurrency);
                    fundTransfer.AmountForThisTransaction = fundTransfer.Amount.Amount;
                    fundTransfer.PaymentDate              = DateTime.Now;
                    if (fundTransfer.FromBankAccount == null)
                    {
                        throw new ApplicationException("ไม่พบบัญชีต้นทาง");
                    }
                    if (fundTransfer.ToBankAccount == null)
                    {
                        throw new ApplicationException("ไม่พบบัญชีปลายทาง");
                    }
                    payments.Add(fundTransfer);
                }

                #endregion FundTransfer

                #region Cash

                else if (payMethod.Equals("Cash"))
                {
                    amount  = (decimal)spnAmount.Value;
                    payment = new Cash();
                    Cash cash = (Cash)payment;
                    cash.PaymentType = "Cash";
                    cash.Amount      = new Money(Convert.ToDecimal(amount.ToString()), iSabayaContext.imSabayaConfig.DefaultCurrency);
                    cash.PaymentDate = DateTime.Now.Date;
                    cash.AmountForThisTransaction = amount;
                    payments.Add(cash);
                }

                #endregion Cash

                #region Cheque

                else if (payMethod.Equals("Cheque"))
                {
                    amountCheque = (decimal)spnChequeAmount.Value;
                    amountChequeForTransaction = (decimal)spnChequeUsedAmount.Value;
                    Cheque c = FindByChequeNo(iSabayaContext, bteChequeNo.Text);
                    if (c == null) // New cheque
                    {
                        payment             = new Cheque();
                        payment.PaymentType = "Cheque";
                        Cheque cheque = (Cheque)payment;
                        cheque.Amount                   = new Money(amountCheque, iSabayaContext.imSabayaConfig.DefaultCurrency);
                        cheque.PaymentDate              = DateTime.Now.Date;
                        cheque.StatusDate               = DateTime.Now;
                        cheque.PrintChequeDate          = TimeInterval.MinDate;
                        cheque.AmountForThisTransaction = amountChequeForTransaction;
                        cheque.Bank            = BankControl1.Organization;
                        cheque.ChequeNo        = bteChequeNo.Text;
                        cheque.ChequeDate      = (DateTime)ChequeDate.Date;
                        cheque.PayableTo       = "";
                        cheque.PrintChequeDate = TimeInterval.MaxDate;
                        payments.Add(cheque);
                    }
                    else
                    {
                        c.AmountForThisTransaction = amountChequeForTransaction;
                        payments.Add(c);
                    }
                }

                #endregion Cheque

                #region BillPayment

                else if (payMethod.Equals("BillPayment"))
                {
                    //no class
                    BillPayment billPayment = new BillPayment();
                    billPayment.PaymentType = "Bill Payment";
                    if (payType.Equals("Cash"))
                    {
                        amount  = (decimal)spnAmount.Value;
                        payment = new Cash();
                        Cash cash = (Cash)payment;
                        billPayment.Amount      = new Money(Convert.ToDecimal(amount.ToString()), iSabayaContext.imSabayaConfig.DefaultCurrency);
                        billPayment.PaymentDate = paymentDate.Date.Date;
                        billPayment.AmountForThisTransaction = amount;
                    }
                    else if (payType.Equals("Cheque"))
                    {
                        amountCheque = (decimal)spnChequeAmount.Value;
                        amountChequeForTransaction = (decimal)spnChequeUsedAmount.Value;
                        Cheque c = FindByChequeNo(iSabayaContext, bteChequeNo.Text);
                        if (c == null) // New cheque
                        {
                            payment = new Cheque();
                            Cheque cheque = (Cheque)payment;
                            cheque.Amount      = new Money(amountCheque, iSabayaContext.imSabayaConfig.DefaultCurrency);
                            cheque.PaymentDate = paymentDate.Date.Date;
                            cheque.StatusDate  = paymentDate.Date.Date;
                            cheque.AmountForThisTransaction = amountChequeForTransaction;
                            cheque.Bank            = BankControl1.Organization;
                            cheque.ChequeNo        = bteChequeNo.Text;
                            cheque.ChequeDate      = (DateTime)ChequeDate.Date;
                            cheque.PayableTo       = "";
                            cheque.PrintChequeDate = TimeInterval.MaxDate;
                            //special for bank deposit
                            billPayment.Amount      = cheque.Amount;
                            billPayment.PaymentDate = cheque.PaymentDate;
                            billPayment.DueDate     = cheque.DueDate.Date;
                            billPayment.AmountForThisTransaction = amountChequeForTransaction;
                            //special for bank deposit
                            billPayment.Cheque = cheque;
                        }
                        else // Old cheque
                        {
                            c.AmountForThisTransaction = amountChequeForTransaction;
                            billPayment.Cheque         = c;
                        }
                    }
                    payments.Add(billPayment);
                }

                #endregion BillPayment

                Session["listPayment"] = payments;
            }

            #endregion Add Payment

            gridPaymetod.DataSource = Session["listPayment"];
            gridPaymetod.DataBind();
        }