Esempio n. 1
0
        /// <summary>
        /// 加载Combo所有信息
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public virtual ComboInfo Load(int sysNo)
        {
            ComboInfo   info = null;
            DataCommand cmd  = DataCommandManager.GetDataCommand("LoadComboInfo");

            cmd.SetParameterValue("@SysNo", sysNo);
            DataSet   ds       = cmd.ExecuteDataSet();
            DataTable dtMaster = ds.Tables[0];
            DataTable dtItem   = ds.Tables[1];

            if (dtMaster == null || dtMaster.Rows.Count == 0)
            {
                return(null);
            }

            info = DataMapper.GetEntity <ComboInfo>(dtMaster.Rows[0], (row, entity) =>
            {
                entity.Name         = new BizEntity.LanguageContent(row["SaleRuleName"].ToString().Trim());
                entity.TargetStatus = entity.Status;
                entity.IsShowName   = row["IsShow"].ToString().Trim().ToUpper() == "Y" ? true : false;
            });

            info.Items = DataMapper.GetEntityList <ComboItem, List <ComboItem> >(dtItem.Rows, (row, entity) =>
            {
                entity.IsMasterItemB = row["IsMasterItem"] == null ? false : (row["IsMasterItem"].ToString() == "1" ? true : false);
            });

            return(info);
        }
Esempio n. 2
0
        /// <summary>
        /// 根据套餐编号获取套餐信息和套餐商品列表
        /// </summary>
        /// <param name="comboSysNo">套餐编号</param>
        /// <returns></returns>
        public static ComboInfo GetComboByComboSysNo(int comboSysNo)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("Promotion_GetComboByComboSysNo");

            cmd.SetParameterValue("@ComboSysNo", comboSysNo);
            DataSet ds = cmd.ExecuteDataSet();

            ComboInfo combo    = new ComboInfo();
            DataTable dtMaster = ds.Tables[0];
            DataTable dtItems  = ds.Tables[1];

            if (dtMaster != null && dtMaster.Rows.Count > 0)
            {
                combo = DataMapper.GetEntity <ComboInfo>(dtMaster.Rows[0], (row, entity) =>
                {
                    entity.IsShowName = row["IsShow"] == null ? false : row["IsShow"].ToString().Trim().ToUpper() == "Y" ? true : false;
                });

                combo.Items = DataMapper.GetEntityList <ComboItem, List <ComboItem> >(dtItems.Rows, (row, entity) =>
                {
                    entity.IsMasterItemB = row["IsMasterItem"] == null ? false : (row["IsMasterItem"].ToString() == "1" ? true : false);
                });
            }
            return(combo);
        }
Esempio n. 3
0
 private void ValidateEntity(ComboInfo entity)
 {
     if (entity.SysNo > 0)
     {
         var item = Load(entity.SysNo);
         if (item == null)
         {
             throw new BusinessException(LanguageHelper.GetText("单据已不存在。"));
         }
         if (item.SellerSysNo != entity.SellerSysNo)
         {
             throw new BusinessException(LanguageHelper.GetText("您无权操作此单据。"));
         }
         if (item.Status != ComboStatus.Deactive)
         {
             throw new BusinessException(LanguageHelper.GetText("此单据不是无效状态,无法执行编辑操作。"));
         }
     }
     if (string.IsNullOrWhiteSpace(entity.SaleRuleName))
     {
         throw new BusinessException(LanguageHelper.GetText("活动名称不可为空!"));
     }
     if (entity.Items == null || entity.Items.Count < 2)
     {
         throw new BusinessException(LanguageHelper.GetText("捆绑促销活动至少包含2个商品!"));
     }
     foreach (var item in entity.Items)
     {
         var product = ProductService.GetProductBySysNo(entity.SellerSysNo.Value, item.ProductSysNo);
         if (Math.Abs(item.Discount) > product.CurrentPrice)
         {
             throw new BusinessException(LanguageHelper.GetText(string.Format("商品#{0}的折扣不能大于卖价!", product.SysNo)));
         }
     }
 }
