Esempio n. 1
0
        public HttpResponseMessage ExtendTime([FromUri] int SponsoredItemID)
        {
            try
            {
                using (WebbanhangDBEntities entities = new WebbanhangDBEntities())
                {
                    entities.Configuration.ProxyCreationEnabled = false;
                    string        currentUserID = User.Identity.GetUserId();
                    SponsoredItem sno           = entities.SponsoredItems.FirstOrDefault(x => x.SponsoredItemID == SponsoredItemID);
                    if (sno != null)
                    {
                        var user = entities.UserInfos.FirstOrDefault(x => x.UserID == currentUserID);
                        if (user.VipNewsCount == 0)
                        {
                            return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "Hết số lượng được đăng"));
                        }

                        sno.EndDate       = sno.EndDate.Value.AddDays(7);
                        user.VipNewsCount = user.VipNewsCount - 1;
                        entities.SaveChanges();
                    }
                    return(Request.CreateResponse(HttpStatusCode.OK, "POST OK"));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        protected Sponsorship GetTestCaseSponsorshipObject(
            string calculationType,
            string restrictionLevel,
            string sponsoredItemRestrictionType,
            string sponsoredItemRestrictionValue,
            string applicability,
            string programmeName,
            string clashExternalRef,
            string clashRestrictionType,
            string clashRestrictionValue,
            string advertiserIdentifier,
            string advertiserRestrictionType,
            string advertiserRestrictionValue,
            string salesArea,
            string startDate,
            string endDate,
            string startTime,
            string endTime,
            string daysOfWeek,
            string sponsoredProduct
            )
        {
            Sponsorship result = GetTestCaseSponsorshipObject(
                calculationType,
                restrictionLevel,
                applicability,
                programmeName,
                clashExternalRef,
                advertiserIdentifier,
                salesArea,
                startDate,
                endDate,
                startTime,
                endTime,
                daysOfWeek,
                sponsoredProduct);

            SponsoredItem sponsoredItem = result.SponsoredItems[0];

            sponsoredItem.RestrictionType  = GetRestrictionType(sponsoredItemRestrictionType);
            sponsoredItem.RestrictionValue = GetRestrictionValue(sponsoredItemRestrictionValue);

            if (sponsoredItem.ClashExclusivities != null)
            {
                sponsoredItem.ClashExclusivities[0].RestrictionType  = GetRestrictionType(clashRestrictionType);
                sponsoredItem.ClashExclusivities[0].RestrictionValue = GetRestrictionValue(clashRestrictionValue);
            }

            if (sponsoredItem.AdvertiserExclusivities != null)
            {
                sponsoredItem.AdvertiserExclusivities[0].RestrictionType  = GetRestrictionType(advertiserRestrictionType);
                sponsoredItem.AdvertiserExclusivities[0].RestrictionValue = GetRestrictionValue(advertiserRestrictionValue);
            }

            return(result);
        }
Esempio n. 3
0
        public HttpResponseMessage PurchaseVipNews([FromUri] int productID)
        {
            try
            {
                using (WebbanhangDBEntities entities = new WebbanhangDBEntities())
                {
                    entities.Configuration.ProxyCreationEnabled = false;
                    //Check if product is currently being promoted:
                    string currentUserID = User.Identity.GetUserId();
                    var    listtoCheck   = entities.SponsoredItems.Where(x => x.Product.UserID == currentUserID).ToList();
                    foreach (var x in listtoCheck)
                    {
                        if (x.ProductID == productID && x.EndDate >= DateTime.Now)
                        {
                            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Sản phẩm hiện đang được promte"));
                        }
                    }

                    SponsoredItem sno = new SponsoredItem();
                    sno.ProductID = productID;
                    sno.StartDate = DateTime.Now;
                    sno.EndDate   = sno.StartDate.Value.AddDays(7);
                    entities.SponsoredItems.Add(sno);
                    var user = entities.UserInfos.FirstOrDefault(x => x.UserID == currentUserID);

                    //Kiểm tra còn lượng tin đăng hay không
                    if (user.VipNewsCount == 0)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "Hết số lượng được đăng"));
                    }


                    user.VipNewsCount = user.VipNewsCount - 1;
                    entities.SaveChanges();
                    return(Request.CreateResponse(HttpStatusCode.OK, "POST OK"));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }