/// <summary> /// convert quote to view model /// </summary> /// <param name="quote"></param> /// <returns></returns> public QuoteViewModel ConvertToView(Quote quote) { QuoteViewModel model = new QuoteViewModel(); var _rfqRepository = new RfqRepository(); var _customerDynamicsRepository = new CustomerDynamicsRepository(); var _customerAddressDynamicsRepository = new CustomerAddressDynamicsRepository(); var _stateRepository = new StateRepository(); var _shipmentTermRepository = new ShipmentTermRepository(); var _paymentTermRepository = new PaymentTermRepository(); var _materialRepository = new MaterialRepository(); var _coatingTypeRepository = new CoatingTypeRepository(); var _htsNumberRepository = new HtsNumberRepository(); var _projectReposiotry = new ProjectPartRepository(); var rfq = _rfqRepository.GetRfq(quote.RfqId); var dynamicsCustomer = _customerDynamicsRepository.GetCustomer(quote.CustomerId); var dynamicsCustomerAddress = _customerAddressDynamicsRepository.GetCustomerAddress(quote.CustomerAddressId); var state = _stateRepository.GetState((dynamicsCustomerAddress != null && !string.IsNullOrEmpty(dynamicsCustomerAddress.STATE)) ? dynamicsCustomerAddress.STATE : string.Empty); var stateName = (state != null) ? ", " + state.Name : string.Empty; var shipmentTerm = _shipmentTermRepository.GetShipmentTerm(quote.ShipmentTermId); var paymentTerm = _paymentTermRepository.GetPaymentTerm(quote.PaymentTermId); var material = _materialRepository.GetMaterial(quote.MaterialId); var coatingType = _coatingTypeRepository.GetCoatingType(quote.CoatingTypeId); var htsNumber = _htsNumberRepository.GetHtsNumber(quote.HtsNumberId); var quoteParts = _projectReposiotry.GetProjectParts().Where(x => x.QuoteId == quote.QuoteId).ToList(); model.QuoteId = quote.QuoteId; model.RfqId = quote.RfqId; model.PriceSheetId = quote.PriceSheetId; model.ProjectId = quote.ProjectId; model.QuoteNumber = (!string.IsNullOrEmpty(quote.Number)) ? quote.Number : "N/A"; model.QuoteDate = quote.QuoteDate; model.QuoteDateStr = quote.QuoteDate.ToShortDateString(); model.RfqNumber = (rfq != null && !string.IsNullOrEmpty(rfq.Number)) ? rfq.Number : "N/A"; model.Validity = quote.Validity; model.ContactName = (!string.IsNullOrEmpty(quote.ContactName)) ? quote.ContactName : "N/A"; model.CustomerId = quote.CustomerId; model.CustomerName = (dynamicsCustomer != null && !string.IsNullOrEmpty(dynamicsCustomer.SHRTNAME)) ? dynamicsCustomer.SHRTNAME : "N/A"; model.CustomerAddressId = quote.CustomerAddressId; model.CustomerAddress = (dynamicsCustomerAddress != null) ? dynamicsCustomerAddress.ADDRESS1 + " " + dynamicsCustomerAddress.CITY + stateName : "N/A"; model.ContactCopy = (!string.IsNullOrEmpty(quote.ContactCopy)) ? quote.ContactCopy : "N/A"; model.ShipmentTermId = quote.ShipmentTermId; model.ShipmentTermDescription = (shipmentTerm != null && !string.IsNullOrEmpty(shipmentTerm.Description)) ? shipmentTerm.Description : "N/A"; model.PaymentTermId = quote.PaymentTermId; model.PaymentTermDescription = (paymentTerm != null && !string.IsNullOrEmpty(paymentTerm.Description)) ? paymentTerm.Description : "N/A"; model.MinimumShipment = (!string.IsNullOrEmpty(quote.MinimumShipment)) ? quote.MinimumShipment : "N/A"; model.ToolingTermDescription = (!string.IsNullOrEmpty(quote.ToolingTermDescription)) ? quote.ToolingTermDescription : "N/A"; model.SampleLeadTime = (!string.IsNullOrEmpty(quote.SampleLeadTime)) ? quote.SampleLeadTime : "N/A"; model.ProductionLeadTime = (!string.IsNullOrEmpty(quote.ProductionLeadTime)) ? quote.ProductionLeadTime : "N/A"; model.MaterialId = quote.MaterialId; model.MaterialDescription = (material != null && !string.IsNullOrEmpty(material.Description)) ? material.Description : "N/A"; model.CoatingTypeId = quote.CoatingTypeId; model.CoatingTypeDescription = (coatingType != null && !string.IsNullOrEmpty(coatingType.Description)) ? coatingType.Description : "N/A"; model.HtsNumberId = quote.HtsNumberId; model.HtsNumberDescription = (htsNumber != null && !string.IsNullOrEmpty(htsNumber.Description)) ? htsNumber.Description + "(" + (htsNumber.DutyRate * 100).ToString() + "%)" : "N/A"; model.IsMachined = quote.IsMachined; model.Notes = quote.Notes; model.IsOpen = quote.IsOpen; model.IsHold = quote.IsHold; model.HoldExpirationDate = (quote.HoldExpirationDate != null) ? quote.HoldExpirationDate : DateTime.MinValue; model.HoldExpirationDateStr = (quote.HoldExpirationDate != null) ? quote.HoldExpirationDate.Value.ToShortDateString() : null; model.HoldNotes = (!string.IsNullOrEmpty(quote.HoldNotes)) ? quote.HoldNotes : "N/A"; model.IsCanceled = quote.IsCanceled; model.CanceledDate = (quote.CanceledDate != null) ? quote.CanceledDate : DateTime.MinValue; model.CanceledDateStr = (quote.CanceledDate != null) ? quote.CanceledDate.Value.ToShortDateString() : null; model.CancelNotes = (!string.IsNullOrEmpty(quote.CancelNotes)) ? quote.CancelNotes : "N/A"; model.Status = quote.IsOpen ? "Open" : quote.IsCanceled ? "Canceled" : quote.IsHold ? "On Hold" : "N/A"; model.Machining = quote.IsMachined == true ? "Included" : "Not Included"; if (quoteParts != null) { model.QuoteParts = new List <QuotePartViewModel>(); foreach (var quotePart in quoteParts) { var quotePartModel = new QuotePartConverter().ConvertToView(quotePart); model.QuoteParts.Add(quotePartModel); } } if (_rfqRepository != null) { _rfqRepository.Dispose(); _rfqRepository = null; } if (_customerDynamicsRepository != null) { _customerDynamicsRepository.Dispose(); _customerDynamicsRepository = null; } if (_customerAddressDynamicsRepository != null) { _customerAddressDynamicsRepository.Dispose(); _customerAddressDynamicsRepository = null; } if (_stateRepository != null) { _stateRepository.Dispose(); _stateRepository = null; } if (_shipmentTermRepository != null) { _shipmentTermRepository.Dispose(); _shipmentTermRepository = null; } if (_paymentTermRepository != null) { _paymentTermRepository.Dispose(); _paymentTermRepository = null; } if (_materialRepository != null) { _materialRepository.Dispose(); _materialRepository = null; } if (_coatingTypeRepository != null) { _coatingTypeRepository.Dispose(); _coatingTypeRepository = null; } if (_htsNumberRepository != null) { _htsNumberRepository.Dispose(); _htsNumberRepository = null; } if (_projectReposiotry != null) { _projectReposiotry.Dispose(); _projectReposiotry = null; } return(model); }
/// <summary> /// convert part to project part list model /// </summary> /// <param name="part"></param> /// <returns></returns> public ProjectPartViewModel ConvertToListView(Part part) { ProjectPartViewModel model = new ProjectPartViewModel(); var _dynamicsPartRepository = new PartDynamicsRepository(); var _customerDynamicsRepository = new CustomerDynamicsRepository(); var _foundryDynamicsRepository = new FoundryDynamicsRepository(); var _htsNumberRepository = new HtsNumberRepository(); var _partTypeRepository = new PartTypeRepository(); var _partStatusRepository = new PartStatusRepository(); var dynamicsPart = _dynamicsPartRepository.GetPartMaster(part.Number); var dynamicsCustomer = _customerDynamicsRepository.GetCustomer(part.CustomerId); var dynamicsFoundry = _foundryDynamicsRepository.GetFoundry(part.FoundryId); var htsNumber = _htsNumberRepository.GetHtsNumber(part.HtsNumberId); var partType = _partTypeRepository.GetPartType(part.PartTypeId); var partStatus = _partStatusRepository.GetPartStatus(part.PartStatusId); model.PartId = part.PartId; model.PartNumber = (!string.IsNullOrEmpty(part.Number)) ? part.Number : "N/A"; model.PartDescription = (dynamicsPart != null && !string.IsNullOrEmpty(dynamicsPart.ITEMDESC)) ? dynamicsPart.ITEMDESC : "N/A"; model.CustomerId = part.CustomerId; model.CustomerName = (dynamicsCustomer != null && !string.IsNullOrEmpty(dynamicsCustomer.SHRTNAME)) ? dynamicsCustomer.SHRTNAME : "N/A"; model.FoundryId = part.FoundryId; model.FoundryName = (dynamicsFoundry != null && !string.IsNullOrEmpty(dynamicsFoundry.VENDSHNM)) ? dynamicsFoundry.VENDSHNM : "N/A"; model.HtsNumberId = part.HtsNumberId; model.HtsNumber = (htsNumber != null && !string.IsNullOrEmpty(htsNumber.Description)) ? htsNumber.Description + "(" + (htsNumber.DutyRate * 100).ToString() + "%)" : "N/A"; model.PartTypeId = part.PartTypeId; model.PartTypeDescription = (partType != null && !string.IsNullOrEmpty(partType.Description)) ? partType.Description : "N/A"; model.PartStatusId = part.PartStatusId; model.PartStatusDescription = (partStatus != null && !string.IsNullOrEmpty(partStatus.Description)) ? partStatus.Description : "N/A"; model.IsProject = false; if (_dynamicsPartRepository != null) { _dynamicsPartRepository.Dispose(); _dynamicsPartRepository = null; } if (_customerDynamicsRepository != null) { _customerDynamicsRepository.Dispose(); _customerDynamicsRepository = null; } if (_foundryDynamicsRepository != null) { _foundryDynamicsRepository.Dispose(); _foundryDynamicsRepository = null; } if (_htsNumberRepository != null) { _htsNumberRepository.Dispose(); _htsNumberRepository = null; } if (_partTypeRepository != null) { _partTypeRepository.Dispose(); _partTypeRepository = null; } if (_partStatusRepository != null) { _partStatusRepository.Dispose(); _partStatusRepository = null; } return(model); }