Example #1
0
        public static bool InsertDB(ExeclRow entity, SqlConnection conn, ref string msg)
        {
            //基本信息
            cl_Product productModel = new cl_Product();

            productModel.ProductGUID            = Guid.NewGuid();
            productModel.ProductCode            = entity.Code;
            productModel.ProductName            = entity.Name;
            productModel.ProductTypeCode        = entity.TypeCode;
            productModel.Unit                   = entity.Unit;
            productModel.QuotaAttributeNameList = entity.QuotaAttributeNameList;
            productModel.Source                 = "工具导入";
            productModel.CreateTime             = DateTime.Now;
            productModel.LastMenderDate         = DateTime.Now;
            productModel.PutInStorageState      = "已入库";
            productModel.Remarks                = entity.Remake;
            //扩展信息
            cl_Product_Ext productExtModel = new cl_Product_Ext();

            productExtModel.ID             = Guid.NewGuid();
            productExtModel.ProductGUID    = productModel.ProductGUID;
            productExtModel.brandName      = entity.BrandName;
            productExtModel.DHHQ           = entity.ProductTime;
            productExtModel.YBFHQ          = entity.ExampleTime;
            productExtModel.ProductModel   = entity.ModelName;
            productExtModel.Specifications = entity.Format;
            //枚举信息
            Tuple <List <p_Product2QuotaAttribute>, List <p_ProductAttributeValue> > tupleResult = AttributeInsertList(entity, productModel);
            List <p_Product2QuotaAttribute> product2QuotaAttributeList = tupleResult.Item1;
            List <p_ProductAttributeValue>  productAttributeValueList  = tupleResult.Item2;

            using (SqlTransaction transaction = conn.BeginTransaction())
            {
                try
                {
                    DataBaseCommand.SaveProduct(productModel, conn, transaction);                              //保存产品
                    DataBaseCommand.SaveProductExt(productExtModel, conn, transaction);                        //保存扩展信息
                    DataBaseCommand.SaveProduct2QuotaAttribute(product2QuotaAttributeList, conn, transaction); //保存枚举值产品关系
                    DataBaseCommand.SavaProductAttributeValue(productAttributeValueList, conn, transaction);   //保存文本信息
                    DataBaseCommand.UpdateCodeFormatInfo(productModel.ProductCode, productModel.ProductGUID, conn, transaction);
                    transaction.Commit();
                    msg = "成功";
                    return(true);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    msg = ex.Message;
                    Logger.GetLogger(ex.Message).Error(ex);
                    return(false);
                }
            }
        }
        /// <summary>
        /// 保存产品信息
        /// </summary>
        /// <param name="model"></param>
        /// <param name="conn"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        public static int SaveProduct(cl_Product model, SqlConnection conn, SqlTransaction transaction = null)
        {
            string sql = @"INSERT INTO [dbo].[cl_Product]
                                           ([ProductGUID]
                                           ,[ProductCode]
                                           ,[ProductName]
                                           ,[ProductSpec]
                                           ,[Unit]
                                           ,[Price]
                                           ,[PictureName]
                                           ,[Remarks]
                                           ,[BelongBUNameList]
                                           ,[ProductCodeFormat]
                                           ,[IsStrategy]
                                           ,[CreatedBy]
                                           ,[CreatedByGUID]
                                           ,[CreateTime]
                                           ,[LastMender]
                                           ,[LastMenderDate]
                                           ,[LastMenderGUID]
                                           ,[ProductTypeCode]
                                           ,[PutInStorageByGUID]
                                           ,[PutInStorageState]
                                           ,[QuotaAttributeNameList]
                                           ,[Source])
                                     VALUES
                                           (@ProductGUID
                                           ,@ProductCode
                                           ,@ProductName
                                           ,@ProductSpec
                                           ,@Unit
                                           ,@Price
                                           ,@PictureName
                                           ,@Remarks
                                           ,@BelongBUNameList
                                           ,@ProductCodeFormat
                                           ,@IsStrategy
                                           ,@CreatedBy
                                           ,@CreatedByGUID
                                           ,@CreateTime
                                           ,@LastMender
                                           ,@LastMenderDate
                                           ,@LastMenderGUID
                                           ,@ProductTypeCode
                                           ,@PutInStorageByGUID
                                           ,@PutInStorageState
                                           ,@QuotaAttributeNameList
                                           ,@Source)";

            return(conn.Execute(sql, model, transaction));
        }
Example #3
0
        public static Tuple <List <p_Product2QuotaAttribute>, List <p_ProductAttributeValue> > AttributeInsertList(ExeclRow entity, cl_Product productModel)
        {
            //枚举信息
            List <p_Product2QuotaAttribute> product2QuotaAttributeList = new List <p_Product2QuotaAttribute>();
            List <p_ProductAttributeValue>  productAttributeValueList  = new List <p_ProductAttributeValue>();

            foreach (Attribute item in entity.Attributes)
            {
                if (item.ControlType == "枚举")
                {
                    p_Product2QuotaAttribute product2QuotaAttributeModel = new p_Product2QuotaAttribute();
                    product2QuotaAttributeModel.Product2QuotaAttributeGUID = Guid.NewGuid();
                    product2QuotaAttributeModel.ProductGUID                   = productModel.ProductGUID;
                    product2QuotaAttributeModel.ProductTypeQuotaGUID          = item.ProductTypeQuotaGUID;
                    product2QuotaAttributeModel.ProductTypeQuotaAttributeGUID = item.ProductTypeQuotaAttributeGUID;
                    product2QuotaAttributeList.Add(product2QuotaAttributeModel);
                }
                else if (item.ControlType == "文本")
                {
                    p_ProductAttributeValue productAttributeValueModel = new p_ProductAttributeValue();
                    productAttributeValueModel.ProductTypeQuotaAttributeExtGUID = Guid.NewGuid();
                    productAttributeValueModel.ProductGUID          = productModel.ProductGUID;
                    productAttributeValueModel.ProductTypeQuotaGUID = item.ProductTypeQuotaGUID;
                    productAttributeValueModel.ControlType          = "2";
                    productAttributeValueModel.QuotaAttributeValue  = item.Value;
                    productAttributeValueList.Add(productAttributeValueModel);
                    //文本的关系表绑定
                    p_Product2QuotaAttribute product2QuotaAttributeModel = new p_Product2QuotaAttribute();
                    product2QuotaAttributeModel.Product2QuotaAttributeGUID = Guid.NewGuid();
                    product2QuotaAttributeModel.ProductGUID                   = productModel.ProductGUID;
                    product2QuotaAttributeModel.ProductTypeQuotaGUID          = item.ProductTypeQuotaGUID;
                    product2QuotaAttributeModel.ProductTypeQuotaAttributeGUID = productAttributeValueModel.ProductTypeQuotaAttributeExtGUID;//将文本分类的值关联到中间表
                    product2QuotaAttributeList.Add(product2QuotaAttributeModel);
                }
            }
            return(Tuple.Create <List <p_Product2QuotaAttribute>, List <p_ProductAttributeValue> >(product2QuotaAttributeList, productAttributeValueList));
        }