Exemple #1
0
 public List <T> Query <T>(string sql, params object[] parameterValues)
 {
     using (var ct = new View_MembersDataContext(DbHelperSQL.Connection))
     {
         return(ct.ExecuteQuery <T>(sql, parameterValues).ToList());
     }
 }
Exemple #2
0
        /// <summary>
        /// 根据域名取得会员数据
        /// </summary>
        /// <param name="domain">域名字符串</param>
        /// <returns></returns>
        public View_Members GetSingle(Uri uri)
        {
            var vm = CacheUtility.Get(uri.Host) as View_Members;

            if (vm == null)
            {
                using (var ct = new View_MembersDataContext(DbHelperSQL.Connection))
                {
                    View_Members vMember = ct.View_Members.SingleOrDefault(a => a.ID.ToString() == uri.Host.Split('.')[0].ToLower().Replace("shop", ""));
                    if (vMember == null)
                    {
                        vMember = ct.View_Members.SingleOrDefault(a => a.HomePage == "http://" + uri.Host.ToLower());
                    }
                    if (vMember != null)
                    {
                        CacheUtility.Insert(uri.Host, vMember, null, 20, CacheUtility.ExpiType.绝对过期);
                    }
                    return(vMember);
                }
            }
            else
            {
                return(vm);
            }
        }
Exemple #3
0
 public View_Members GetSingle(int ID)
 {
     using (var ct = new View_MembersDataContext(DbHelperSQL.Connection))
     {
         return(ct.View_Members.Single(a => a.ID == ID));
     }
 }
Exemple #4
0
 public List <View_Members> Query(string condition, string orderby, params object[] param)
 {
     using (var ct = new View_MembersDataContext(DbHelperSQL.Connection))
     {
         IQueryable <View_Members> MembersList = ct.View_Members;
         if (!string.IsNullOrEmpty(condition))
         {
             MembersList = MembersList.Where(condition, param);
         }
         if (!string.IsNullOrEmpty(orderby))
         {
             MembersList = MembersList.OrderBy(orderby);
         }
         return(MembersList.ToList());
     }
 }
Exemple #5
0
 public List <View_Members> Query(string condition, string orderby, int startIndex, int pageSize, ref int pageCount, params object[] param)
 {
     using (var ct = new View_MembersDataContext(DbHelperSQL.Connection))
     {
         IQueryable <View_Members> MembersList = ct.View_Members;
         if (!string.IsNullOrEmpty(condition))
         {
             MembersList = MembersList.Where(condition, param);
         }
         if (!string.IsNullOrEmpty(orderby))
         {
             MembersList = MembersList.OrderBy(orderby);
         }
         pageCount = MembersList.Count();
         return(MembersList.Skip(startIndex).Take(pageSize).ToList());
     }
 }
Exemple #6
0
        /// <summary>
        /// 加入进货单
        /// </summary>
        /// <param name="ProductID">产品ID</param>
        /// <param name="ProNum">产品数量</param>
        /// <param name="ProTotalCount">添加商品后反回进货单中的总商品数</param>
        /// <param name="ProTotalAmount">添加商品后反回进货单中的总金额</param>
        /// <param name="CurrentProAmount">当前产品ID的总金额</param>
        public OrderInfo Add(int ProductID, int ProNum)
        {
            var odinfo      = new OrderInfo();
            var orderDetail = CreateOrderDetail(ProductID, ProNum);

            odinfo.CrtPriceRang = orderDetail.PriceRang;
            var productbl = new DS_ProductsDataContext(DBUtility.DbHelperSQL.Connection);
            var memberbl  = new View_MembersDataContext(DBUtility.DbHelperSQL.Connection);
            var product   = productbl.DS_Products.Single(a => a.ID.Equals(orderDetail.ProductID));
            var existod   = Orders.Where(a => a.MemberID.Equals(product.MemberID));

            if (existod.Count().Equals(0))//检查订单中是否存在相同公司
            {
                var order = new DS_Orders();
                order.MemberID = product.MemberID;
                var member = memberbl.View_Members.Single(a => a.ID.Equals(product.MemberID));
                order.CompanyName = member.CompanyName;
                order.QQ          = member.QQ;
                order.ProNum      = orderDetail.ProNum;
                order.PurchaseID  = 0;
                order.Amount      = orderDetail.Amount;
                order.CreateDate  = DateTime.Now;
                order.ID          = id++;
                odinfo.ID         = order.ID;
                Orders.Add(order);
                orderDetail.OrderID  = order.ID;
                orderDetail.MemberID = order.MemberID;
                orderDetail.OrderNum = DS_Orders_Br.GetSerial();
                OrderDetail.Add(orderDetail);
            }
            else
            {
                var order = existod.Single();
                orderDetail.OrderID  = order.ID;
                orderDetail.MemberID = order.MemberID;
                odinfo.ID            = order.ID;
                //检查购物车中是否已存在相同商品
                var existoddt = OrderDetail.Where(a => a.ProductID.Equals(orderDetail.ProductID));
                if (existoddt.Count().Equals(0))
                {
                    order.Amount        += orderDetail.Amount;
                    order.ProNum        += orderDetail.ProNum;
                    orderDetail.OrderNum = DS_Orders_Br.GetSerial();
                    OrderDetail.Add(orderDetail);
                }
                else
                {
                    var oddt = existoddt.Single();
                    order.Amount       -= Math.Round(double.Parse(oddt.ProNum.ToString()) * oddt.Price);
                    oddt.ProNum        += orderDetail.ProNum;
                    oddt.Price          = GetPrice(product.PriceRang, oddt.ProNum);
                    oddt.PriceRang      = GetPriceRang(product.PriceRang, oddt.ProNum);
                    odinfo.CrtPriceRang = oddt.PriceRang;
                    oddt.Amount         = Math.Round(double.Parse(oddt.ProNum.ToString()) * oddt.Price);
                    order.Amount       += oddt.Amount;
                    order.ProNum       += orderDetail.ProNum;
                }
            }

            odinfo.PurTotalCount  = Orders.Sum(a => a.ProNum);
            odinfo.CrtProAmount   = OrderDetail.Where(a => a.ProductID.Equals(ProductID)).Sum(a => a.Amount);
            odinfo.PurTotalAmount = Orders.Sum(a => a.Amount);
            odinfo.CrtOrderAmount = Orders.Where(a => a.ID.Equals(orderDetail.OrderID)).Sum(a => a.Amount);
            return(odinfo);
        }