예제 #1
0
        /// <summary>
        /// 根据主键值更新记录的全部字段(注意:该方法不会对自增字段、timestamp类型字段以及主键字段更新!如果要更新主键字段,请使用Update方法)。
        /// 如果数据库有数据被更新了则返回True,否则返回False
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="orderBillBasic">待更新的实体对象</param>
        public int UpdateOrderBillBasic(OrderBillBasicEntity entity)
        {
            string    sql = @" UPDATE dbo.[OrderBillBasic] SET
                       [OrderCode]=@OrderCode,[Title]=@Title,[BillType]=@BillType,[CompanyName]=@CompanyName,[CompanyCode]=@CompanyCode,[CompanyAddress]=@CompanyAddress,[CompanyPhone]=@CompanyPhone,[CompanyBank]=@CompanyBank,[BankAccount]=@BankAccount,[ReceiverName]=@ReceiverName,[ReceiverPhone]=@ReceiverPhone,[ReceiverProvince]=@ReceiverProvince,[ReceiverCity]=@ReceiverCity,[ReceiverAddress]=@ReceiverAddress,[Status]=@Status,[CreateTime]=@CreateTime,[UpdateTime]=@UpdateTime,[CheckManId]=@CheckManId,[CheckTime]=@CheckTime
                       WHERE [Id]=@id";
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@Id", DbType.Int32, entity.Id);
            db.AddInParameter(cmd, "@OrderCode", DbType.Int64, entity.OrderCode);
            db.AddInParameter(cmd, "@Title", DbType.String, entity.Title);
            db.AddInParameter(cmd, "@BillType", DbType.Int32, entity.BillType);
            db.AddInParameter(cmd, "@CompanyName", DbType.String, entity.CompanyName);
            db.AddInParameter(cmd, "@CompanyCode", DbType.String, entity.CompanyCode);
            db.AddInParameter(cmd, "@CompanyAddress", DbType.String, entity.CompanyAddress);
            db.AddInParameter(cmd, "@CompanyPhone", DbType.String, entity.CompanyPhone);
            db.AddInParameter(cmd, "@CompanyBank", DbType.String, entity.CompanyBank);
            db.AddInParameter(cmd, "@BankAccount", DbType.String, entity.BankAccount);
            db.AddInParameter(cmd, "@ReceiverName", DbType.String, entity.ReceiverName);
            db.AddInParameter(cmd, "@ReceiverPhone", DbType.String, entity.ReceiverPhone);
            db.AddInParameter(cmd, "@ReceiverProvince", DbType.Int32, entity.ReceiverProvince);
            db.AddInParameter(cmd, "@ReceiverCity", DbType.Int32, entity.ReceiverCity);
            db.AddInParameter(cmd, "@ReceiverAddress", DbType.String, entity.ReceiverAddress);
            db.AddInParameter(cmd, "@Status", DbType.Int32, entity.Status);
            db.AddInParameter(cmd, "@CreateTime", DbType.DateTime, entity.CreateTime);
            db.AddInParameter(cmd, "@UpdateTime", DbType.DateTime, entity.UpdateTime);
            db.AddInParameter(cmd, "@CheckManId", DbType.Int32, entity.CheckManId);
            db.AddInParameter(cmd, "@CheckTime", DbType.DateTime, entity.CheckTime);
            return(db.ExecuteNonQuery(cmd));
        }
예제 #2
0
        /// <summary>
        /// 插入一条记录到表OrderBillBasic,如果表中存在自增字段,则返回值为新记录的自增字段值,否则返回0
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="orderBillBasic">待插入的实体对象</param>
        public int AddOrderBillBasic(OrderBillBasicEntity entity)
        {
            string    sql = @"insert into OrderBillBasic( [OrderCode],[Title],[BillType],[CompanyName],[CompanyCode],[CompanyAddress],[CompanyPhone],[CompanyBank],[BankAccount],[ReceiverName],[ReceiverPhone],[ReceiverProvince],[ReceiverCity],[ReceiverAddress],[Status],[CreateTime],[UpdateTime],[CheckManId],[CheckTime])VALUES
			            ( @OrderCode,@Title,@BillType,@CompanyName,@CompanyCode,@CompanyAddress,@CompanyPhone,@CompanyBank,@BankAccount,@ReceiverName,@ReceiverPhone,@ReceiverProvince,@ReceiverCity,@ReceiverAddress,@Status,@CreateTime,@UpdateTime,@CheckManId,@CheckTime);
			SELECT SCOPE_IDENTITY();"            ;
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@OrderCode", DbType.Int64, entity.OrderCode);
            db.AddInParameter(cmd, "@Title", DbType.String, entity.Title);
            db.AddInParameter(cmd, "@BillType", DbType.Int32, entity.BillType);
            db.AddInParameter(cmd, "@CompanyName", DbType.String, entity.CompanyName);
            db.AddInParameter(cmd, "@CompanyCode", DbType.String, entity.CompanyCode);
            db.AddInParameter(cmd, "@CompanyAddress", DbType.String, entity.CompanyAddress);
            db.AddInParameter(cmd, "@CompanyPhone", DbType.String, entity.CompanyPhone);
            db.AddInParameter(cmd, "@CompanyBank", DbType.String, entity.CompanyBank);
            db.AddInParameter(cmd, "@BankAccount", DbType.String, entity.BankAccount);
            db.AddInParameter(cmd, "@ReceiverName", DbType.String, entity.ReceiverName);
            db.AddInParameter(cmd, "@ReceiverPhone", DbType.String, entity.ReceiverPhone);
            db.AddInParameter(cmd, "@ReceiverProvince", DbType.Int32, entity.ReceiverProvince);
            db.AddInParameter(cmd, "@ReceiverCity", DbType.Int32, entity.ReceiverCity);
            db.AddInParameter(cmd, "@ReceiverAddress", DbType.String, entity.ReceiverAddress);
            db.AddInParameter(cmd, "@Status", DbType.Int32, entity.Status);
            db.AddInParameter(cmd, "@CreateTime", DbType.DateTime, entity.CreateTime);
            db.AddInParameter(cmd, "@UpdateTime", DbType.DateTime, entity.UpdateTime);
            db.AddInParameter(cmd, "@CheckManId", DbType.Int32, entity.CheckManId);
            db.AddInParameter(cmd, "@CheckTime", DbType.DateTime, entity.CheckTime);
            object identity = db.ExecuteScalar(cmd);

            if (identity == null || identity == DBNull.Value)
            {
                return(0);
            }
            return(Convert.ToInt32(identity));
        }
