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 }); }
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 }); }
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 }); }
private static string GetEnumValue(Tbl_Transaction transaction) { try { return(Enum.Parse(typeof(TransactionType), transaction.TransactionType.ToString()).ToString()); } catch (Exception) { return(string.Empty); } }
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; } }
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; } }
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; } }