Ejemplo n.º 1
0
        /// <summary>
        /// update foundry order part
        /// </summary>
        /// <param name="foundryOrderPart"></param>
        /// <returns></returns>
        public OperationResult UpdateFoundryOrderPart(FoundryOrderPart foundryOrderPart)
        {
            var operationResult = new OperationResult();

            var existingPart = GetFoundryOrderPart(foundryOrderPart.FoundryOrderPartId);

            if (existingPart != null)
            {
                try
                {
                    _db.FoundryOrderPart.Attach(existingPart);

                    _db.Entry(existingPart).CurrentValues.SetValues(foundryOrderPart);

                    _db.SaveChanges();

                    operationResult.Success = true;
                    operationResult.Message = "Success";
                }
                catch (Exception ex)
                {
                    operationResult.Success = false;
                    operationResult.Message = "Error";
                    logger.ErrorFormat("Error while updating foundry order part: { 0} ", ex.ToString());
                }
            }
            else
            {
                operationResult.Success = false;
                operationResult.Message = "Unable to find selected foundry order part.";
            }

            return(operationResult);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// convert foundry order part view model to domain
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public FoundryOrderPart ConvertToDomain(FoundryOrderPartViewModel model)
        {
            FoundryOrderPart part = new FoundryOrderPart();

            var _customerOrderRepository = new CustomerOrderRepository();

            var customerOrderPart = _customerOrderRepository.GetCustomerOrderPart(model.CustomerOrderPartId);

            part.FoundryOrderPartId  = model.FoundryOrderPartId;
            part.ProjectPartId       = (customerOrderPart != null) ? customerOrderPart.ProjectPartId : null;
            part.PartId              = (customerOrderPart != null) ? customerOrderPart.PartId : null;
            part.CustomerOrderPartId = model.CustomerOrderPartId;
            part.AvailableQuantity   = model.AvailableQuantity;
            part.Quantity            = model.Quantity;
            part.EstArrivalDate      = model.EstArrivalDate;
            part.ShipDate            = model.ShipDate;
            part.ShipCode            = model.ShipCode;
            part.ShipCodeNotes       = model.ShipCodeNotes;
            part.Price           = model.Price;
            part.Cost            = model.Cost;
            part.IsScheduled     = model.IsScheduled;
            part.HasBeenReceived = model.HasBeenReceived;
            part.ReceiptDate     = model.ReceiptDate;
            part.ReceiptQuantity = model.ReceiptQuantity;

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

            return(part);
        }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// get foundry order part by part
        /// </summary>
        /// <param name="partId"></param>
        /// <returns></returns>
        public FoundryOrderPart GetFoundryOrderPartByPart(Guid partId)
        {
            var part = new FoundryOrderPart();

            try
            {
                part = _db.FoundryOrderPart.FirstOrDefault(x => x.PartId == partId);
            }
            catch (Exception e)
            {
                logger.Error("An error occurred while getting foundry order part by project part. Error: " + e);
            }

            return(part);
        }