Exemplo n.º 1
0
 public static Payment MapForPayment(this Tbl_Transaction payment)
 {
     return(new Payment
     {
         Id = payment.Id,
         Date = payment.Date,
         VendorId = payment.VendorId,
         VendorName = payment.Tbl_Vendor?.Name ?? string.Empty,
         BillId = payment.BillId,
         BillNumber = payment.Tbl_Bill?.Number ?? string.Empty,
         Amount = payment.Amount,
         Description = payment.Description,
         Recurring = payment.Recurring,
         Refrence = payment.Reference,
         PaymentMethod = payment.PaymentMethod,
         Created_At = payment.Created_At,
         Updated_At = payment.Updated_At,
         AccountId = payment.AccountId,
         AccountName = payment.Tbl_Account?.AccountName ?? string.Empty,
         CategoryId = payment.CategoryId,
         TransactionType = (int)TransactionType.Expense,
         CategoryName = payment.Tbl_Category?.Name ?? string.Empty,
         Attachment = payment.Attachment ?? "/Content/avatar.png",
         CurrencySymbol = payment.Tbl_Account?.Tbl_Currency?.Symbol ?? string.Empty,
         SymbolPosition = payment.Tbl_Account?.Tbl_Currency?.SymbolPosition ?? string.Empty
     });
 }
Exemplo n.º 2
0
 public static Transaction MapFrom(this Tbl_Transaction transaction)
 {
     return(new Transaction
     {
         Id = transaction.Id,
         Date = transaction.Date,
         Amount = transaction.Amount,
         AccountId = transaction.AccountId,
         AccountName = transaction.Tbl_Account?.AccountName ?? string.Empty,
         CustomerId = transaction.CustomerId,
         VendorId = transaction.VendorId,
         CustomerName = transaction.Tbl_Customer?.Name ?? string.Empty,
         VendorName = transaction.Tbl_Vendor?.Name ?? string.Empty,
         BillId = transaction.BillId,
         BillNumber = transaction.Tbl_Bill?.Number ?? string.Empty,
         Description = transaction.Description ?? string.Empty,
         CategoryId = transaction.CategoryId,
         CategoryName = transaction.Tbl_Category?.Name ?? string.Empty,
         PaymentMethod = transaction.PaymentMethod,
         Recurring = transaction.Recurring,
         Reference = transaction.Reference,
         Attachment = transaction.Attachment,
         Invoice = transaction.Invoice,
         TransactionType = transaction.TransactionType,
         TransactionTypeName = GetEnumValue(transaction),
         Created_At = transaction.Created_At,
         Updated_At = transaction.Updated_At,
         CurrencySymbol = transaction.Tbl_Account?.Tbl_Currency?.Symbol ?? string.Empty,
         SymbolPosition = transaction.Tbl_Account?.Tbl_Currency?.SymbolPosition ?? string.Empty
     });
 }
Exemplo n.º 3
0
 public static Revenue MapForRevenue(this Tbl_Transaction revenue)
 {
     return(new Revenue
     {
         Id = revenue.Id,
         Date = revenue.Date,
         Amount = revenue.Amount,
         AccountId = revenue.AccountId,
         AccountName = revenue.Tbl_Account?.AccountName ?? string.Empty,
         CustomerId = revenue.CustomerId,
         CustomerName = revenue.Tbl_Customer?.Name ?? string.Empty,
         Description = revenue.Description,
         CategoryId = revenue.CategoryId,
         CategoryName = revenue.Tbl_Category?.Name ?? string.Empty,
         Recurring = revenue.Recurring,
         PaymentMethod = revenue.PaymentMethod,
         Reference = revenue.Reference,
         Attachment = revenue.Attachment,
         Invoice = revenue.Invoice,
         TransactionType = (int)TransactionType.Income,
         Created_At = revenue.Created_At,
         Updated_At = revenue.Updated_At,
         CurrencySymbol = revenue.Tbl_Account?.Tbl_Currency?.Symbol ?? string.Empty,
         SymbolPosition = revenue.Tbl_Account?.Tbl_Currency?.SymbolPosition ?? string.Empty
     });
 }
