예제 #1
0
        /// <summary>
        /// convert foundry order part to project part view model
        /// </summary>
        /// <param name="foundryOrderPart"></param>
        /// <returns></returns>
        public FoundryOrderPartViewModel ConvertToProjectPartView(FoundryOrderPart foundryOrderPart)
        {
            FoundryOrderPartViewModel model = new FoundryOrderPartViewModel();

            var _foundryOrderRepository    = new FoundryOrderRepository();
            var _customerOrderRepository   = new CustomerOrderRepository();
            var _projectPartRepository     = new ProjectPartRepository();
            var _dynamicsReceiptRepository = new ReceiptDynamicsRepository();

            var customerOrderPart = _customerOrderRepository.GetCustomerOrderPart(foundryOrderPart.CustomerOrderPartId);
            var projectPart       = _projectPartRepository.GetProjectPart(foundryOrderPart.ProjectPartId);
            var customerOrder     = _customerOrderRepository.GetCustomerOrder((customerOrderPart != null) ? customerOrderPart.CustomerOrderId : Guid.Empty);

            model.FoundryOrderPartId   = foundryOrderPart.FoundryOrderPartId;
            model.CustomerOrderPartId  = foundryOrderPart.CustomerOrderPartId;
            model.FoundryOrderId       = foundryOrderPart.FoundryOrderId;
            model.ProjectPartId        = foundryOrderPart.ProjectPartId;
            model.CustomerOrderId      = (customerOrderPart != null) ? customerOrderPart.CustomerOrderId : Guid.Empty;
            model.AvailableQuantity    = (customerOrderPart != null) ? customerOrderPart.AvailableQuantity : 0;
            model.FoundryOrderQuantity = foundryOrderPart.Quantity;
            model.PartNumber           = (projectPart != null && !string.IsNullOrEmpty(projectPart.Number)) ? projectPart.Number : "N/A";
            model.PartDescription      = (projectPart != null && !string.IsNullOrEmpty(projectPart.Description)) ? projectPart.Description : "N/A";
            model.PONumber             = (customerOrder != null && !string.IsNullOrEmpty(customerOrder.PONumber)) ? customerOrder.PONumber : "N/A";
            model.ShipCode             = (!string.IsNullOrEmpty(foundryOrderPart.ShipCode)) ? foundryOrderPart.ShipCode : "N/A";
            model.ShipCodeNotes        = (!string.IsNullOrEmpty(foundryOrderPart.ShipCodeNotes)) ? foundryOrderPart.ShipCodeNotes : "N/A";
            model.EstArrivalDate       = (foundryOrderPart.EstArrivalDate != null) ? foundryOrderPart.EstArrivalDate : DateTime.MinValue;
            model.EstArrivalDateStr    = (foundryOrderPart.EstArrivalDate != null) ? foundryOrderPart.EstArrivalDate.Value.ToShortDateString() : "N/A";
            model.ShipDate             = (foundryOrderPart.ShipDate != null) ? foundryOrderPart.ShipDate : DateTime.MinValue;
            model.ShipDateStr          = (foundryOrderPart.ShipDate != null) ? foundryOrderPart.ShipDate.Value.ToShortDateString() : "N/A";
            model.Cost            = foundryOrderPart.Cost;
            model.Price           = foundryOrderPart.Price;
            model.IsScheduled     = foundryOrderPart.IsScheduled;
            model.HasBeenReceived = foundryOrderPart.HasBeenReceived;
            model.ReceiptDate     = (foundryOrderPart.ReceiptDate != null) ? foundryOrderPart.ReceiptDate : DateTime.MinValue;
            model.ReceiptDateStr  = (foundryOrderPart.ReceiptDate != null) ? foundryOrderPart.ReceiptDate.Value.ToShortDateString() : "N/A";
            model.ReceiptQuantity = foundryOrderPart.ReceiptQuantity;

            if (_foundryOrderRepository != null)
            {
                _foundryOrderRepository.Dispose();
                _foundryOrderRepository = null;
            }
            if (_customerOrderRepository != null)
            {
                _customerOrderRepository.Dispose();
                _customerOrderRepository = null;
            }
            if (_projectPartRepository != null)
            {
                _projectPartRepository.Dispose();
                _projectPartRepository = null;
            }
            if (_dynamicsReceiptRepository != null)
            {
                _dynamicsReceiptRepository.Dispose();
                _dynamicsReceiptRepository = null;
            }

            return(model);
        }
