Пример #1
0
        // Logs a viewed record
        public async Task Log(int whatId, string whatType, string whatName)
        {
            if (whatId != 0)
            {
                var viewed = await _db.Viewed.SingleOrDefaultAsync(v => v.WhatId == whatId && v.WhatType == whatType && v.UserId == _currentUser.Id);

                if (viewed != null)
                {
                    viewed.ViewDate = DateTime.Now;
                    _db.Viewed.Update(viewed);
                    await _db.SaveChangesAsync();
                }
                else
                {
                    viewed = new Viewed
                    {
                        UserId    = _currentUser.Id,
                        WhatId    = whatId,
                        WhatType  = whatType,
                        WhatName  = whatName,
                        ViewDate  = DateTime.Now,
                        CreatedOn = DateTime.Now,
                        ChangedOn = DateTime.Now,
                        CreatedBy = _currentUser.Id,
                        ChangedBy = _currentUser.Id
                    };

                    await _db.Viewed.AddAsync(viewed);

                    await _db.SaveChangesAsync();
                }
            }
        }
        public async Task <ActionResult> View(int id)
        {
            var p = context.Products.Find(id);

            if (p == null)
            {
                return(NotFound());
            }

            var user = await userManager.GetUserAsync(HttpContext.User);

            var customer = await Customer.GetOrCreateAsync(context, user);

            var v = context.Vieweds.Find(customer.CustomerId, id);

            if (v == null)
            {
                v = new Viewed {
                    CustomerId = customer.CustomerId, ProductId = id, Count = 0
                };
                context.Add(v);
            }
            else
            {
                context.Update(v);
            }

            v.Count++;

            await context.SaveChangesAsync();

            return(Ok());
        }
Пример #3
0
        public Response Add(Viewed value)
        {
            Response response = new Response();

            try
            {
                using (IDbConnection conn = GetConnection())
                {
                    conn.Insert(value);
                    response.Status      = true;
                    response.Description = "Successful";
                }
            }
            catch (Exception ex)
            {
                response.Status      = false;
                response.Description = ex.Message;
            }
            return(response);
        }
Пример #4
0
 /// <summary>
 /// Controlled acts on both <paramref name="Modeled"/> and <paramref name="Viewed"/>.
 /// It controls the data flow into model object and updates the view whenever changes.
 /// It keeps view and model separate.
 /// </summary>
 public Controlled(Modeled <T> Modeled, Viewed <T> Viewed)
 {
     this.Modeled = Modeled;
     this.Viewed  = Viewed;
 }
 public async Task <bool> Update(Viewed entity)
 {
     _db.ViewedList.Update(entity);
     return(await Save());
 }
 public async Task <bool> Delete(Viewed entity)
 {
     _db.ViewedList.Remove(entity);
     return(await Save());
 }
        public async Task <bool> Create(Viewed entity)
        {
            await _db.ViewedList.AddAsync(entity);

            return(await Save());
        }
Пример #8
0
 public Response Put([FromBody] Viewed value)
 {
     return(repo.Update(value));
 }
Пример #9
0
 public Response Post([FromBody] Viewed value)
 {
     return(repo.Add(value));
 }
Пример #10
0
 public bool Save(Viewed obj)
 {
     return(database.ExecuteNonQuery("AddViewed", obj.ViewId, obj.ProductId) > 0);
 }