Example #1
0
 public Models.Suplements.Suplement Create(SuplementCreateRequest suplementCreateRequest)
 {
     Database.Suplement suplement = _mapper.Map <Database.Suplement>(suplementCreateRequest);
     suplement.CreatedAt = DateTime.Now;
     _context.Suplements.Add(suplement);
     _context.SaveChanges();
     return(mapFromDb(suplement, null));
 }
Example #2
0
        public void Delete(int id)
        {
            Database.Suplement suplement = _context.Suplements.Find(id);

            if (suplement == null)
            {
                throw new ResourceNotFoundException($"Resource with id: {id} not found");
            }

            _context.Suplements.Remove(suplement);
            _context.SaveChanges();
        }
Example #3
0
        public void Update(int id, SuplementCreateRequest suplementCreateRequest)
        {
            Database.Suplement suplement = _context.Suplements.Find(id);

            if (suplement == null)
            {
                throw new ResourceNotFoundException($"Resource with id: {id} not found");
            }

            _mapper.Map(suplementCreateRequest, suplement);
            _context.Suplements.Update(suplement);
            _context.SaveChanges();
        }
Example #4
0
        public Models.Suplements.Suplement GetById(int id, UserInfo userInfo)
        {
            Database.Suplement dbSuplement = _context.Suplements
                                             .AsQueryable()
                                             .Include(x => x.SuplementType)
                                             .Include(x => x.SuplementsRatings)
                                             .Where(x => x.Id == id)
                                             .FirstOrDefault();

            if (dbSuplement == null)
            {
                throw new ResourceNotFoundException($"Suplement with id: {id} not found");
            }

            return(mapFromDb(dbSuplement, userInfo));
        }
Example #5
0
        private Models.Suplements.Suplement mapFromDb(Database.Suplement dbSuplement, UserInfo userInfo)
        {
            Models.Suplements.Suplement suplement = new Models.Suplements.Suplement();
            _mapper.Map(dbSuplement, suplement);
            suplement.SuplementTypeName = dbSuplement.SuplementType?.Type;
            suplement.CreatedAt         = dbSuplement.CreatedAt.ToString("dd-MM-yyyy");

            if (dbSuplement.SuplementsRatings != null && dbSuplement.SuplementsRatings.Count > 0)
            {
                suplement.AverageRating = dbSuplement.SuplementsRatings.Average(x => x.Rating);

                if (userInfo != null)
                {
                    SuplementsRating userSuplementRating = dbSuplement.SuplementsRatings.Where(x => x.ClientId == userInfo.Id).FirstOrDefault();
                    if (userSuplementRating != null)
                    {
                        suplement.UserRating = userSuplementRating.Rating;
                    }
                }
            }

            return(suplement);
        }