예제 #2
0
        /// <summary>
        /// convert price sheet part to price sheet part price detail view model
        /// </summary>
        /// <param name="part"></param>
        /// <returns></returns>
        public PriceSheetPriceDetailViewModel ConvertToPriceView(PriceSheetPart part)
        {
            PriceSheetPriceDetailViewModel model = new PriceSheetPriceDetailViewModel();

            var _projectPartRepository = new ProjectPartRepository();

            var projectPart = _projectPartRepository.GetProjectPart(part.ProjectPartId);

            model.PriceSheetPartId = part.PriceSheetPartId;
            model.PartNumber       = (projectPart != null) ? projectPart.Number : "N/A";
            model.Weight           = (projectPart != null) ? projectPart.Weight : 0;
            model.AnnualUsage      = part.AnnualUsage;
            model.RawPrice         = part.RawPrice;
            model.AnnualRawPrice   = part.AnnualRawPrice;
            model.PNumber          = part.PNumberPrice;
            model.MachinePrice     = part.MachinePrice;
            model.FOBPrice         = part.FOBPrice;
            model.AddOn            = part.AddOnPrice;
            model.Surcharge        = part.SurchargePrice;
            model.Duty             = part.DutyCost;
            model.Price            = part.Price;
            model.AnnualPrice      = part.AnnualPrice;
            model.FixturePrice     = part.FixturePrice;
            model.PatternPrice     = part.PatternPrice;
            model.ProjectPartId    = part.ProjectPartId ?? Guid.Empty;

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

            return(model);
        }
예제 #3
0
        /// <summary>
        /// convert price sheet part to view model for quote price sheet
        /// </summary>
        /// <param name="part"></param>
        /// <returns></returns>
        public PriceSheetPartViewModel ConvertToProjectPartView(PriceSheetPart part)
        {
            PriceSheetPartViewModel model = new PriceSheetPartViewModel();

            var _projectPartRepository = new ProjectPartRepository();
            var _priceSheetRepository  = new PriceSheetRepository();

            var priceSheet  = _priceSheetRepository.GetPriceSheet(part.PriceSheetId);
            var projectPart = _projectPartRepository.GetProjectPart(part.ProjectPartId);

            model.ProjectPartId         = part.ProjectPartId ?? Guid.Empty;
            model.PriceSheetPartId      = part.PriceSheetPartId;
            model.PriceSheetId          = part.PriceSheetId;
            model.PriceSheetNumber      = (priceSheet != null) ? priceSheet.Number : "N/A";
            model.PartNumber            = (projectPart != null) ? projectPart.Number : "N/A";
            model.PartDescription       = (projectPart != null) ? projectPart.Description : "N/A";
            model.AvailableQuantity     = part.AvailableQuantity;
            model.CustomerOrderQuantity = part.AvailableQuantity;
            model.UnitPrice             = part.Price;
            model.UnitCost = part.Cost;

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

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

            return(model);
        }
