public ActionResult SaveProductRoute(int productId, ProductRoute data)
        {
            ProductRoute route   = null;
            bool         success = false;
            string       msg     = string.Empty;

            Product product = Product.GetProduct(productId);

            route = product.Routes.AddRoute(data.RouteId);
            if (!product.IsValid)
            {
                msg = product.BrokenRulesCollection.ToString();
            }
            try
            {
                product = ImportWizard.PrepareProductSave(product);
                product = (Product)product.Save();
                success = true;
            }
            catch (Exception e)
            {
                msg = msg + ", " + e.Message;
            }

            return(this.Direct(new
            {
                success = success,
                data = route,
                msg = msg
            }));
        }
示例#2
0
        public ActionResult SaveProductRoute(int productId, ProductRoute data)
        {
            ProductRoute route = null;
            bool success = false;
            string msg = string.Empty;

            Product product = Product.GetProduct(productId);
            route = product.Routes.AddRoute(data.RouteId);
            if (!product.IsValid) msg = product.BrokenRulesCollection.ToString();
            try
            {
                product = ImportWizard.PrepareProductSave(product);
                product = (Product)product.Save();
                success = true;
            }
            catch (Exception e)
            {
                msg = msg + ", " + e.Message;
            }

            return this.Direct(new
                {
                    success = success,
                    data = route,
                    msg = msg
                });
        }
示例#3
0
        /// <summary>
        /// </summary>
        /// <param name="entity"/>
        /// <returns/>
        public bool OnAfterLoad_ProductRoute(ProductRoute entity)
        {
            try
            {
                entity.LINE_ID        = UtilityHelper.Trim(entity.LINE_ID);
                entity.FROM_PROD_ID   = UtilityHelper.Trim(entity.FROM_PROD_ID);
                entity.FROM_PROD_NAME = UtilityHelper.Trim(entity.FROM_PROD_NAME);
                entity.STEP_ID        = UtilityHelper.Trim(entity.STEP_ID);
                entity.TO_PROD_ID     = UtilityHelper.Trim(entity.TO_PROD_ID);
                entity.TO_PROD_NAME   = UtilityHelper.Trim(entity.TO_PROD_NAME);

                ProductDetail fromProdDetail = FindHelper.FindProductDetail(entity.LINE_ID, entity.FROM_PROD_ID);

                if (fromProdDetail == null)
                {
                    WriteHelper.WriteMasterDataErrorLog(MasterDataErrorEventType.PRODUCT, entity.LINE_ID, string.Empty,
                                                        string.Empty, entity.FROM_PROD_ID, string.Empty, string.Empty, 0, string.Empty, "Cannot find ProductMaster", string.Empty, "ProductRoute");
                    return(false);
                }

                Tuple <string, string, bool, bool, int> fromProdKey = new Tuple <string, string, bool, bool, int>(entity.LINE_ID, entity.FROM_PROD_ID, false, false, 1);

                MicronBEAssyProduct fromProduct;
                if (InputMart.Instance.MicronBEProducts.TryGetValue(fromProdKey, out fromProduct) == false)
                {
                    fromProduct = NewHelper.NewMicronBeAssyProduct(fromProdDetail);
                    fromProduct.PartChangeStep = entity.STEP_ID;
                    InputMart.Instance.MicronBEProducts.Add(fromProdKey, fromProduct);
                }

                ProductDetail toProdDetail = FindHelper.FindProductDetail(entity.LINE_ID, entity.TO_PROD_ID);

                if (toProdDetail == null)
                {
                    WriteHelper.WriteMasterDataErrorLog(MasterDataErrorEventType.PRODUCT, entity.LINE_ID, string.Empty,
                                                        string.Empty, entity.TO_PROD_ID, string.Empty, string.Empty, 0, string.Empty, "Cannot find ProductMaster", string.Empty, "ProductRoute");
                    return(false);
                }

                ICollection <AssyMcpPart> assyInProducts = FindHelper.FindAssyInParts(entity.LINE_ID, entity.TO_PROD_ID);

                if (assyInProducts.IsNullOrEmpty())
                {
                    WriteHelper.WriteMasterDataErrorLog(MasterDataErrorEventType.PRODUCT, entity.LINE_ID, string.Empty,
                                                        string.Empty, entity.TO_PROD_ID, string.Empty, string.Empty, 0, string.Empty, "Cannot find McpBom", string.Empty, "ProductRoute");
                    return(false);
                }

                foreach (AssyMcpPart inPart in assyInProducts)
                {
                    inPart.AddPrev(fromProduct);
                    fromProduct.AddNext(inPart);
                }

                return(false);
            }
            catch (Exception e)
            {
                WriteHelper.WriteErrorHistory(ErrorLevel.FATAL, string.Format("ErrorMessage : {0}   MethodName : {1}", e.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name));
                return(false);
            }
        }