Exemplo n.º 4
0
 private static string GetEnumValue(Tbl_Transaction transaction)
 {
     try
     {
         return(Enum.Parse(typeof(TransactionType), transaction.TransactionType.ToString()).ToString());
     }
     catch (Exception)
     {
         return(string.Empty);
     }
 }
Exemplo n.º 5
0
        public static ReconciliationTransaction MapForReconciliation(this Tbl_Transaction transaction)
        {
            var customerName = transaction.Tbl_Customer?.Name ?? string.Empty;
            var vendorName   = transaction.Tbl_Vendor?.Name ?? string.Empty;

            return(new ReconciliationTransaction
            {
                Id = transaction.Id,
                Date = transaction.Date,
                Deposit = transaction.TransactionType == (int)TransactionType.Income ? transaction.Amount : 0.0M,
                Withdrawal = transaction.TransactionType == (int)TransactionType.Expense ? transaction.Amount : 0.0M,
                Contact = transaction.TransactionType == (int)TransactionType.Income ? customerName : vendorName,
                Description = transaction.Description ?? string.Empty,
                TransactionType = transaction.TransactionType,
                CurrencySymbol = transaction.Tbl_Account?.Tbl_Currency?.Symbol ?? string.Empty,
                SymbolPosition = transaction.Tbl_Account?.Tbl_Currency?.SymbolPosition ?? string.Empty
            });
        }
        public int Add(TransactionDTO data)
        {
            try
            {
                var Context = new DB_SYSBANKEntities();
                var oi      = new Tbl_Transaction();

                oi.IBAN        = data.IBAN;
                oi.FullMoney   = data.FullMoney;
                oi.Fee         = data.Fee;
                oi.Deposit     = data.Deposit;
                oi.Withdraw    = data.Withdraw;
                oi.Balance     = data.Balance;
                oi.PrevBalance = data.PrevBalance;
                oi.CreateDate  = data.CreateDate;
                oi.CreateBy    = data.CreateBy;
                oi.Req_No      = data.Req_No;


                Context.Tbl_Transaction.Add(oi);
                int result = Context.SaveChanges();
                return(result);
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    var _Name = eve.Entry.Entity.GetType().Name;
                    var State = eve.Entry.State;
                    foreach (var ve in eve.ValidationErrors)
                    {
                        var pName = ve.PropertyName;
                        var Msg   = ve.ErrorMessage;
                    }
                }
                throw;
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 7
0
        public int Add(AccountDTO data)
        {
            try
            {
                var Context = new DB_SYSBANKEntities();
                var STM     = new Tbl_Statement();
                var TRS     = new Tbl_Transaction();
                var oi      = new Tbl_Account();
                oi.User_ID      = data.User_ID;
                oi.IBAN         = data.IBAN;
                oi.TotalBalance = data.TotalBalance;
                oi.UpdateDate   = data.UpdateDate;
                oi.UpdateBy     = data.UpdateBy;
                oi.IsActive     = data.IsActive;
                if (data.TotalBalance != 0 && data.TotalBalance != null)
                {
                    STM.IBANTo     = data.IBAN;
                    STM.FullMoney  = data.TotalBalance;
                    STM.Fee        = data.TotalBalance * Convert.ToDecimal(0.01);
                    STM.Deposit    = data.TotalBalance - STM.Fee;
                    STM.Channel    = "Website";
                    STM.CreateDate = DateTime.Now;
                    string ReqNo = Guid.NewGuid().ToString();
                    STM.Req_No = ReqNo;

                    TRS.IBAN        = data.IBAN;
                    TRS.FullMoney   = data.TotalBalance;
                    TRS.Fee         = data.TotalBalance * Convert.ToDecimal(0.01);
                    TRS.Deposit     = data.TotalBalance - STM.Fee;
                    TRS.Balance     = STM.Deposit;
                    TRS.PrevBalance = 0;
                    TRS.CreateDate  = DateTime.Now;
                    TRS.Req_No      = ReqNo;

                    oi.TotalBalance = data.TotalBalance - STM.Fee;
                }

                Context.Tbl_Account.Add(oi);
                if (data.TotalBalance != 0 && data.TotalBalance != null)
                {
                    Context.Tbl_Statement.Add(STM);
                    Context.Tbl_Transaction.Add(TRS);
                }
                int result = Context.SaveChanges();

                return(result);
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    var _Name = eve.Entry.Entity.GetType().Name;
                    var State = eve.Entry.State;
                    foreach (var ve in eve.ValidationErrors)
                    {
                        var pName = ve.PropertyName;
                        var Msg   = ve.ErrorMessage;
                    }
                }
                throw;
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 8
0
        public int Add(StatementDTO data)
        {
            try
            {
                string ReqNo   = Guid.NewGuid().ToString();
                var    Context = new DB_SYSBANKEntities();
                var    oi      = new Tbl_Statement();
                oi.IBANFrom  = data.IBANFrom;
                oi.IBANTo    = data.IBANTo;
                oi.FullMoney = data.FullMoney;
                oi.Fee       = data.Fee;
                oi.Deposit   = data.Deposit;
                oi.Withdraw  = data.Withdraw;

                oi.Channel    = data.Channel;
                oi.CreateDate = data.CreateDate;
                oi.CreateBy   = data.CreateBy;
                oi.Req_No     = ReqNo;
                Context.Tbl_Statement.Add(oi);


                var oiAcc  = new Tbl_Account();
                var TRST   = new Tbl_Transaction();
                var TRS    = new Tbl_Transaction();
                var oiAcc2 = new Tbl_Account();
                if (data.IBANFrom != null)
                {
                    TRS.IBAN        = data.IBANFrom;
                    TRS.FullMoney   = data.FullMoney;
                    TRS.Withdraw    = data.FullMoney;
                    TRS.PrevBalance = data.PrevBalanceFrom;
                    TRS.Balance     = TRS.PrevBalance - TRS.FullMoney;
                    TRS.CreateDate  = DateTime.Now;
                    TRS.CreateBy    = data.CreateBy;
                    TRS.Req_No      = ReqNo;
                    Context.Tbl_Transaction.Add(TRS);
                    oiAcc2 = Context.Tbl_Account.FirstOrDefault(i => i.IBAN == data.IBANFrom);
                    if (oiAcc2 != null)
                    {
                        if (oiAcc2.TotalBalance != null)
                        {
                            oiAcc2.TotalBalance = oiAcc2.TotalBalance - TRS.FullMoney;
                        }
                        else
                        {
                            oiAcc2.TotalBalance = TRS.FullMoney;
                        }
                        oiAcc2.UpdateBy   = data.CreateBy;
                        oiAcc2.UpdateDate = DateTime.Now;
                    }
                }

                if (data.IBANTo != null)
                {
                    TRST.IBAN        = data.IBANTo;
                    TRST.FullMoney   = data.FullMoney;
                    TRST.Fee         = data.FullMoney * Convert.ToDecimal(0.01);
                    TRST.Deposit     = data.FullMoney - TRST.Fee;
                    TRST.PrevBalance = data.PrevBalanceTo;
                    TRST.Balance     = TRST.PrevBalance + TRST.Deposit;
                    TRST.CreateBy    = data.CreateBy;
                    TRST.CreateDate  = DateTime.Now;
                    TRST.Req_No      = ReqNo;
                    Context.Tbl_Transaction.Add(TRST);
                    oiAcc = Context.Tbl_Account.FirstOrDefault(i => i.IBAN == data.IBANTo);
                    if (oiAcc != null)
                    {
                        if (oiAcc.TotalBalance != null)
                        {
                            oiAcc.TotalBalance = oiAcc.TotalBalance + TRST.Deposit;
                        }
                        else
                        {
                            oiAcc.TotalBalance = TRST.Deposit;
                        }
                        oiAcc.UpdateBy   = data.CreateBy;
                        oiAcc.UpdateDate = DateTime.Now;
                    }
                }



                int result = Context.SaveChanges();
                return(result);
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    var _Name = eve.Entry.Entity.GetType().Name;
                    var State = eve.Entry.State;
                    foreach (var ve in eve.ValidationErrors)
                    {
                        var pName = ve.PropertyName;
                        var Msg   = ve.ErrorMessage;
                    }
                }
                throw;
            }
            catch (Exception ex)
            {
                throw;
            }
        }