public Models.Workout.WorkoutAdvice Create(Models.Requests.Workout.WorkoutAdviceCreate adviceCreate, UserInfo userInfo)
        {
            Client dbClient = _context.Clients.Find(adviceCreate.ClientId);

            if (dbClient == null)
            {
                throw new ResourceNotFoundException($"Client with id {adviceCreate.ClientId} not found");
            }

            if (userInfo.Role == "EMPLOYEE")
            {
                Trainer dbTrainer = _context.Trainers.Find(adviceCreate.TrainerId);
                if (dbTrainer == null)
                {
                    throw new ResourceNotFoundException($"Trainer with id {adviceCreate.TrainerId} not found");
                }
            }
            else
            {
                adviceCreate.TrainerId = userInfo.Id;
            }

            WorkoutAdvice dbWorkoutAdvice = WorkoutAdviceMapper.toDb(adviceCreate);

            _context.WorkoutAdvices.Add(dbWorkoutAdvice);
            _context.SaveChanges();
            return(GetById(dbWorkoutAdvice.Id));
        }
Пример #2
0
        public Models.Workout.Workout Create(Models.Requests.Workout.WorkoutCreateRequest createRequest)
        {
            Trainer dbTrainer = _context.Trainers.Find(createRequest.TrainerId);

            if (dbTrainer == null)
            {
                throw new ResourceNotFoundException($"Trainer with id {createRequest.TrainerId} not found");
            }

            WorkoutType workoutType = _context.WorkoutTypes.Find(createRequest.WorkoutTypeId);

            if (workoutType == null)
            {
                throw new ResourceNotFoundException($"Workout Type with id {createRequest.TrainerId} not found");
            }

            Workout dbWorkout = new Workout
            {
                Trainer     = dbTrainer,
                WorkoutType = workoutType,
                Description = createRequest.Description,
                Difficulty  = createRequest.Difficulty,
                Duration    = createRequest.Duration,
                Name        = createRequest.Name,
                CreatedAt   = System.DateTime.Now
            };

            _context.Workouts.Add(dbWorkout);
            _context.SaveChanges();

            return(GetById(dbWorkout.Id));
        }
Пример #3
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));
 }
Пример #4
0
        public Models.Suplements.SuplementPayment Create(
            Models.Requests.Suplements.SuplementPaymentRequest paymentRequest, UserInfo info)
        {
            SuplementPayment dbPayment = SuplementPaymentMapper.toDb(paymentRequest, info);

            _context.SuplementPayments.Add(dbPayment);
            _context.SaveChanges();

            return(GetById(dbPayment.Id));
        }
Пример #5
0
        public bool SaveBlog(Blog entity)
        {
            if (entity.Id == default)
            {
                _context.Entry(entity).State = EntityState.Added;
            }
            else
            {
                _context.Entry(entity).State = EntityState.Modified;
            }

            _context.SaveChanges();

            return(true);
        }
Пример #6
0
        public Models.Trainers.Trainer Create(CreateTrainerRequest createTrainerRequest)
        {
            Database.AppUser appUser = _mapper.Map <Database.AppUser>(createTrainerRequest);
            appUser.HashedPassword = HashUtil.ComputeSha256Hash(createTrainerRequest.Password);
            appUser.CreatedAt      = DateTime.UtcNow;
            appUser.Status         = Database.UserStatus.ACTIVE;

            // add trainer specific data
            Database.Trainer trainer = new Database.Trainer();
            appUser.Trainer = trainer;

            _context.AppUsers.Add(appUser);
            _context.SaveChanges();
            return(_mapper.Map <Models.Trainers.Trainer>(appUser));
        }
Пример #7
0
        public Models.Clients.Client Create(CreateClientRequest createClientRequest)
        {
            Database.AppUser appUser = _mapper.Map <Database.AppUser>(createClientRequest);
            appUser.HashedPassword = HashUtil.ComputeSha256Hash(createClientRequest.Password);
            appUser.CreatedAt      = DateTime.UtcNow;
            appUser.Status         = Database.UserStatus.INACTIVE;

            // add client specific data
            Database.Client client = new Database.Client();
            appUser.Client = client;

            _context.AppUsers.Add(appUser);
            _context.SaveChanges();
            return(_mapper.Map <Models.Clients.Client>(appUser));
        }
Пример #8
0
        public bool SaveTrainerCategory(TrainerCategory entity)
        {
            if (!ContainsTrainerCategoryByName(entity.Name))
            {
                if (entity.Id == default)
                {
                    _context.Entry(entity).State = EntityState.Added;
                }
                else
                {
                    _context.Entry(entity).State = EntityState.Modified;
                }

                _context.SaveChanges();

                return(true);
            }

            return(false);
        }