예제 #3
0
        /// <summary>
        /// 判断当前节点是否已存在相同的
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public int  ExistNum(OrderBillBasicEntity entity)
        {
            ///id=0,判断总数,ID>0判断除自己之外的总数
            string sql = @"Select count(1) from dbo.[OrderBillBasic] WITH(NOLOCK) ";

            string where = "where ";
            if (entity.Id == 0)
            {
                where = where + "  (CompanyName=@CompanyName) ";
                where = where + "  (ReceiverName=@ReceiverName) ";
            }
            else
            {
                where = where + " id<>@Id and  (CompanyName=@CompanyName) ";
                where = where + " id<>@Id and  (ReceiverName=@ReceiverName) ";
            }
            sql = sql + where;
            DbCommand cmd = db.GetSqlStringCommand(sql);

            if (entity.Id > 0)
            {
                db.AddInParameter(cmd, "@Id", DbType.Int32, entity.Id);
            }

            db.AddInParameter(cmd, "@CompanyName", DbType.String, entity.CompanyName);

            db.AddInParameter(cmd, "@ReceiverName", DbType.String, entity.ReceiverName);
            object identity = db.ExecuteScalar(cmd);

            if (identity == null || identity == DBNull.Value)
            {
                return(0);
            }
            return(Convert.ToInt32(identity));
        }
예제 #4
0
        /// <summary>
        /// 读取记录列表。
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param>
        public IList <OrderBillBasicEntity> GetOrderBillBasicList(int pagesize, int pageindex, ref int recordCount)
        {
            string sql = @"SELECT   [Id],[OrderCode],[Title],[BillType],[CompanyName],[CompanyCode],[CompanyAddress],[CompanyPhone],[CompanyBank],[BankAccount],[ReceiverName],[ReceiverPhone],[ReceiverProvince],[ReceiverCity],[ReceiverAddress],[Status],[CreateTime],[UpdateTime],[CheckManId],[CheckTime]
						FROM
						(SELECT ROW_NUMBER() OVER (ORDER BY Id desc) AS ROWNUMBER,
						 [Id],[OrderCode],[Title],[BillType],[CompanyName],[CompanyCode],[CompanyAddress],[CompanyPhone],[CompanyBank],[BankAccount],[ReceiverName],[ReceiverPhone],[ReceiverProvince],[ReceiverCity],[ReceiverAddress],[Status],[CreateTime],[UpdateTime],[CheckManId],[CheckTime] from dbo.[OrderBillBasic] WITH(NOLOCK)	
						WHERE  1=1 ) as temp 
						where rownumber BETWEEN ((@PageIndex - 1) * @PageSize + 1) AND @PageIndex * @PageSize"                        ;

            string sql2 = @"Select count(1) from dbo.[OrderBillBasic] with (nolock) ";
            IList <OrderBillBasicEntity> entityList = new List <OrderBillBasicEntity>();
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@PageIndex", DbType.Int32, pageindex);
            db.AddInParameter(cmd, "@PageSize", DbType.Int32, pagesize);

            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                while (reader.Read())
                {
                    OrderBillBasicEntity entity = new OrderBillBasicEntity();
                    entity.Id               = StringUtils.GetDbInt(reader["Id"]);
                    entity.OrderCode        = StringUtils.GetDbLong(reader["OrderCode"]);
                    entity.Title            = StringUtils.GetDbString(reader["Title"]);
                    entity.BillType         = StringUtils.GetDbInt(reader["BillType"]);
                    entity.CompanyName      = StringUtils.GetDbString(reader["CompanyName"]);
                    entity.CompanyCode      = StringUtils.GetDbString(reader["CompanyCode"]);
                    entity.CompanyAddress   = StringUtils.GetDbString(reader["CompanyAddress"]);
                    entity.CompanyPhone     = StringUtils.GetDbString(reader["CompanyPhone"]);
                    entity.CompanyBank      = StringUtils.GetDbString(reader["CompanyBank"]);
                    entity.BankAccount      = StringUtils.GetDbString(reader["BankAccount"]);
                    entity.ReceiverName     = StringUtils.GetDbString(reader["ReceiverName"]);
                    entity.ReceiverPhone    = StringUtils.GetDbString(reader["ReceiverPhone"]);
                    entity.ReceiverProvince = StringUtils.GetDbInt(reader["ReceiverProvince"]);
                    entity.ReceiverCity     = StringUtils.GetDbInt(reader["ReceiverCity"]);
                    entity.ReceiverAddress  = StringUtils.GetDbString(reader["ReceiverAddress"]);
                    entity.Status           = StringUtils.GetDbInt(reader["Status"]);
                    entity.CreateTime       = StringUtils.GetDbDateTime(reader["CreateTime"]);
                    entity.UpdateTime       = StringUtils.GetDbDateTime(reader["UpdateTime"]);
                    entity.CheckManId       = StringUtils.GetDbInt(reader["CheckManId"]);
                    entity.CheckTime        = StringUtils.GetDbDateTime(reader["CheckTime"]);
                    entityList.Add(entity);
                }
            }
            cmd = db.GetSqlStringCommand(sql2);
            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                if (reader.Read())
                {
                    recordCount = StringUtils.GetDbInt(reader[0]);
                }
                else
                {
                    recordCount = 0;
                }
            }
            return(entityList);
        }