예제 #4
0
        /// <summary>
        /// convert customer order part to project part view model
        /// </summary>
        /// <param name="customerOrderPart"></param>
        /// <returns></returns>
        public CustomerOrderPartViewModel ConvertToProjectPartView(CustomerOrderPart customerOrderPart)
        {
            CustomerOrderPartViewModel model = new CustomerOrderPartViewModel();

            var _priceSheetRepository    = new PriceSheetRepository();
            var _projectPartRepository   = new ProjectPartRepository();
            var _customerOrderRepository = new CustomerOrderRepository();
            var _foundryOrderRepository  = new FoundryOrderRepository();

            var priceSheetPart   = _priceSheetRepository.GetPriceSheetPart(customerOrderPart.PriceSheetPartId);
            var projectPart      = _projectPartRepository.GetProjectPart((customerOrderPart.ProjectPartId != null) ? customerOrderPart.ProjectPartId : Guid.Empty);
            var priceSheet       = _priceSheetRepository.GetPriceSheet((priceSheetPart != null) ? priceSheetPart.PriceSheetId : Guid.Empty);
            var customerOrder    = _customerOrderRepository.GetCustomerOrder(customerOrderPart.CustomerOrderId);
            var receivedQuantity = _foundryOrderRepository.GetFoundryOrderParts().Where(x => x.CustomerOrderPartId == customerOrderPart.CustomerOrderPartId &&
                                                                                        x.HasBeenReceived).Select(y => y.ReceiptQuantity).Sum();

            model.CustomerOrderPartId   = customerOrderPart.CustomerOrderPartId;
            model.CustomerOrderId       = customerOrderPart.CustomerOrderId;
            model.PONumber              = (!string.IsNullOrEmpty(customerOrder.PONumber)) ? customerOrder.PONumber : "N/A";
            model.ProjectPartId         = customerOrderPart.ProjectPartId;
            model.PriceSheetPartId      = customerOrderPart.PriceSheetPartId;
            model.PriceSheetId          = (priceSheet != null) ? priceSheet.PriceSheetId : Guid.Empty;
            model.AvailableQuantity     = customerOrderPart.AvailableQuantity;
            model.CustomerOrderQuantity = customerOrderPart.Quantity;
            model.PartNumber            = (projectPart != null && !string.IsNullOrEmpty(projectPart.Number)) ? projectPart.Number : "N/A";
            model.PartDescription       = (projectPart != null && !string.IsNullOrEmpty(projectPart.Description)) ? projectPart.Description : "N/A";
            model.PriceSheetNumber      = (priceSheet != null && !string.IsNullOrEmpty(priceSheet.Number)) ? priceSheet.Number : "N/A";
            model.EstArrivalDate        = (customerOrderPart.EstArrivalDate != null) ? customerOrderPart.EstArrivalDate : DateTime.MinValue;
            model.EstArrivalDateStr     = (customerOrderPart.EstArrivalDate != null) ? customerOrderPart.EstArrivalDate.Value.ToShortDateString() : "N/A";
            model.ReceiptQuantity       = receivedQuantity;
            model.Cost  = customerOrderPart.Cost;
            model.Price = customerOrderPart.Price;

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

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

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

            return(model);
        }
예제 #5
0
        /// <summary>
        /// convert price sheet part to view model for production price sheet
        /// </summary>
        /// <param name="part"></param>
        /// <returns></returns>
        public PriceSheetPartViewModel ConvertToPartView(PriceSheetPart part)
        {
            PriceSheetPartViewModel model = new PriceSheetPartViewModel();

            var _partRepository         = new PartRepository();
            var _dynamicsPartRepository = new PartDynamicsRepository();
            var _priceSheetRepository   = new PriceSheetRepository();
            var _projectPartRepository  = new ProjectPartRepository();

            var priceSheet   = _priceSheetRepository.GetPriceSheet(part.PriceSheetId);
            var projectPart  = _projectPartRepository.GetProjectPart(part.ProjectPartId);
            var tempPart     = _partRepository.GetPart((projectPart != null) ? projectPart.PartId : null);
            var dynamicsPart = _dynamicsPartRepository.GetPartMaster((tempPart != null) ? tempPart.Number : null);

            model.ProjectPartId         = part.ProjectPartId ?? Guid.Empty;
            model.PartId                = (tempPart != null) ? tempPart.PartId : Guid.Empty;
            model.PriceSheetPartId      = part.PriceSheetPartId;
            model.PriceSheetId          = part.PriceSheetId;
            model.PriceSheetNumber      = (priceSheet != null) ? priceSheet.Number : "N/A";
            model.PartNumber            = (tempPart != null) ? tempPart.Number : "N/A";
            model.PartDescription       = (dynamicsPart != null && !string.IsNullOrEmpty(dynamicsPart.ITEMDESC)) ? dynamicsPart.ITEMDESC : "N/A";
            model.AvailableQuantity     = part.AvailableQuantity;
            model.CustomerOrderQuantity = part.AvailableQuantity;
            model.UnitPrice             = part.Price;
            model.UnitCost              = part.Cost;

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

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

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

            return(model);
        }