public static CashInVm GetCashReceiptForExpense(int receiptId = 0) { CashInVm cashVm; if (receiptId != 0) { cashVm = CashOutHelper.FillCashVmForReceiptView(receiptId); return(cashVm); } cashVm = new CashInVm(); cashVm.CashType = "cashout"; cashVm.ReceiptCode = AdminHelper.GeneratePrefixCode(PrefixForEnum.CashOut, false); cashVm.PaymentTermId = 1; cashVm.CurrencyId = 1; CashOutExpense cashOutExpense = new CashOutExpense(); cashVm.CashOutReceiptExpenses.Add(cashOutExpense); return(cashVm); }
public static List <CashOutExpense> GetExpensesListForReceipt(int receiptId) { AccountingEntities db = new AccountingEntities(); List <CashOutExpense> cashOutExpenseList = new List <CashOutExpense>(); CashOutExpense cashOutExpense; var receiptExp = db.CashOutReceiptExpenses.Include("ExpenseLib").Include("CashOutReceipt") .Where(x => x.ReceiptId == receiptId) .Select(x => new { x.ExpenseLib.ExpenseNameEn, x.PaidAmount, x.CashOutReceipt.Currency.CurrencySign }).ToList(); foreach (var item in receiptExp) { cashOutExpense = new CashOutExpense(); cashOutExpense.CurrencySign = item.CurrencySign; cashOutExpense.ExpenseName = item.ExpenseNameEn; cashOutExpense.PaidAmount = item.PaidAmount; cashOutExpenseList.Add(cashOutExpense); } return(cashOutExpenseList); }
internal static CashInVm FillCashVmForReceiptView(int receiptId) { CashInVm cashVm = new CashInVm(); AccountingEntities db = new AccountingEntities(); EasyFreightEntities db1 = new EasyFreightEntities(); var cashDb = db.CashOutReceipts .Include("PaymentTerm") .Include("Currency").Where(x => x.ReceiptId == receiptId).FirstOrDefault(); Mapper.CreateMap <CashOutReceipt, CashInVm>() .ForMember(x => x.CashInReceiptChecks, y => y.Ignore()) .ForMember(x => x.CashInReceiptInvs, y => y.Ignore()) .ForMember(x => x.CashOutReceiptExpenses, y => y.Ignore()) .IgnoreAllNonExisting(); Mapper.Map(cashDb, cashVm); cashVm.CurrencySign = cashDb.Currency.CurrencySign; cashVm.PaymentTermName = cashDb.PaymentTerm.PaymentTermEn; //Get customer Name int custId; if (cashVm.CarrierId != null) { custId = cashVm.CarrierId.Value; cashVm.CustomerName = db1.Carriers.Where(x => x.CarrierId == custId).FirstOrDefault().CarrierNameEn; } else if (cashVm.ContractorId != null) { custId = cashVm.ConsigneeId.Value; cashVm.CustomerName = db1.Contractors.Where(x => x.ContractorId == custId).FirstOrDefault().ContractorNameEn; } else if (cashVm.AgentId != null) { custId = cashVm.AgentId.Value; cashVm.CustomerName = db1.Agents.Where(x => x.AgentId == custId).FirstOrDefault().AgentNameEn; } //for bank if (cashVm.PaymentTermId == (byte)PaymentTermEnum.BankCashDeposit) { if (cashVm.BankAccId != null) { int bankAccId = cashVm.BankAccId.Value; var bankInfo = db.BankAccounts.Include("Bank").Where(x => x.BankAccId == bankAccId).FirstOrDefault(); cashVm.BankDetailsVm = new BankDetailsVm() { AccountName = bankInfo.AccountName, AccountNumber = bankInfo.AccountNumber, BankNameEn = bankInfo.Bank.BankNameEn, BankAddressEn = bankInfo.Bank.BankAddressEn }; } } else if (cashVm.PaymentTermId == (byte)PaymentTermEnum.Check) { CashInCheckVm cashCheckVm = new CashInCheckVm(); var cashCheckDb = db.CashOutReceiptChecks.Where(x => x.ReceiptId == receiptId).FirstOrDefault(); Mapper.CreateMap <CashOutReceiptCheck, CashInCheckVm>().IgnoreAllNonExisting(); Mapper.Map(cashCheckDb, cashCheckVm); cashVm.CashInReceiptChecks.Add(cashCheckVm); } //kamal else if (cashVm.PaymentTermId == (byte)PaymentTermEnum.CashToBank) { CashInCheckVm cashCheckVm = new CashInCheckVm(); var cashCheckDb = db.CashOutReceiptChecks.Where(x => x.ReceiptId == receiptId).FirstOrDefault(); Mapper.CreateMap <CashOutReceiptCheck, CashInCheckVm>().IgnoreAllNonExisting(); Mapper.Map(cashCheckDb, cashCheckVm); cashVm.CashInReceiptChecks.Add(cashCheckVm); } //Get Invoice or agent notes codes list if (cashVm.AgentId != null) { } else { var invlist = db.CashOutReceiptInvs.Include("InvoiceAP") .Where(x => x.ReceiptId == receiptId).Select(x => x.InvoiceAP.InvoiceCode).ToArray(); cashVm.InvCodeListString = string.Join(" - ", invlist); } //Check if for expenses var cashOutExp = db.CashOutReceiptExpenses.Include("ExpenseLib").Where(x => x.ReceiptId == receiptId).ToList(); if (cashOutExp.Count() > 0) { List <CashOutExpense> cashOutExpenseList = new List <CashOutExpense>(); CashOutExpense cashOutExpense; foreach (var item in cashOutExp) { cashOutExpense = new CashOutExpense(); cashOutExpense.CurrencySign = cashVm.CurrencySign; cashOutExpense.ExpenseName = item.ExpenseLib.ExpenseNameEn; cashOutExpense.PaidAmount = item.PaidAmount; cashOutExpenseList.Add(cashOutExpense); } cashVm.CashOutReceiptExpenses = cashOutExpenseList; } cashVm.CashType = "cashout"; //Get Created by user name return(cashVm); }