예제 #5
0
        /// <summary>
        /// 生成订单
        /// </summary>
        /// <param name="products"></param>
        /// <param name="memid"></param>
        /// <returns></returns>
        public string CreateOrder(VWOrderEntity order, OrderAddressEntity _address, OrderBillBasicEntity _billentity)
        {
            Random rd = new Random();

            order.Code            = StringUtils.GetDbLong(XTCodeBLL.Instance.GetCodeFromProc(XTCodeType.OrderDayNo) + rd.Next(100, 999).ToString());
            order.OrderVisualCode = order.Code;
            order.CreateTime      = DateTime.Now;
            order.Status          = (int)OrderStatus.WaitPay;
            return(OrderDA.Instance.CreateOrder(order, _address, _billentity));
        }
예제 #6
0
        public OrderBillBasicEntity GetBillBasicByOrderCode(long code)
        {
            OrderBillBasicEntity bill = OrderBillBasicDA.Instance.GetBillBasicByOrderCode(code);

            if (bill != null && bill.Id > 0 && bill.ReceiverProvince > 0 && bill.ReceiverCity > 0)
            {
                //bill.ReceiverProvinceName = GYProvinceBLL.Instance.GetGYProvinceByCode(bill.ReceiverProvince.ToString()).Name;
                bill.ReceiverCityName = GYCityBLL.Instance.GetGYCityByCode(bill.ReceiverCity.ToString()).Name;
            }
            return(bill);
        }
예제 #7
0
        /// <summary>
        /// 订单详情
        /// </summary>
        /// <returns></returns>
        public ActionResult OrderDetails()
        {
            long                      _ordercode     = QueryString.LongIntSafeQ("ordercode");
            int                       _orderDetailId = QueryString.IntSafeQ("orderDetailId");
            VWOrderEntity             _entity        = OrderBLL.Instance.GetVWOrderByCode(_ordercode);
            IList <OrderDetailEntity> _detailEntitys = OrderDetailBLL.Instance.GetOrderDetailAllByOrder(_entity.MemId, _ordercode, false);
            OrderBillBasicEntity      _billEntity    = OrderBillBasicBLL.Instance.GetBillBasicByOrderCode(_ordercode);
            VWMemberEntity            mem            = BLL.MemberDB.MemberBLL.Instance.GetVWMember(_entity.MemId);
            string                    _status        = EnumShow.Instance.GetEnumDes((OrderStatus)_entity.Status);

            ViewBag.entity       = _entity;
            ViewBag.VWMem        = mem;
            ViewBag.detailEntity = _detailEntitys;
            ViewBag.status       = _status;
            ViewBag.billEntity   = _billEntity;
            return(View());
        }