Пример #9
0
        public bool SaveGender(Gender entity)
        {
            if (!ContainsGenderByName(entity.Name))
            {
                if (entity.Id == default)
                {
                    _context.Entry(entity).State = EntityState.Added;
                }
                else
                {
                    _context.Entry(entity).State = EntityState.Modified;
                }

                _context.SaveChanges();

                return(true);
            }

            return(false);
        }
Пример #10
0
        public bool SaveTestimonial(Testimonial entity)
        {
            if (entity.Id == default)
            {
                if (!ContainsTestimonialByClientId(entity.ClientId))
                {
                    _context.Entry(entity).State = EntityState.Added;
                    _context.SaveChanges();

                    return(true);
                }
            }
            else
            {
                var oldVersionEntity = GetTestimonialById(entity.Id);

                if (oldVersionEntity.ClientId != entity.ClientId)
                {
                    if (!ContainsTestimonialByClientId(entity.ClientId))
                    {
                        _context.Entry(entity).State = EntityState.Modified;
                        _context.SaveChanges();

                        return(true);
                    }
                    else
                    {
                        _context.Entry(entity).State = EntityState.Modified;
                        _context.SaveChanges();

                        return(true);
                    }
                }
            }

            return(false);
        }
Пример #11
0
        public bool SaveClient(Client entity)
        {
            if (entity.Id == default)
            {
                if (!ContainsClientByUserId(entity.UserId))
                {
                    _context.Entry(entity).State = EntityState.Added;
                    _context.SaveChanges();

                    return(true);
                }
            }
            else
            {
                var oldVersionEntity = GetClientById(entity.Id);

                if (oldVersionEntity.UserId != entity.UserId)
                {
                    if (!ContainsClientByUserId(entity.UserId))
                    {
                        _context.Entry(entity).State = EntityState.Modified;
                        _context.SaveChanges();

                        return(true);
                    }
                }
                else
                {
                    _context.Entry(entity).State = EntityState.Modified;
                    _context.SaveChanges();

                    return(true);
                }
            }

            return(false);
        }
Пример #12
0
        public bool SaveService(Service entity)
        {
            if (entity.Id == default)
            {
                if (!ContainsServiceByCategoryIdAndName(entity.CategoryId, entity.Name))
                {
                    _context.Entry(entity).State = EntityState.Added;
                    _context.SaveChanges();

                    return(true);
                }
            }
            else
            {
                var oldVersionEntity = GetServiceById(entity.Id);

                if (oldVersionEntity.Name != entity.Name)
                {
                    if (!ContainsServiceByCategoryIdAndName(entity.CategoryId, entity.Name))
                    {
                        _context.Entry(entity).State = EntityState.Modified;
                        _context.SaveChanges();

                        return(true);
                    }
                }
                else
                {
                    _context.Entry(entity).State = EntityState.Modified;
                    _context.SaveChanges();

                    return(true);
                }
            }

            return(false);
        }
Пример #13
0
        public void CreateOrUpdateSuplementRating(SuplementRatingCreate ratingCreate, UserInfo userInfo)
        {
            if (ratingCreate.Rating < 1 || ratingCreate.Rating > 5)
            {
                throw new InvalidRatingValueException("Ocjena moze biti od 1 - 5");
            }

            Suplement suplement = _context.Suplements.Find(ratingCreate.SuplementId);

            if (suplement == null)
            {
                throw new ResourceNotFoundException($"Suplement with id: {ratingCreate.SuplementId} not found.");
            }

            SuplementsRating dbSuplementRating = _context.SuplementsRatings
                                                 .Where(x => x.ClientId == userInfo.Id)
                                                 .Where(x => x.SuplementId == ratingCreate.SuplementId)
                                                 .FirstOrDefault();

            if (dbSuplementRating == null)
            {
                dbSuplementRating = new SuplementsRating();

                dbSuplementRating.ClientId    = userInfo.Id;
                dbSuplementRating.SuplementId = ratingCreate.SuplementId;
                dbSuplementRating.Rating      = ratingCreate.Rating;
                _context.SuplementsRatings.Add(dbSuplementRating);
            }
            else
            {
                dbSuplementRating.Rating = ratingCreate.Rating;
                _context.SuplementsRatings.Update(dbSuplementRating);
            }

            _context.SaveChanges();
        }