示例#1
0
        /// <summary>
        /// convert debitMemo to list model
        /// </summary>
        /// <param name="memo"></param>
        /// <returns></returns>
        public DebitMemoViewModel ConvertToListView(DebitMemo memo)
        {
            DebitMemoViewModel model = new DebitMemoViewModel();

            var _foundryDynamicsRepository  = new FoundryDynamicsRepository();
            var _foundryInvoiceRepository   = new FoundryInvoiceRepository();
            var _customerDynamicsRepository = new CustomerDynamicsRepository();
            var _creditMemoRepository       = new CreditMemoRepository();

            var foundryInvoice   = _foundryInvoiceRepository.GetFoundryInvoice(memo.FoundryInvoiceId ?? Guid.Empty);
            var dynamicsFoundry  = _foundryDynamicsRepository.GetFoundry(memo.FoundryId);
            var dynamicsCustomer = _customerDynamicsRepository.GetCustomer(memo.CustomerId);
            var creditMemo       = _creditMemoRepository.GetCreditMemoByDebitMemo(memo.DebitMemoId);

            model.DebitMemoId      = memo.DebitMemoId;
            model.CustomerId       = memo.CustomerId;
            model.FoundryId        = (dynamicsFoundry != null) ? dynamicsFoundry.VENDORID : "N/A";
            model.DebitMemoNumber  = (!string.IsNullOrEmpty(memo.Number)) ? memo.Number : "N/A";
            model.InvoiceNumber    = (foundryInvoice != null && !string.IsNullOrEmpty(foundryInvoice.Number)) ? foundryInvoice.Number : "N/A";
            model.FoundryName      = (dynamicsFoundry != null && !string.IsNullOrEmpty(dynamicsFoundry.VENDSHNM)) ? dynamicsFoundry.VENDSHNM : "N/A";
            model.DebitMemoDate    = memo.DebitMemoDate;
            model.DebitMemoDateStr = memo.DebitMemoDate.ToShortDateString();
            model.DebitAmount      = memo.Amount;
            model.CustomerName     = (dynamicsCustomer != null && !string.IsNullOrEmpty(dynamicsCustomer.SHRTNAME)) ? dynamicsCustomer.SHRTNAME : "N/A";
            model.CreditMemoId     = (creditMemo != null) ? creditMemo.CreditMemoId : Guid.Empty;
            model.CreditMemoNumber = (creditMemo != null && !string.IsNullOrEmpty(creditMemo.Number)) ? creditMemo.Number : "N/A";
            model.IsOpen           = memo.IsOpen;
            model.IsClosed         = memo.IsClosed;
            model.CreatedDate      = (memo.CreatedDate != null) ? memo.CreatedDate : DateTime.MinValue;
            model.CreatedBy        = memo.CreatedBy;

            if (_foundryDynamicsRepository != null)
            {
                _foundryDynamicsRepository.Dispose();
                _foundryDynamicsRepository = null;
            }

            if (_foundryInvoiceRepository != null)
            {
                _foundryInvoiceRepository.Dispose();
                _foundryInvoiceRepository = null;
            }

            if (_customerDynamicsRepository != null)
            {
                _customerDynamicsRepository.Dispose();
                _customerDynamicsRepository = null;
            }

            if (_creditMemoRepository != null)
            {
                _creditMemoRepository.Dispose();
                _creditMemoRepository = null;
            }

            return(model);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <summary>
        /// convert debitMemo to view model
        /// </summary>
        /// <param name="memo"></param>
        /// <returns></returns>
        public DebitMemoViewModel ConvertToView(DebitMemo memo)
        {
            DebitMemoViewModel model = new DebitMemoViewModel();

            var _foundryDynamicsRepository     = new FoundryDynamicsRepository();
            var _foundryInvoiceRepository      = new FoundryInvoiceRepository();
            var _customerDynamicsRepository    = new CustomerDynamicsRepository();
            var _salespersonDynamicsRepository = new SalespersonDynamicsRepository();
            var _debitMemoRepository           = new DebitMemoRepository();
            var _creditMemoRepository          = new CreditMemoRepository();

            var foundryInvoice      = _foundryInvoiceRepository.GetFoundryInvoice(memo.FoundryInvoiceId ?? Guid.Empty);
            var dynamicsFoundry     = _foundryDynamicsRepository.GetFoundry(memo.FoundryId);
            var dynamicsCustomer    = _customerDynamicsRepository.GetCustomer(memo.CustomerId);
            var dyanmicsSalesperson = _salespersonDynamicsRepository.GetSalesperson((dynamicsCustomer != null) ? dynamicsCustomer.SLPRSNID : string.Empty);
            var creditMemo          = _creditMemoRepository.GetCreditMemoByDebitMemo(memo.DebitMemoId);
            var items       = _debitMemoRepository.GetDebitMemoItems().Where(x => x.DebitMemoId == memo.DebitMemoId).ToList();
            var attachments = _debitMemoRepository.GetDebitMemoAttachments().Where(x => x.DebitMemoId == memo.DebitMemoId).ToList();

            model.DebitMemoId      = memo.DebitMemoId;
            model.FoundryInvoiceId = memo.FoundryInvoiceId;
            model.InvoiceNumber    = (foundryInvoice != null && !string.IsNullOrEmpty(foundryInvoice.Number)) ? foundryInvoice.Number : "N/A";
            model.DebitMemoNumber  = (!string.IsNullOrEmpty(memo.Number)) ? memo.Number : "N/A";
            model.DebitMemoDate    = memo.DebitMemoDate;
            model.DebitMemoDateStr = (memo.DebitMemoDate != null) ? memo.DebitMemoDate.ToShortDateString() : "N/A";
            model.FoundryId        = memo.FoundryId;
            model.FoundryName      = (dynamicsFoundry != null && !string.IsNullOrEmpty(dynamicsFoundry.VENDSHNM)) ? dynamicsFoundry.VENDSHNM : "N/A";
            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(dyanmicsSalesperson.SLPRSNFN)) ? dyanmicsSalesperson.SLPRSNFN + " " + dyanmicsSalesperson.SPRSNSLN : "N/A";
            model.CreditMemoId     = (creditMemo != null) ? creditMemo.CreditMemoId : Guid.Empty;
            model.CreditMemoNumber = (creditMemo != null && !string.IsNullOrEmpty(creditMemo.Number)) ? creditMemo.Number : "N/A";
            model.RmaNumber        = (!string.IsNullOrEmpty(memo.RmaNumber)) ? memo.RmaNumber : "N/A";
            model.TrackingNumber   = (!string.IsNullOrEmpty(memo.TrackingNumber)) ? memo.TrackingNumber : "N/A";
            model.DebitAmount      = memo.Amount;
            model.DebitMemoNotes   = (!string.IsNullOrEmpty(memo.Notes)) ? memo.Notes : "N/A";
            model.IsOpen           = memo.IsOpen;
            model.IsClosed         = memo.IsClosed;
            model.Status           = memo.IsOpen ? "Open" : memo.IsClosed ? "Closed" : "N/A";

            if (items != null && items.Count > 0)
            {
                var debitMemoItems = new List <DebitMemoItemViewModel>();

                foreach (var item in items)
                {
                    DebitMemoItemViewModel debitMemoItem = new DebitMemoItemConverter().ConvertToView(item);

                    debitMemoItems.Add(debitMemoItem);
                }

                model.DebitMemoItems = debitMemoItems;
            }

            if (attachments != null && attachments.Count > 0)
            {
                var debitMemoAttachments = new List <DebitMemoAttachmentViewModel>();

                foreach (var attachment in attachments)
                {
                    var attachmentModel = new DebitMemoAttachmentConverter().ConvertToView(attachment);

                    debitMemoAttachments.Add(attachmentModel);
                }

                model.Attachments = debitMemoAttachments;
            }

            if (_foundryDynamicsRepository != null)
            {
                _foundryDynamicsRepository.Dispose();
                _foundryDynamicsRepository = null;
            }

            if (_foundryInvoiceRepository != null)
            {
                _foundryInvoiceRepository.Dispose();
                _foundryInvoiceRepository = null;
            }

            if (_customerDynamicsRepository != null)
            {
                _customerDynamicsRepository.Dispose();
                _customerDynamicsRepository = null;
            }

            if (_salespersonDynamicsRepository != null)
            {
                _salespersonDynamicsRepository.Dispose();
                _salespersonDynamicsRepository = null;
            }

            if (_creditMemoRepository != null)
            {
                _creditMemoRepository.Dispose();
                _creditMemoRepository = null;
            }

            if (_debitMemoRepository != null)
            {
                _debitMemoRepository.Dispose();
                _debitMemoRepository = null;
            }

            return(model);
        }