예제 #8
0
        public OrderBillBasicEntity GetBillBasicByOrderCode(long code)
        {
            string    sql = @"SELECT  [Id],[OrderCode],[Title],[BillType],[CompanyName],[CompanyCode],[CompanyAddress],[CompanyPhone],[CompanyBank],[BankAccount],[ReceiverName],[ReceiverPhone],[ReceiverProvince],[ReceiverCity],[ReceiverAddress],[Status],[CreateTime],[UpdateTime],[CheckManId],[CheckTime]
							FROM
							dbo.[OrderBillBasic] WITH(NOLOCK)	
							WHERE [OrderCode]=@OrderCode"                            ;
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@OrderCode", DbType.Int64, code);
            OrderBillBasicEntity entity = new OrderBillBasicEntity();

            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                if (reader.Read())
                {
                    entity.Id               = StringUtils.GetDbInt(reader["Id"]);
                    entity.OrderCode        = StringUtils.GetDbLong(reader["OrderCode"]);
                    entity.Title            = StringUtils.GetDbString(reader["Title"]);
                    entity.BillType         = StringUtils.GetDbInt(reader["BillType"]);
                    entity.CompanyName      = StringUtils.GetDbString(reader["CompanyName"]);
                    entity.CompanyCode      = StringUtils.GetDbString(reader["CompanyCode"]);
                    entity.CompanyAddress   = StringUtils.GetDbString(reader["CompanyAddress"]);
                    entity.CompanyPhone     = StringUtils.GetDbString(reader["CompanyPhone"]);
                    entity.CompanyBank      = StringUtils.GetDbString(reader["CompanyBank"]);
                    entity.BankAccount      = StringUtils.GetDbString(reader["BankAccount"]);
                    entity.ReceiverName     = StringUtils.GetDbString(reader["ReceiverName"]);
                    entity.ReceiverPhone    = StringUtils.GetDbString(reader["ReceiverPhone"]);
                    entity.ReceiverProvince = StringUtils.GetDbInt(reader["ReceiverProvince"]);
                    entity.ReceiverCity     = StringUtils.GetDbInt(reader["ReceiverCity"]);
                    entity.ReceiverAddress  = StringUtils.GetDbString(reader["ReceiverAddress"]);
                    entity.Status           = StringUtils.GetDbInt(reader["Status"]);
                    entity.CreateTime       = StringUtils.GetDbDateTime(reader["CreateTime"]);
                    entity.UpdateTime       = StringUtils.GetDbDateTime(reader["UpdateTime"]);
                    entity.CheckManId       = StringUtils.GetDbInt(reader["CheckManId"]);
                    entity.CheckTime        = StringUtils.GetDbDateTime(reader["CheckTime"]);
                }
            }
            return(entity);
        }
예제 #9
0
        public string CreateOrderByCart()
        {
            ResultObj result     = new ResultObj();
            long      _ordercode = FormString.LongIntSafeQ("ordercode");
            long      _cartcode  = FormString.LongIntSafeQ("cartcode");

            OrderAddressEntity _address = new OrderAddressEntity();

            _address = OrderAddressBLL.Instance.GetOrderAddressByOrderCode(_ordercode);
            OrderBillBasicEntity _billentity = new OrderBillBasicEntity();

            _billentity = OrderBillBasicBLL.Instance.GetBillBasicByOrderCode(_ordercode);
            VWOrderEntity _vworder     = OrderDetailPreTempBLL.Instance.GetVWOrderByTempCode(_cartcode);
            OrderEntity   _orderentity = OrderBLL.Instance.GetOrderByCode(_ordercode);

            if (_address != null && _address.Id > 0 && _billentity != null && _billentity.Id > 0 && _vworder != null && _vworder.ActPrice > 0)
            {
                _vworder.MemId       = _orderentity.MemId;
                _vworder.MemLevel    = _orderentity.MemLevel;
                _vworder.IsStore     = _orderentity.IsStore;
                _vworder.Integral    = 0;
                _vworder.IntegralFee = 0;
                string newordercode      = OrderBLL.Instance.CreateOrder(_vworder, _address, _billentity);
                OrderCreateLogEntity log = new OrderCreateLogEntity();
                log.OldOrderCode = _ordercode;
                log.PreTempCode  = _cartcode;
                log.CreateManId  = memid;
                log.NewOrderCode = StringUtils.GetDbLong(newordercode);
                OrderCreateLogBLL.Instance.AddOrderCreateLog(log);
                result.Status = (int)SuperMarket.Model.CommonStatus.Success;
            }
            else
            {
                result.Status = (int)SuperMarket.Model.CommonStatus.Fail;
            }
            return(JsonJC.ObjectToJson(result));
        }
예제 #10
0
        /// <summary>
        /// 插入一条记录到表OrderBillBasic,如果表中存在自增字段,则返回值为新记录的自增字段值,否则返回0。
        /// 该方法提供给界面等UI层调用
        /// </summary>
        /// <param name="orderBillBasic">要添加的OrderBillBasic数据实体对象</param>
        public int AddOrderBillBasic(OrderBillBasicEntity orderBillBasic)
        {
            if (orderBillBasic.Id > 0)
            {
                return(UpdateOrderBillBasic(orderBillBasic));
            }
            else if (string.IsNullOrEmpty(orderBillBasic.CompanyName))
            {
                return((int)CommonStatus.ADD_Fail_Empty);
            }
            else if (string.IsNullOrEmpty(orderBillBasic.ReceiverName))
            {
                return((int)CommonStatus.ADD_Fail_Empty);
            }

            else if (OrderBillBasicBLL.Instance.IsExist(orderBillBasic))
            {
                return((int)CommonStatus.ADD_Fail_Exist);
            }
            else
            {
                return(OrderBillBasicDA.Instance.AddOrderBillBasic(orderBillBasic));
            }
        }
