Esempio n. 1
0
        private MyProduct EntityToModel(CTMS_MYPRODUCT entity)
        {
            if (entity == null)
            {
                return(null);
            }
            return(new MyProduct()
            {
                ID = entity.ID,
                LoginName = entity.LOGINNAME,
                UserID = entity.USERID,
                ProductID = entity.PRODUCTID,
                ProductNum = entity.PRODUCTNUM,
                StartDate = entity.STARTDATE,
                EndDate = entity.ENDDATE,
                IsUsed = entity.ISUSED,
                UsedDate = entity.USEDDATE,
                Product = string.IsNullOrEmpty(entity.PRODUCTID) ? null : new ProductsService().GetProductsById(entity.PRODUCTID),

                CreateDateTime = entity.CREATEDATETIME,
                CreateUserID = entity.CREATEUSERID,
                CreateUserName = entity.CREATEUSERNAME,
                EditTime = entity.EDITDATETIME,
                EditUserID = entity.EDITUSERID,
                EditUserName = entity.EDITUSERNAME,
                OwnerID = entity.OWNERID,
                OwnerName = entity.OWNERNAME,
                IsDeleted = entity.ISDELETED
            });
        }
Esempio n. 2
0
 /// <summary>
 /// 根据ID获取我的产品
 /// </summary>
 /// <param name="keyWord"></param>
 /// <returns></returns>
 public MyProduct Get(string id)
 {
     using (DbContext db = new CRDatabase())
     {
         if (string.IsNullOrEmpty(id))
         {
             return(null);
         }
         CTMS_MYPRODUCT entity = db.Set <CTMS_MYPRODUCT>().Find(id);
         if (entity == null)
         {
             return(null);
         }
         return(EntityToModel(entity));
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 根据ID获取我的产品
        /// </summary>
        /// <param name="keyWord"></param>
        /// <returns></returns>
        public bool BuyProduct(string userID, string ProductID)
        {
            using (DbContext db = new CRDatabase())
            {
                DateTime now = DateTime.Now;
                if (string.IsNullOrEmpty(userID) || string.IsNullOrEmpty(ProductID))
                {
                    throw new Exception("用户ID或产品ID为空,购买失败!");
                }
                CTMS_SYS_USERINFO user    = db.Set <CTMS_SYS_USERINFO>().Find(userID);
                CTMS_PRODUCTS     product = db.Set <CTMS_PRODUCTS>().Find(ProductID);
                if (user == null || product == null)
                {
                    throw new Exception("错误的用户ID或产品ID");
                }
                if (product.SALEPRICE > user.ACCOUNT)
                {
                    throw new Exception("余额不足!");
                }

                //用户表
                decimal salePrice = product.SALEPRICE.HasValue ? product.SALEPRICE.Value : 0;
                user.ACCOUNT        -= salePrice;
                db.Entry(user).State = EntityState.Modified;

                //记录表
                CTMS_ACCOUNTRECORD accountRecord = new CTMS_ACCOUNTRECORD()
                {
                    ID                 = Guid.NewGuid().ToString(),
                    USERID             = user.USERID,
                    ACCOUNT            = salePrice,
                    ACCOUNTDESCRIPTION = string.Format("购买{0}", product.PRODUCTNAME),
                    BALANCE            = -1,
                    LOGINNAME          = user.LOGINNAME,
                    ORDERID            = "",
                    PRODUCTID          = product.PRODUCTID,
                    PRODUCTNAME        = product.PRODUCTNAME,
                    SPENDTYPE          = (int)SpendType.Buy,
                    CREATEDATETIME     = now,
                    CREATEUSERID       = user.USERID,
                    CREATEUSERNAME     = user.LOGINNAME
                };
                db.Set <CTMS_ACCOUNTRECORD>().Add(accountRecord);

                //我的产品表
                CTMS_MYPRODUCT myProduct = new CTMS_MYPRODUCT()
                {
                    ID             = Guid.NewGuid().ToString(),
                    USERID         = user.USERID,
                    LOGINNAME      = user.LOGINNAME,
                    PRODUCTID      = product.PRODUCTID,
                    PRODUCTNUM     = 1,
                    STARTDATE      = DateTime.Now.Date,
                    ENDDATE        = DateTime.Now.Date.AddYears(1).AddDays(-1),
                    CREATEUSERID   = user.USERID,
                    CREATEUSERNAME = user.LOGINNAME,
                    CREATEDATETIME = now,
                };
                db.Set <CTMS_MYPRODUCT>().Add(myProduct);

                return(db.SaveChanges() > 0);
            }
        }