Esempio n. 4
0
        /// <summary>
        /// 产品筛选(产品名)
        /// </summary>
        /// yangj    16.08.02
        /// <returns></returns>
        public List <ComboInfo> FindByProduceName(int creditId)
        {
            SqlCommand comm = DHelper.GetSqlCommand(@"
                SELECT DISTINCT Name
                FROM PROD_ProduceInfo AS A
                LEFT JOIN CRET_BindProduce AS B
                    ON A.ProduceId = B.ProduceId
                    WHERE B.CreditId = @CreditId;");

            DHelper.AddParameter(comm, "@CreditId", SqlDbType.Int, creditId);


            DataTable dt = DHelper.ExecuteDataTable(comm);

            List <ComboInfo> list = new List <ComboInfo>();

            foreach (DataRow dr in dt.Rows)
            {
                ComboInfo cbi = new ComboInfo(dr["Name"].ToString(), dr["Name"].ToString());

                list.Add(cbi);
            }

            return(list);
        }
Esempio n. 5
0
        /// <summary>
        /// 根据父节点查找字典
        /// </summary>
        /// <param name="parentCode"></param>
        /// <param name="dictionaryTypeID"></param>
        /// yand    16.07.18
        /// <returns></returns>
        public List <ComboInfo> GetComListByPanrentCode(int parentCode, int dictionaryTypeID)
        {
            SqlCommand comm = DHelper.GetSqlCommand(@"
                SELECT  Code,Name FROM BANK_DictionaryCode  
                    WHERE ParentCode = @ParentCode AND BDT_ID = @dictionaryTypeID
            ");

            DHelper.AddInParameter(comm, "@dictionaryTypeID", SqlDbType.Int, dictionaryTypeID);
            DHelper.AddInParameter(comm, "@ParentCode", SqlDbType.NChar, parentCode);
            DataTable        dt   = DHelper.ExecuteDataTable(comm);
            List <ComboInfo> list = new List <ComboInfo>();

            foreach (DataRow dr in dt.Rows)
            {
                var    cbi = new ComboInfo(string.Empty, string.Empty);
                object p1  = dr["Code"];
                object p2  = dr["Name"];

                if (p1 != null)
                {
                    cbi.value = p1.ToString();
                }

                if (p2 != null)
                {
                    cbi.text = p2.ToString();
                }

                list.Add(cbi);
            }

            return(list);
        }
Esempio n. 6
0
 public int ComboInfo_UpdateById(ComboInfo obj)
 {
     using (VideosAccess access = new VideosAccess())
     {
         return(access.ComboInfo_UpdateById(obj));
     }
 }
Esempio n. 7
0
        public void Calculate(ref OrderInfo order)
        {
            if (order.DiscountDetailList == null)
            {
                order.DiscountDetailList = new List <OrderItemDiscountInfo>();
            }

            foreach (OrderItemGroup itemGroup in order.OrderItemGroupList)
            {
                if (itemGroup.PackageNo > 0 && itemGroup.PackageType == 1)
                {
                    ComboInfo combo = PromotionDA.GetComboByComboSysNo(itemGroup.PackageNo);
                    if (combo != null && combo.Items != null && combo.Items.Count > 0)
                    {
                        foreach (ComboItem comboItem in combo.Items)
                        {
                            OrderItemDiscountInfo itemDiscount = new OrderItemDiscountInfo();
                            itemDiscount.DiscountActivityName   = combo.SaleRuleName;
                            itemDiscount.DiscountActivityNo     = itemGroup.PackageNo;
                            itemDiscount.DiscountType           = 1;
                            itemDiscount.PackageNo              = itemGroup.PackageNo;
                            itemDiscount.ProductSysNo           = comboItem.ProductSysNo;
                            itemDiscount.Quantity               = itemGroup.Quantity * comboItem.Quantity;
                            itemDiscount.UnitDiscount           = Math.Abs(comboItem.Discount);
                            itemDiscount.UnitRewardedBalance    = 0;
                            itemDiscount.UnitRewardedPoint      = 0;
                            itemDiscount.UnitShipFeeDiscountAmt = 0;

                            order.DiscountDetailList.Add(itemDiscount);
                        }
                    }
                }
            }
        }
Esempio n. 8
0
        /// <summary>
        /// 获取促销结果
        /// </summary>
        /// <param name="origComboList"></param>
        /// <param name="soInfo"></param>
        /// <param name="soItemList"></param>
        /// <param name="promotionInfoList"></param>
        protected virtual void GetPromotionListForSO(List <ComboInfo> origComboList, SOInfo soInfo, ref List <SOItemInfo> soItemList, ref List <SOPromotionInfo> promotionInfoList)
        {
            //1.取当前订单商品有效的Combo
            List <ComboInfo> validComboList = GetValidComboList(origComboList, soItemList);

            if (validComboList.Count == 0)
            {
                return;
            }

            //2.按照这些可以参与活动的Combo列表,得到所有的折扣列表: 遵循最大Combo折扣优先原则,而不是客户最大折扣优先原则
            List <ComboApplyInstance> comboApplyList = new List <ComboApplyInstance>();

            foreach (ComboInfo combo in validComboList)
            {
                ComboApplyInstance comboApply = new ComboApplyInstance();
                ComboInfo          comboClone = SerializationUtility.DeepClone <ComboInfo>(combo);
                comboApply.ComboSysNo = comboClone.SysNo.Value;
                //获取当前Combo在订单中最多可以存在多少套: 取订单中满足该Combo商品中最小数量
                int maxCount = int.MaxValue;
                foreach (ComboItem comboItem in comboClone.Items)
                {
                    SOItemInfo soItem   = soItemList.Find(f => f.ProductSysNo == comboItem.ProductSysNo);
                    int        curCount = soItem.Quantity.Value / comboItem.Quantity.Value;
                    if (curCount < maxCount)
                    {
                        maxCount = curCount;
                    }
                }
                comboApply.Qty = maxCount;
                decimal totalDiscount = 0.00m;
                foreach (ComboItem comboItem in comboClone.Items)
                {
                    totalDiscount += Math.Round(comboItem.Discount.Value * comboItem.Quantity.Value * maxCount, 2);
                }
                //取Combo Total Discount的绝对值
                comboApply.TotalDiscount = Math.Abs(totalDiscount);
                comboApplyList.Add(comboApply);
            }
            //3.得到折扣从大到小排序的列表
            var comboApplySortList = from p in comboApplyList
                                     orderby p.TotalDiscount descending
                                     select p;

            //4.取最大折扣的Combo
            ComboApplyInstance maxDiscountComboApply = comboApplySortList.First();
            ComboInfo          curCombo = validComboList.Find(f => f.SysNo.Value == maxDiscountComboApply.ComboSysNo);


            SOPromotionInfo promotionInfo = GetPromotionInfoForCurrentCombo(curCombo, maxDiscountComboApply, ref soItemList,
                                                                            promotionInfoList.Count + 1, soInfo.SysNo);

            if (promotionInfo != null)
            {
                promotionInfoList.Add(promotionInfo);
            }

            //5.轮询调用剩下的订单商品
            GetPromotionListForSO(validComboList, soInfo, ref soItemList, ref promotionInfoList);
        }
Esempio n. 9
0
        /// <summary>
        /// 年款
        /// </summary>
        /// <param name="makeCode"></param>
        /// <param name="familyCode"></param>
        /// <returns></returns>
        public List <ComboInfo> YearOption(string makeCode, string familyCode)
        {
            List <ComboInfo> list         = new List <ComboInfo>();
            SQLHelper        iautosHelper = new SQLHelper(new WebConfigure("connIautos"));

            SqlCommand comm = iautosHelper.GetSqlCommand(@"
                SELECT yi.ID,yi.Year FROM IautosYearInfo AS yi
                     LEFT JOIN IautosSeriesInfo AS si ON si.SeriesID = yi.SeriesID
                WHERE si.SeriesID = @SeriesID AND si.BrandID = @BrandID
                ORDER BY Year DESC
            ");

            iautosHelper.AddInParameter(comm, "@BrandID", SqlDbType.Int, makeCode);
            iautosHelper.AddInParameter(comm, "@SeriesID", SqlDbType.Int, familyCode);

            DataTable dt = iautosHelper.ExecuteDataTable(comm);

            if (dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    ComboInfo cbi = new ComboInfo(dr["ID"].ToString(), dr["Year"].ToString());

                    list.Add(cbi);
                }
            }

            return(list);
        }
Esempio n. 10
0
        /// <summary>
        /// 批量创建Combo
        /// </summary>
        /// <param name="comboList"></param>
        /// <returns></returns>
        public virtual List <ComboInfo> BatchCreateCombo(List <ComboInfo> comboList)
        {
            TransactionOptions options = new TransactionOptions();

            options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
            options.Timeout        = TransactionManager.DefaultTimeout;

            #region Check
            if (comboList != null && comboList.Count > 0)
            {
                ComboInfo     combo     = comboList[0];
                List <string> errorList = CheckBasicIsPass(combo);
                if (errorList.Count > 0)
                {
                    throw new BizException(errorList.Join("\r\n"));
                }

                errorList = CheckComboItemIsPass(combo);
                if (errorList.Count > 0)
                {
                    throw new BizException(errorList.Join("\r\n"));
                }

                if (!CheckPriceIsPass(combo))
                {
                    //errorList.Add("差价大于成本(销售价格和 + 总折扣 < 成本价格和),请先提交审核!");
                    errorList.Add(ResouceManager.GetMessageString("MKT.Promotion.Combo", "Combo_ExamineFirstWhenPriceDiffrenceIsHigher"));
                }
                if (errorList.Count > 0)
                {
                    throw new BizException(errorList.Join("\r\n"));
                }

                foreach (ComboItem i in combo.Items)
                {
                    if (!CheckMarginIsPass(i))
                    {
                        // errorList.Add(string.Format("商品{0}毛利率小于最低毛利率,请提交审核!", item.ProductID));
                        errorList.Add(string.Format(ResouceManager.GetMessageString("MKT.Promotion.Combo", "Combo_ExamineFirstWhenRateOfMarginIsHigher"), i.ProductID));
                    }
                }
                if (errorList.Count > 0)
                {
                    throw new BizException(errorList.Join("\r\n"));
                }
            }
            #endregion

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options))
            {
                comboList.ForEach(p =>
                {
                    p.SysNo = CreateCombo(p);
                });

                scope.Complete();
            }

            return(comboList);
        }