예제 #11
0
        /// <summary>
        /// 读取记录列表。
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param>
        public IList <OrderBillBasicEntity> GetOrderBillBasicAll()
        {
            string sql = @"SELECT    [Id],[OrderCode],[Title],[BillType],[CompanyName],[CompanyCode],[CompanyAddress],[CompanyPhone],[CompanyBank],[BankAccount],[ReceiverName],[ReceiverPhone],[ReceiverProvince],[ReceiverCity],[ReceiverAddress],[Status],[CreateTime],[UpdateTime],[CheckManId],[CheckTime] from dbo.[OrderBillBasic] WITH(NOLOCK)	";
            IList <OrderBillBasicEntity> entityList = new List <OrderBillBasicEntity>();
            DbCommand cmd = db.GetSqlStringCommand(sql);

            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                while (reader.Read())
                {
                    OrderBillBasicEntity entity = new OrderBillBasicEntity();
                    entity.Id               = StringUtils.GetDbInt(reader["Id"]);
                    entity.OrderCode        = StringUtils.GetDbLong(reader["OrderCode"]);
                    entity.Title            = StringUtils.GetDbString(reader["Title"]);
                    entity.BillType         = StringUtils.GetDbInt(reader["BillType"]);
                    entity.CompanyName      = StringUtils.GetDbString(reader["CompanyName"]);
                    entity.CompanyCode      = StringUtils.GetDbString(reader["CompanyCode"]);
                    entity.CompanyAddress   = StringUtils.GetDbString(reader["CompanyAddress"]);
                    entity.CompanyPhone     = StringUtils.GetDbString(reader["CompanyPhone"]);
                    entity.CompanyBank      = StringUtils.GetDbString(reader["CompanyBank"]);
                    entity.BankAccount      = StringUtils.GetDbString(reader["BankAccount"]);
                    entity.ReceiverName     = StringUtils.GetDbString(reader["ReceiverName"]);
                    entity.ReceiverPhone    = StringUtils.GetDbString(reader["ReceiverPhone"]);
                    entity.ReceiverProvince = StringUtils.GetDbInt(reader["ReceiverProvince"]);
                    entity.ReceiverCity     = StringUtils.GetDbInt(reader["ReceiverCity"]);
                    entity.ReceiverAddress  = StringUtils.GetDbString(reader["ReceiverAddress"]);
                    entity.Status           = StringUtils.GetDbInt(reader["Status"]);
                    entity.CreateTime       = StringUtils.GetDbDateTime(reader["CreateTime"]);
                    entity.UpdateTime       = StringUtils.GetDbDateTime(reader["UpdateTime"]);
                    entity.CheckManId       = StringUtils.GetDbInt(reader["CheckManId"]);
                    entity.CheckTime        = StringUtils.GetDbDateTime(reader["CheckTime"]);
                    entityList.Add(entity);
                }
            }
            return(entityList);
        }
예제 #12
0
 /// <summary>
 /// 更新一条OrderBillBasic记录。
 /// 该方法提供给界面等UI层调用
 /// </summary>
 /// <param name="orderBillBasic">待更新的实体对象</param>
 /// <param name="columns">要更新的列名,不提供任何列名时默认将更新主键之外的所有列</param>
 public int UpdateOrderBillBasic(OrderBillBasicEntity orderBillBasic)
 {
     return(OrderBillBasicDA.Instance.UpdateOrderBillBasic(orderBillBasic));
 }
예제 #13
0
 /// <summary>
 /// 判断对象是否存在
 /// </summary>
 /// <param name="dicEnum"></param>
 /// <returns></returns>
 public bool IsExist(OrderBillBasicEntity orderBillBasic)
 {
     return(OrderBillBasicDA.Instance.ExistNum(orderBillBasic) > 0);
 }
예제 #14
0
        public string CreateOrderList(Dictionary <int, VWOrderEntity> orderlist, OrderAddressEntity _address, OrderBillBasicEntity _billentity)
        {
            Random rd        = new Random();
            string vbatchno  = XTCodeBLL.Instance.GetCodeFromProc(XTCodeType.OrderDayNo) + rd.Next(1, 9).ToString();
            int    suborderi = 0;

            foreach (int orderkey in orderlist.Keys)
            {
                suborderi++;
                VWOrderEntity order = orderlist[orderkey];
                order.Code            = StringUtils.GetDbLong(vbatchno + suborderi.ToString().PadLeft(2, '0'));
                order.OrderVisualCode = StringUtils.GetDbLong(vbatchno);
                order.CreateTime      = DateTime.Now;
                order.Status          = (int)OrderStatus.XuQiuSubmit;
                OrderDA.Instance.CreateOrderXuQiu(order, _address, _billentity);
            }
            return(vbatchno);
        }
