/// <summary> /// convert debitMemo item to view model /// </summary> /// <param name="item"></param> /// <returns></returns> public DebitMemoItemViewModel ConvertToView(DebitMemoItem item) { DebitMemoItemViewModel model = new DebitMemoItemViewModel(); var _creditMemoRepository = new CreditMemoRepository(); var creditMemo = _creditMemoRepository.GetCreditMemoByDebitMemo(item.DebitMemoId); var creditMemoItems = _creditMemoRepository.GetCreditMemoItems((creditMemo != null) ? creditMemo.CreditMemoId : Guid.Empty); model.DebitMemoItemId = item.DebitMemoItemId; model.DebitMemoId = item.DebitMemoId; model.ItemQuantity = item.Quantity; model.ItemDescription = (!string.IsNullOrEmpty(item.Description)) ? item.Description : "N/A"; model.ItemCost = item.Cost; model.ExtendedCost = item.Cost * item.Quantity; model.PartNumber = (!string.IsNullOrEmpty(item.PartNumber)) ? item.PartNumber : "N/A"; model.Reason = (!string.IsNullOrEmpty(item.Reason)) ? item.Reason : "N/A"; model.DateCode = item.DateCode; if (creditMemoItems != null) { var creditMemoItem = creditMemoItems.FirstOrDefault(x => x.Description == item.Description); if (creditMemoItem != null) { model.CreditMemoId = creditMemoItem.CreditMemoId; model.CreditMemoItemId = creditMemoItem.CreditMemoItemId; model.ItemPrice = creditMemoItem.Price; } } if (_creditMemoRepository != null) { _creditMemoRepository.Dispose(); _creditMemoRepository = null; } return(model); }
/// <summary> /// convert memo to view model /// </summary> /// <param name="memo"></param> /// <returns></returns> public CreditMemoViewModel ConvertToView(CreditMemo memo) { CreditMemoViewModel model = new CreditMemoViewModel(); var _debitMemoRepository = new DebitMemoRepository(); var _customerDynamicsRepository = new CustomerDynamicsRepository(); var _salespersonDynamicsRepository = new SalespersonDynamicsRepository(); var _creditMemoRepository = new CreditMemoRepository(); var debitMemo = _debitMemoRepository.GetDebitMemo(memo.DebitMemoId); var dynamicsCustomer = _customerDynamicsRepository.GetCustomer(memo.CustomerId); var dyanmicsSalesperson = _salespersonDynamicsRepository.GetSalesperson(!string.IsNullOrEmpty(memo.SalespersonId) ? memo.SalespersonId : "N/A"); var items = _creditMemoRepository.GetCreditMemoItems().Where(x => x.CreditMemoId == memo.CreditMemoId).ToList(); model.CreditMemoId = memo.CreditMemoId; model.DebitMemoId = memo.DebitMemoId; model.DebitMemoNumber = (debitMemo != null && !string.IsNullOrEmpty(debitMemo.Number)) ? debitMemo.Number : "N/A"; model.CreditMemoNumber = (!string.IsNullOrEmpty(memo.Number)) ? memo.Number : "N/A"; model.CreditMemoDate = memo.CreditMemoDate; model.CreditMemoDateStr = memo.CreditMemoDate.ToShortDateString(); model.CustomerId = memo.CustomerId; model.CustomerName = (dynamicsCustomer != null && !string.IsNullOrEmpty(dynamicsCustomer.SHRTNAME)) ? dynamicsCustomer.SHRTNAME : "N/A"; model.SalespersonId = memo.SalespersonId; model.SalespersonName = (dyanmicsSalesperson != null && !string.IsNullOrEmpty(memo.SalespersonId)) ? dyanmicsSalesperson.SLPRSNFN + " " + dyanmicsSalesperson.SPRSNSLN : "N/A"; model.CreditAmount = memo.Amount; model.CreditMemoNotes = (!string.IsNullOrEmpty(memo.Number)) ? memo.Notes : "N/A"; if (items != null && items.Count > 0) { var creditMemoItems = new List <CreditMemoItemViewModel>(); foreach (var item in items) { CreditMemoItemViewModel creditMemoItem = new CreditMemoItemConverter().ConvertToView(item); creditMemoItems.Add(creditMemoItem); } model.CreditMemoItems = creditMemoItems; } if (_debitMemoRepository != null) { _debitMemoRepository.Dispose(); _debitMemoRepository = null; } if (_customerDynamicsRepository != null) { _customerDynamicsRepository.Dispose(); _customerDynamicsRepository = null; } if (_salespersonDynamicsRepository != null) { _salespersonDynamicsRepository.Dispose(); _salespersonDynamicsRepository = null; } if (_creditMemoRepository != null) { _creditMemoRepository.Dispose(); _creditMemoRepository = null; } return(model); }