Esempio n. 11
0
        /// <summary>
        /// 更新保存时需要检查状态变化
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected virtual List <string> CheckValidateWhenChangeStatus(ComboInfo entity)
        {
            List <string> errList = new List <string>();

            if (entity.Status.Value == ComboStatus.Deactive &&
                entity.TargetStatus.Value == ComboStatus.Active)
            {
                if (!CheckPriceIsPass(entity))
                {
                    //errList.Add("差价大于成本(销售价格和 + 总折扣 < 成本价格和),请先提交审核!");
                    errList.Add(ResouceManager.GetMessageString("MKT.Promotion.Combo", "Combo_ExamineFirstWhenPriceDiffrenceIsHigher"));
                }
                if (entity.Items.Find(f => f.IsMasterItemB.HasValue && f.IsMasterItemB.Value) == null)
                {
                    //throw new BizException("套餐必须有一个主商品!");
                    throw new BizException(ResouceManager.GetMessageString("MKT.Promotion.Combo", "Combo_MustOneMainGoods"));
                }
            }
            if (entity.Status.Value == ComboStatus.WaitingAudit && entity.TargetStatus.Value == ComboStatus.Active)
            {   //bug 127:要求添加验证
                //throw new BizException("待审核规则必须【审核通过】之后才能变为有效状态!");
                throw new BizException(ResouceManager.GetMessageString("MKT.Promotion.Combo", "Combo_ActiveNeedAfterAuditPass"));
            }
            return(errList);
        }