예제 #15
0
        /// <summary>
        /// 生成真实订单
        /// </summary>
        /// <returns></returns>
        public string CreateOrderXuQiu()
        {
            ResultObj _result       = new ResultObj();
            int       _resultstatus = (int)CommonStatus.Fail;
            long      _preordercode = FormString.LongIntSafeQ("preordercode");
            int       _addressid    = FormString.IntSafeQ("addressid");
            int       _paytype      = FormString.IntSafeQ("paytype");
            string    _remark       = FormString.SafeQ("remark", 80000);
            string    acceptername  = FormString.SafeQ("acceptername");
            int       province      = FormString.IntSafeQ("province");
            int       city          = FormString.IntSafeQ("city");
            string    address       = FormString.SafeQ("address", 500);
            string    mobilephone   = FormString.SafeQ("mobilephone");
            int       jifen         = FormString.IntSafeQ("jifen");
            int       memcouponid   = FormString.IntSafeQ("memcouponid");//折扣券Id
            int       expressid     = FormString.IntSafeQ("expressid");
            int       ordertype     = FormString.IntSafeQ("ordertype", -1);

            if (jifen % 100 != 0)
            {
                jifen = jifen / 100 * 100;
            }
            if (jifen > 0 && !AssetBLL.Instance.CheckIntegralEnough(memid, jifen))
            {
                jifen = 0;
            }
            int billtype = FormString.IntSafeQ("billtype");
            OrderBillBasicEntity _billentity = new OrderBillBasicEntity();

            _billentity.BillType = billtype;
            if (billtype == (int)BillType.Normal)
            {
                string title = FormString.SafeQ("billtitle", 200);
                _billentity.CompanyName = title;
            }
            else if (billtype == (int)BillType.VAT)
            {
                _billentity.BillId = FormString.IntSafeQ("billvatid");

                MemBillVATEntity _mementity = MemBillVATBLL.Instance.GetMemBillVAT(memid);
                _billentity.ReceiverName     = FormString.SafeQ("billvatrename");
                _billentity.ReceiverPhone    = FormString.SafeQ("billvatrephone");
                _billentity.ReceiverProvince = FormString.IntSafeQ("billvatreprovince");
                _billentity.ReceiverCity     = FormString.IntSafeQ("billvatrecity");
                _billentity.ReceiverAddress  = FormString.SafeQ("billvatreaddress", 300);
                _billentity.CompanyName      = _mementity.CompanyName;
                _billentity.CompanyPhone     = _mementity.CompanyPhone;
                _billentity.CompanyCode      = _mementity.CompanyCode;
                _billentity.CompanyBank      = _mementity.CompanyBank;
                _billentity.CompanyAddress   = _mementity.CompanyAddress;
                _billentity.BankAccount      = _mementity.BankAccount;
                _billentity.Status           = _mementity.Status;
            }
            OrderAddressEntity _address = new OrderAddressEntity();

            _address.CityId       = city;
            _address.AccepterName = acceptername;
            _address.ProvinceId   = province;
            _address.Address      = address;
            _address.MobilePhone  = mobilephone;

            Dictionary <int, VWOrderEntity> _vworderdic = OrderDetailPreTempBLL.Instance.GetVWOrdersByTempCode(_preordercode);

            List <int> listpdids      = new List <int>();
            string     productdetails = "";

            if (_vworderdic.Keys.Count > 0)
            {
                IList <VWOrderRemarkEntity> remarklist = new List <VWOrderRemarkEntity>();
                if (!string.IsNullOrEmpty(_remark))
                {
                    remarklist = JsonJC.JsonToObject <List <VWOrderRemarkEntity> >(_remark.Replace(""", "\""));
                }
                Dictionary <int, string> remarkdic = new Dictionary <int, string>();
                foreach (VWOrderRemarkEntity reenti in remarklist)
                {
                    remarkdic.Add(StringUtils.GetDbInt(reenti.CGMemId), reenti.Remark);
                }
                foreach (int okey in _vworderdic.Keys)
                {
                    if (okey > 0)
                    {
                        foreach (VWOrderDetailEntity oden in _vworderdic[okey].Details)
                        {
                            listpdids.Add(oden.ProductDetailId);
                            productdetails += "|" + oden.ProductDetailId.ToString() + "_" + oden.Num.ToString();
                        }
                        productdetails = productdetails.TrimStart('|');
                        OrderCommonBLL.Instance.GetTransFeeForOrder(_vworderdic[okey]);
                        _vworderdic[okey].CGMemId      = okey;
                        _vworderdic[okey].PreOrderCode = _preordercode;
                        _vworderdic[okey].OrderType    = (int)OrderType.OnLine;
                        _vworderdic[okey].NeedDeliver  = 1; //需要发货
                        _vworderdic[okey].PayPrice     = 0; //支付价格0
                        _vworderdic[okey].PayType      = _paytype;
                        _vworderdic[okey].ExpressCom   = 0; //普通配送
                        _vworderdic[okey].MemId        = memid;
                        _vworderdic[okey].MemLevel     = member.MemGrade;
                        _vworderdic[okey].IsStore      = member.IsStore;
                        _vworderdic[okey].OrderStyle   = (int)OrderStyleEnum.XuQiu;
                        if (remarkdic.ContainsKey(okey))
                        {
                            _vworderdic[okey].Remark = remarkdic[okey];
                        }
                    }
                    else
                    {
                        foreach (VWOrderDetailEntity oden in _vworderdic[okey].Details)
                        {
                            listpdids.Add(oden.ProductDetailId);
                        }
                    }
                }
                if (ProductStyleBLL.Instance.ProductsEnough(productdetails))
                {
                    string ordercode = OrderBLL.Instance.CreateOrderList(_vworderdic, _address, _billentity);
                    if (!string.IsNullOrEmpty(ordercode))
                    {
                        if (productdetails != "")
                        {
                            if (ProductStyleBLL.Instance.ProductsToOrder(productdetails) > 0)
                            {
                                VWShoppingCartInfo ShoppingCartentity = ShoppingXuQiuProcessor.GetShoppingXuQiu();
                                ShoppingXuQiuProcessor.RemoveCartXuQiuItems(ShoppingCartentity, listpdids);
                                _result.Status = (int)CommonStatus.Success;
                                _result.Obj    = ordercode;
                                return(JsonJC.ObjectToJson(_result));
                            }
                            else
                            {
                                _result.Status = (int)CommonStatus.ProductLess;
                                _result.Obj    = "";
                                return(JsonJC.ObjectToJson(_result));
                            }
                        }
                        else
                        {
                            _result.Status = (int)CommonStatus.Success;
                            _result.Obj    = ordercode;
                            return(JsonJC.ObjectToJson(_result));
                        }
                    }
                }
                else
                {
                    _result.Status = (int)CommonStatus.ProductLess;
                    _result.Obj    = "";
                    return(JsonJC.ObjectToJson(_result));
                }
            }
            _result.Status = (int)CommonStatus.Fail;
            _result.Obj    = "";
            return(JsonJC.ObjectToJson(_result));
        }
예제 #16
0
        /// <summary>
        /// 生成真实订单
        /// </summary>
        /// <returns></returns>
        public string CreateOrder()
        {
            ResultObj _result       = new ResultObj();
            int       _resultstatus = (int)CommonStatus.Fail;
            long      _preordercode = FormString.LongIntSafeQ("preordercode");
            int       _addressid    = FormString.IntSafeQ("addressid");
            //int _paytype = FormString.IntSafeQ("paytype");
            int _systype = FormString.IntSafeQ("systype");

            if (_systype == 0)
            {
                _systype = (int)SystemType.B2B;
            }
            string _remark      = FormString.SafeQ("remark");
            string acceptername = FormString.SafeQ("acceptername");
            int    province     = FormString.IntSafeQ("province");
            int    city         = FormString.IntSafeQ("city");
            string address      = FormString.SafeQ("address", 500);
            string mobilephone  = FormString.SafeQ("mobilephone");
            int    jifen        = FormString.IntSafeQ("jifen");
            int    memcouponid  = FormString.IntSafeQ("memcouponid");
            int    expressid    = FormString.IntSafeQ("expressid");
            int    ordertype    = FormString.IntSafeQ("ordertype", -1);

            if (jifen % 100 != 0)
            {
                jifen = jifen / 100 * 100;
            }
            if (jifen > 0 && !AssetBLL.Instance.CheckIntegralEnough(memid, jifen))
            {
                jifen = 0;
            }
            int billtype = FormString.IntSafeQ("billtype");
            OrderBillBasicEntity _billentity = new OrderBillBasicEntity();

            _billentity.BillType = billtype;
            if (billtype == (int)BillType.Normal)
            {
                string title = FormString.SafeQ("billtitle", 200);
                _billentity.CompanyName = title;
            }
            else if (billtype == (int)BillType.VAT)
            {
                _billentity.BillId = FormString.IntSafeQ("billvatid");

                MemBillVATEntity _mementity = MemBillVATBLL.Instance.GetMemBillVAT(memid);
                //if (_mementity.Status != 1)
                //{
                //    resultstatus = (int)CommonStatus.BillVATNoCheck;
                //    _result.Status = resultstatus;
                //    return JsonJC.ObjectToJson(_result);
                //}
                _billentity.ReceiverName     = FormString.SafeQ("billvatrename");
                _billentity.ReceiverPhone    = FormString.SafeQ("billvatrephone");
                _billentity.ReceiverProvince = FormString.IntSafeQ("billvatreprovince");
                _billentity.ReceiverCity     = FormString.IntSafeQ("billvatrecity");
                _billentity.ReceiverAddress  = FormString.SafeQ("billvatreaddress", 300);
                _billentity.CompanyName      = _mementity.CompanyName;
                _billentity.CompanyPhone     = _mementity.CompanyPhone;
                _billentity.CompanyCode      = _mementity.CompanyCode;
                _billentity.CompanyBank      = _mementity.CompanyBank;
                _billentity.CompanyAddress   = _mementity.CompanyAddress;
                _billentity.BankAccount      = _mementity.BankAccount;
                _billentity.Status           = _mementity.Status;
            }


            VWOrderEntity _vworder = OrderDetailPreTempBLL.Instance.GetVWOrderByTempCode(_preordercode);

            if (ordertype != -1)
            {
                _vworder.OrderType = ordertype;
            }
            _vworder.OrderStyle = (int)OrderStyleEnum.Normal;


            _vworder.DisCountFee = _vworder.DisCountFee;
            decimal tempprice = _vworder.PreDisCountPrice - _vworder.DisCountFee;

            if (tempprice > 1)
            {
                decimal jifenamt = OrderCommonBLL.Instance.GetJiFenAmt(jifen);
                _vworder.Integral    = jifen;
                _vworder.IntegralFee = jifenamt;
                tempprice            = tempprice - jifenamt;
            }
            else
            {
                _vworder.Integral    = 0;
                _vworder.IntegralFee = 0;
            }
            if (memcouponid > 0)
            {
                MemCouponsEntity couponen = MemCouponsBLL.Instance.GetCouponByMemCouponId(memid, memcouponid);
                if (couponen != null && couponen.Id == memcouponid && couponen.EndTime > DateTime.Now)
                {
                    DicCouponsEntity dicen = couponen.DicCoupons;
                    if (dicen.CouponType == (int)CouponTypeEnum.Money && dicen.MinimumReqAmount < tempprice)
                    {
                        _vworder.MemCouponsId = memcouponid;
                        _vworder.CouponsFee   = dicen.CouponValue;
                        tempprice             = tempprice - dicen.CouponValue;
                    }
                }
            }
            _vworder.ActPrice = tempprice;
            //_vworder.PayType = _paytype;
            _vworder.ExpressCom = expressid;

            _vworder.Remark   = _remark;
            _vworder.MemId    = memid;
            _vworder.MemLevel = member.MemGrade;
            _vworder.IsStore  = member.IsStore;
            //if (_paytype == (int)PayType.OutLine)
            //{
            //    _vworder.PayConfirmCode = StringUtils.GetRandomString(12);
            //}
            //if (billtype == 1)
            //{
            //    _vworder.BillType = (int)BillType.Normal;
            //}
            //else if (billtype == 2)
            //{
            //    _vworder.BillType = (int)BillType.VAT;
            //}
            OrderAddressEntity _address = new OrderAddressEntity();

            _address.CityId       = city;
            _address.AccepterName = acceptername;
            _address.ProvinceId   = province;
            _address.Address      = address;
            _address.MobilePhone  = mobilephone;
            //_vworder.AcceptAddress = _address;
            if (_vworder.ActPrice >= 1)
            {
                List <int> listpdids      = new List <int>();
                string     productdetails = "";
                if (_vworder != null && _vworder.Details != null && _vworder.Details.Count > 0)
                {
                    foreach (VWOrderDetailEntity ordetailentity in _vworder.Details)
                    {
                        listpdids.Add(ordetailentity.ProductDetailId);
                        productdetails += "|" + ordetailentity.ProductDetailId.ToString() + "_" + ordetailentity.Num.ToString();
                    }
                    if (productdetails != "")
                    {
                        productdetails = productdetails.TrimStart('|');
                        if (ProductStyleBLL.Instance.ProductsEnough(productdetails))
                        {
                            string ordercode = OrderBLL.Instance.CreateOrder(_vworder, _address, _billentity);
                            if (!string.IsNullOrEmpty(ordercode))
                            {
                                //IList<OrderDetailEntity> _listproduct = OrderDetailBLL.Instance.GetOrderDetailAllByOrder(memid, StringUtils.GetDbLong(ordercode), false);
                                //foreach (OrderDetailEntity _entity in _listproduct)
                                //{
                                //    productdetails += "|" + _entity.ProductDetailId.ToString() + "_" + _entity.Num.ToString();
                                //}
                                if (productdetails != "")
                                {
                                    if (ProductStyleBLL.Instance.ProductsToOrder(productdetails) > 0)
                                    {
                                        VWShoppingCartInfo ShoppingCartentity = ShoppingCartProcessor.GetShoppingCart();
                                        ShoppingCartProcessor.RemoveCartItems(ShoppingCartentity, listpdids);
                                        //if (_vworder.PayType == (int)PayType.WeChat)
                                        //{
                                        _result.Obj = ordercode;
                                        //}
                                        //else
                                        //{

                                        //    _result.Obj = ordercode;
                                        //}
                                        _result.Status = (int)CommonStatus.Success;

                                        return(JsonJC.ObjectToJson(_result));
                                    }
                                    else
                                    {
                                        _result.Status = (int)CommonStatus.ProductLess;
                                        _result.Obj    = "";
                                        return(JsonJC.ObjectToJson(_result));
                                    }
                                }
                                else
                                {
                                    _result.Status = (int)CommonStatus.Success;
                                    _result.Obj    = ordercode;
                                    return(JsonJC.ObjectToJson(_result));
                                }
                            }
                        }
                        else
                        {
                            _result.Status = (int)CommonStatus.ProductLess;
                            _result.Obj    = "";
                            return(JsonJC.ObjectToJson(_result));
                        }
                    }
                }
            }
            _result.Status = (int)CommonStatus.Fail;
            _result.Obj    = "";
            return(JsonJC.ObjectToJson(_result));
        }