Esempio n. 12
0
        /// <summary>
        /// 产品筛选
        /// </summary>
        /// yangj    16.08.02
        /// <param name="produceName">产品名</param>
        /// <param name="repaymentMethod">还款方式</param>
        /// <param name="financingPeriods">融资期限</param>
        /// <returns></returns>
        public List <ComboInfo> FindProduct(string produceName, string repaymentMethod, string financingPeriods, int creditId)
        {
            SqlCommand comm = DHelper.GetSqlCommand(@"
                SELECT A.ProduceId,
                        Code
                FROM PROD_ProduceInfo AS A
                LEFT JOIN CRET_BindProduce AS B
                    ON A.ProduceId = B.ProduceId
                WHERE B.CreditId = @CreditId
                AND (@Name IS NULL OR Name=@Name)
                AND (@RepaymentMethod IS NULL OR RepaymentMethod=@RepaymentMethod)
                AND (@FinancingPeriods IS NULL OR FinancingPeriods=@FinancingPeriods)");

            DHelper.AddParameter(comm, "@CreditId", SqlDbType.Int, creditId);
            DHelper.AddParameter(comm, "@Name", SqlDbType.NVarChar, produceName);
            DHelper.AddParameter(comm, "@RepaymentMethod", SqlDbType.Int, repaymentMethod);
            DHelper.AddParameter(comm, "@FinancingPeriods", SqlDbType.Int, financingPeriods);

            DataTable dt = DHelper.ExecuteDataTable(comm);

            List <ComboInfo> list = new List <ComboInfo>();

            foreach (DataRow dr in dt.Rows)
            {
                ComboInfo cbi = new ComboInfo(dr["ProduceId"].ToString(), dr["Code"].ToString());

                list.Add(cbi);
            }

            return(list);
        }
Esempio n. 13
0
 public int ComboInfo_Insert(ComboInfo obj)
 {
     using (VideosAccess access = new VideosAccess())
     {
         return(access.ComboInfo_Insert(obj));
     }
 }
Esempio n. 14
0
        /// <summary>
        /// 加载Combo所有信息
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public ComboInfo Load(int?sysNo)
        {
            ComboInfo info = _processor.Load(sysNo);

            if (info != null && info.Items != null && info.Items.Count > 0)
            {
                foreach (ComboItem item in info.Items)
                {
                    ProductInfo product = ExternalDomainBroker.GetProductInfo(item.ProductSysNo.Value);

                    VendorBasicInfo vendor = new VendorBasicInfo();
                    if (product != null && product.Merchant != null)
                    {
                        vendor
                            = ExternalDomainBroker.GetVendorBasicInfoBySysNo(product.Merchant.SysNo.Value);
                    }

                    item.MerchantName = vendor != null
                        ? (vendor.VendorType == VendorType.IPP
                        ? ResouceManager.GetMessageString("MKT.Promotion.Combo", "Combo_NeweggMerchant")
                        : product.Merchant.MerchantName)
                        : "";
                    item.MerchantSysNo       = product.Merchant != null ? product.Merchant.MerchantID : null;
                    item.ProductID           = product.ProductID;
                    item.ProductName         = product.ProductName;
                    item.ProductPoint        = product.ProductPriceInfo.Point;
                    item.ProductCurrentPrice = product.ProductPriceInfo.CurrentPrice;
                    item.ProductUnitCost     = product.ProductPriceInfo.UnitCost;
                }
            }
            return(info);
        }
Esempio n. 15
0
        public List <ComboInfo> ComboInfo_SelectPage(string cloumns, int pageIndex, int pageSize, string orderBy, string where, out int rowCount)
        {
            DbCommand dbCmd = db.GetStoredProcCommand("Proc_ComboInfo_SelectPage");

            db.AddOutParameter(dbCmd, "@rowCount", DbType.Int32, 4);
            db.AddInParameter(dbCmd, "@cloumns", DbType.String, cloumns);
            db.AddInParameter(dbCmd, "@pageIndex", DbType.Int32, pageIndex);
            db.AddInParameter(dbCmd, "@pageSize", DbType.Int32, pageSize);
            db.AddInParameter(dbCmd, "@orderBy", DbType.String, orderBy);
            db.AddInParameter(dbCmd, "@where", DbType.String, where);
            List <ComboInfo> list = new List <ComboInfo>();

            try
            {
                using (IDataReader reader = db.ExecuteReader(dbCmd))
                {
                    while (reader.Read())
                    {
                        ComboInfo obj = Obj2Model <ComboInfo>(reader);

                        list.Add(obj);
                    }
                    reader.NextResult();
                }
                rowCount = (int)dbCmd.Parameters["@rowCount"].Value;
                return(list);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Esempio n. 16
0
        /*
         *修改原因:需求变更
         *修改内容:设置产品的价格和+折扣<成本价格和  变为待审核状态.--这是以前的逻辑,现在改成只要有一个商品的毛利小于0,即变成待审核
         */
        #endregion

        //设置产品的价格和+折扣<成本价格和  变为待审核状态
        //提供一个接口供商品价格管理模块来调用,传入商品ID或者sysno,
        //然后检查商品对应捆绑规则是否有低于成本价的情况,有的就将其变为待审核(status=1)!
        /// <summary>
        /// 检查条件:如果(1)Combo当前是有效状态(2)价格和+折扣和 小于 成本价格和 ,价格检查不通过
        ///
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual bool CheckPriceIsPass(ComboInfo entity)
        {
            bool result = true;


            if (entity.Items != null && entity.Items.Count > 0)
            {
                foreach (ComboItem item in entity.Items)
                {
                    decimal     totalPrice    = 0.00m; //商品总价=单价*数量
                    decimal     totalDiscount = 0.00m; //折扣==折扣*数量 折扣是负数
                    decimal     totalCost     = 0.00m; // 成本=成本价*数量
                    ProductInfo product       = ExternalDomainBroker.GetProductInfo(item.ProductSysNo.Value);
                    totalPrice    += Math.Round(product.ProductPriceInfo.CurrentPrice.Value * item.Quantity.Value, 2);
                    totalDiscount += Math.Round(item.Discount.Value * item.Quantity.Value, 2);
                    totalCost     += Math.Round(product.ProductPriceInfo.UnitCost * item.Quantity.Value, 2);
                    if (totalPrice + totalDiscount < totalCost)
                    {
                        return(false);
                    }
                }
            }

            return(result);
        }
Esempio n. 17
0
        /// <summary>
        /// 系列
        /// </summary>
        /// <param name="makeCode"></param>
        /// <returns></returns>
        public List <ComboInfo> FamilyOption(string makeCode)
        {
            List <ComboInfo> list         = new List <ComboInfo>();
            SQLHelper        iautosHelper = new SQLHelper(new WebConfigure("connIautos"));

            SqlCommand comm = iautosHelper.GetSqlCommand(@"
                 SELECT SeriesID,SeriesName FROM IautosSeriesInfo WHERE BrandID = @BrandID ORDER BY SeriesName ASC
            ");

            iautosHelper.AddInParameter(comm, "@BrandID", SqlDbType.Int, makeCode);

            DataTable dt = iautosHelper.ExecuteDataTable(comm);

            if (dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    ComboInfo cbi = new ComboInfo(dr["SeriesID"].ToString(), dr["SeriesName"].ToString());

                    list.Add(cbi);
                }
            }

            return(list);
        }
        private static CustomBasicList <ComboInfo> ComboList(CustomBasicList <int> thisList, GameBoardProcesses gameBoard1)
        {
            CustomBasicList <ComboInfo> output;
            int totals = gameBoard1.GetDiceTotal;

            output = thisList.Where(Items => Items == totals).Select(Items => new ComboInfo {
                Number1 = Items, Number2 = 0
            }).ToCustomBasicList();
            int x;
            var loopTo = thisList.Count - 1;

            for (x = 0; x <= loopTo; x++)
            {
                var loopTo1 = thisList.Count - 1;
                for (var y = x + 1; y <= loopTo1; y++)
                {
                    if ((thisList[x] + thisList[y]) == totals)
                    {
                        var combo = new ComboInfo();
                        combo.Number1 = thisList[x];
                        combo.Number2 = thisList[y];
                        output.Add(combo);
                    }
                }
            }
            return(output);
        }
Esempio n. 19
0
        /// <summary>
        /// 提取父节点(无重复)
        /// </summary>
        /// zouql 16.07.06
        /// <returns></returns>
        public List <ComboInfo> GetComList()
        {
            SqlCommand comm = DHelper.GetSqlCommand(@"
                SELECT DISTINCT Code,Name
                FROM BANK_DictionaryCode
            ");

            DataTable        dt   = DHelper.ExecuteDataTable(comm);
            List <ComboInfo> list = new List <ComboInfo>();

            foreach (DataRow dr in dt.Rows)
            {
                var    cbi = new ComboInfo(string.Empty, string.Empty);
                object p1  = dr["Code"];
                object p2  = dr["Name"];

                if (p1 != null)
                {
                    cbi.value = p1.ToString();
                }

                if (p2 != null)
                {
                    cbi.text = p2.ToString();
                }

                list.Add(cbi);
            }

            return(list);
        }
Esempio n. 20
0
        public List <ComboInfo> GetByRepaymentMethod()
        {
            List <ComboInfo> cbi = _produce.GetByRepaymentMethod();
            ComboInfo        cb  = new ComboInfo(string.Empty, " ");

            cbi.Add(cb);
            return(cbi);
        }
Esempio n. 21
0
        public List <ComboInfo> GetByFinancingPeriods()
        {
            List <ComboInfo> cbi = _produce.GetByFinancingPeriods();
            ComboInfo        cb  = new ComboInfo(string.Empty, " ");

            cbi.Add(cb);
            return(cbi);
        }
Esempio n. 22
0
        public static int ComboInfo_UpdateById(ComboInfo obj)
        {
            IVideosService channel = Entity.CreateChannel <IVideosService>(SiteEnum.SiteService.VideoService);
            var            result  = channel.ComboInfo_UpdateById(obj);

            (channel as IDisposable).Dispose();
            return(result);
        }
Esempio n. 23
0
        public List <ComboInfo> GetByProduceName()
        {
            List <ComboInfo> cbi = _produce.GetByProduceName();
            ComboInfo        cb  = new ComboInfo(string.Empty, " ");

            cbi.Add(cb);
            return(cbi);
        }
        public List <ComboInfo> GetComList()
        {
            List <ComboInfo> cbi = dictionaryCode.GetComList();
            ComboInfo        cb  = new ComboInfo(string.Empty, string.Empty);

            cbi.Add(cb);
            return(cbi);
        }
Esempio n. 25
0
        private void InteractWithCombo(ComputerConfigMaster msg)
        {
            ComputerConfigMaster oldEntity = _configDA.LoadMaster(msg.SysNo.Value);

            //1.只有在配置单状态变为运行或作废状态时才处理和Combo的交互
            //2.用户配置单不处理Combo
            if ((msg.Status != ComputerConfigStatus.Running && msg.Status != ComputerConfigStatus.Void) ||
                oldEntity.CustomerSysNo > 0)
            {
                return;
            }
            ComboStatus comboTargetStatus = ComboStatus.Deactive;

            if (msg.Status == ComputerConfigStatus.Running)
            {
                comboTargetStatus = ComboStatus.Active;
            }
            var comboBizProcessor = ObjectFactory <ComboProcessor> .Instance;
            var comboSysNo        = _configDA.GetComboSysNo(msg.SysNo.Value);

            if (comboSysNo > 0)
            {
                //Combo已存在,更新Combo状态
                comboBizProcessor.UpdateStatus(comboSysNo, comboTargetStatus);
            }
            else if (msg.Status != ComputerConfigStatus.Void)//作废时候同步状态不新增
            {
                //创建Combo
                ComboInfo comboInfo = new ComboInfo();
                comboInfo.CompanyCode    = msg.CompanyCode;
                comboInfo.WebChannel     = msg.WebChannel;
                comboInfo.IsShowName     = false;
                comboInfo.Name           = new LanguageContent(msg.ComputerConfigName.Length > 12 ? msg.ComputerConfigName.Substring(0, 12) : msg.ComputerConfigName);
                comboInfo.ReferenceSysNo = msg.SysNo;
                comboInfo.ReferenceType  = 2;
                comboInfo.SaleRuleType   = ComboType.Common;
                comboInfo.Status         = ComboStatus.Active;
                comboInfo.Priority       = msg.Priority;
                comboInfo.Items          = new List <ComboItem>();
                foreach (var c in msg.ConfigItemList)
                {
                    if (c.ProductSysNo > 0) //bug 95303 一个配置单有很多配件 不是每一个配件都必选
                    {
                        ComboItem item = new ComboItem();
                        item.ProductSysNo    = c.ProductSysNo;
                        item.Quantity        = c.ProductQty;
                        item.ProductUnitCost = c.UnitCost;
                        item.ProductID       = c.ProductID;
                        item.ProductName     = c.ProductName;
                        item.Discount        = c.Discount;
                        item.IsMasterItemB   = msg.ComputerConfigName == "CPU";
                        comboInfo.Items.Add(item);
                    }
                }
                comboBizProcessor.CreateCombo(comboInfo);
            }
        }
Esempio n. 26
0
        /// <summary>
        /// 发送邮件通知PM Combo的因商品调价,状态已改
        /// </summary>
        /// <param name="combo"></param>
        protected virtual void SendMail(ComboInfo combo)
        {
            UserInfo          user = ExternalDomainBroker.GetUserInfoBySysNo(combo.CreateUserSysNo.Value);
            KeyValueVariables keyValueVariables = new KeyValueVariables();

            keyValueVariables.Add("ComboSysNo", combo.SysNo.Value.ToString());
            keyValueVariables.Add("ComboName", combo.Name.Content);
            keyValueVariables.Add("PMUser", user.UserDisplayName);
            EmailHelper.SendEmailByTemplate(user.EmailAddress,
                                            "MKT_Combo_ChangeStatusForChangeProductPrice", keyValueVariables, true);
        }
Esempio n. 27
0
        public ActionResult ComboInfoEdit()
        {
            string c_id = Request["c_id"] ?? string.Empty;
            string c_title = Request["c_title"] ?? string.Empty;
            string c_intro = Request["c_intro"] ?? string.Empty;
            int c_num = Request["c_num"].ToInt32(0);
            int c_days = Request["c_days"].ToInt32(0);
            int c_status = Request["c_status"].ToInt32(0);

            ComboInfo info = null;
            if (string.IsNullOrEmpty(c_id))
            {
                info = new ComboInfo();
                //新增
                string guid = Guid.NewGuid().ToString().Replace("-", "");
                info.c_id = guid;
            }
            else
            {
                info = VideoServiceClass.ComboInfo_SelectByc_id(c_id);
            }

            info.c_title = c_title;
            info.c_intro = c_intro;
            info.c_num = c_num;
            info.c_days = c_days;
            info.c_status = (int)SiteEnum.BasicStatus.有效;


            if (string.IsNullOrEmpty(c_id))
            {
                int result = VideoServiceClass.ComboInfo_Insert(info);
                if (result > 0)
                {
                    return Json(new { success = true, errors = new { text = "新增成功" } });
                }
                else
                {
                    return Json(new { success = false, errors = new { text = "新增失败" } });
                }
            }
            else
            {
                int result = VideoServiceClass.ComboInfo_UpdateById(info);
                if (result > 0)
                {
                    return Json(new { success = true, errors = new { text = "修改成功" } });
                }
                else
                {
                    return Json(new { success = false, errors = new { text = "修改失败" } });
                }
            }
        }
Esempio n. 28
0
        /// <summary>
        /// 根据组合系统编号列表获取详细信息列表
        /// </summary>
        /// <param name="comboSysNoList"></param>
        /// <returns></returns>
        public List <ComboInfo> GetComboList(List <int> comboSysNoList)
        {
            List <ComboInfo> list = new List <ComboInfo>();

            foreach (int sysno in comboSysNoList)
            {
                ComboInfo info = ObjectFactory <ComboAppService> .Instance.Load(sysno);

                list.Add(info);
            }
            return(list);
        }
Esempio n. 29
0
        public virtual void UpdateMaster(ComboInfo info)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("UpdateCombo");

            cmd.SetParameterValue("@SysNo", info.SysNo);
            cmd.SetParameterValue("@SaleRuleName", info.Name.Content);
            cmd.SetParameterValue("@Status", info.TargetStatus);
            cmd.SetParameterValue("@IsShow", info.IsShowName.Value ? "Y" : "N");
            cmd.SetParameterValue("@Priority", info.Priority);
            cmd.SetParameterValue("@SaleRuleType", info.SaleRuleType);
            cmd.SetParameterValue("@Reason", info.Reason);
            cmd.ExecuteNonQuery();
        }
Esempio n. 30
0
        public virtual void UpdateMaster(ComboInfo info)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("UpdateCombo");

            cmd.SetParameterValue("@SysNo", info.SysNo);
            cmd.SetParameterValue("@SaleRuleName", info.SaleRuleName);
            cmd.SetParameterValue("@Status", info.Status);
            cmd.SetParameterValue("@IsShow", "Y");
            cmd.SetParameterValue("@Priority", 0);
            cmd.SetParameterValue("@SaleRuleType", 0);
            cmd.SetParameterValue("@Reason", "");
            cmd.ExecuteNonQuery();
        }
Esempio n. 31
0
    ///////////////////////////////////////////////////////////////////////////////
    // function defines
    ///////////////////////////////////////////////////////////////////////////////

    // ------------------------------------------------------------------ 
    // Desc: Use this for initialization
    // ------------------------------------------------------------------ 

	void Start () {
        int combo_count = this.comboList.Length;
        for ( int i = 0; i < combo_count; ++i ) {
            ComboInfo combo = this.comboList[i];
            DebugHelper.Assert(combo.endTime!=-1.0f, "endTime can't be minus!");
            DebugHelper.Assert(combo.animName!="unknown", "animName can't be unknown!");
            DebugHelper.Assert(combo.validInputTime.x < combo.validInputTime.y, "input time is invalid!");
            DebugHelper.Assert(combo.attack_shape, "please define attack shape!");

            combo.attack_shape.active = false;
            int next = i+1;
            if ( next != combo_count )
                combo.next = this.comboList[next];
        }
        this.combo_entry = this.comboList[0];
        this.comboList = null;
	}
 private void initComboInfoWith(string serializedComboInfo)
 {
     comboInfo = new ComboInfo(serializedComboInfo);
     toggle.Clear();
     toggle.AddRange(new bool[comboInfo.CombosCount]);
 }
Esempio n. 33
0
 void Start()
 {
     comboInfo = new ComboInfo(comboSheet.text);
     currentSequence = new Combo();
     currentComboName = "";
 }