public void UpdateTraineeMeasurements(TraineeMeasurements traineeMeasurements)
        {
            var result = _aspnetGymTrackerContext.TraineeMeasurements.SingleOrDefault(b => b.MeasurementId == traineeMeasurements.MeasurementId);

            if (result != null)
            {
                result.Weight   = traineeMeasurements.Weight;
                result.Height   = traineeMeasurements.Height;
                result.FatRatio = traineeMeasurements.FatRatio;
                _aspnetGymTrackerContext.SaveChanges();
            }
        }
        public async Task <IActionResult> NewTrainee(NewTraineeViewModel model)
        {
            model.DateOfBirth = DateTime.ParseExact(model.StrDateOfBirth, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            var trainer = await _userManager.GetUserAsync(User);

            var user = new ApplicationUser {
                UserName    = model.Email, Email = model.Email,
                Name        = model.Name, Surname = model.Surname,
                PhoneNumber = model.Phone, City = model.City,
                GymId       = trainer.GymId
            };

            if (model.Image != null && model.Image.Length > 0)
            {
                using (var memoryStream = new MemoryStream())
                {
                    await model.Image.CopyToAsync(memoryStream);

                    user.Image = memoryStream.ToArray();
                }
            }

            var result = await _userManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme);
                await _emailSender.SendEmailConfirmationAsync(model.Email, callbackUrl);

                Trainee trainee = new Trainee
                {
                    Birthday  = model.DateOfBirth,
                    EntryDate = DateTime.Today,
                    Gender    = model.Gender,
                    TrainerId = trainer.Id,
                    TraineeId = _traineeRepository.GetUserId(model.Email, model.Name, model.Surname)
                };
                _traineeRepository.CreateTrainee(trainee);
                TraineeMeasurements traineeMeasurements = new TraineeMeasurements
                {
                    Weight    = model.Weight,
                    Height    = model.Height,
                    FatRatio  = model.FatRatio,
                    Date      = DateTime.Today,
                    TraineeId = _traineeRepository.GetUserId(model.Email, model.Name, model.Surname)
                };
                _traineeMeasurementsRepository.CreateTraineeMeasurements(traineeMeasurements);
                return(RedirectToAction("Trainees", "Home"));
            }
            return(View(model));
        }
        public IActionResult EditMeasurements(TraineeDetailsPageViewModel model)
        {
            model.EditMeasureDate = DateTime.ParseExact(model.StrEditMeasureDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            TraineeMeasurements measurements = new TraineeMeasurements
            {
                FatRatio      = model.EditFatRatio,
                Weight        = model.EditWeight,
                Height        = model.EditHeight,
                MeasurementId = model.MeasurementId,
                Date          = model.EditMeasureDate
            };

            _traineeMeasurementsRepository.UpdateTraineeMeasurements(measurements);
            return(RedirectToAction("TraineeDetails", "Home", new { Id = model.Id }));
        }
예제 #4
0
        public IEnumerable <TraineeInfoModel> GetTrainees(string trainerId)
        {
            var traineesGeneral = (from t in _aspnetGymTrackerContext.Trainee
                                   join u in _aspnetGymTrackerContext.ApplicationUser
                                   on t.TraineeId equals u.Id
                                   where t.TrainerId == trainerId
                                   select new { t.TraineeId, t.TrainerId, u.Name, u.Surname, t.Birthday, t.Gender, u.Email, u.PhoneNumber, u.GymId, u.City, u.Image, t.EntryDate }).ToList();
            List <TraineeInfoModel> trainees = new List <TraineeInfoModel>();

            foreach (var elmt in traineesGeneral)
            {
                TraineeInfoModel trainee = new TraineeInfoModel
                {
                    TraineeId   = elmt.TraineeId,
                    TrainerId   = elmt.TrainerId,
                    Name        = elmt.Name,
                    Surname     = elmt.Surname,
                    Birthday    = elmt.Birthday,
                    Gender      = elmt.Gender,
                    Email       = elmt.Email,
                    PhoneNumber = elmt.PhoneNumber,
                    GymId       = elmt.GymId,
                    City        = elmt.City,
                    EntryDate   = elmt.EntryDate,
                    Image       = elmt.Image
                };
                TraineeMeasurements measurements = _aspnetGymTrackerContext.TraineeMeasurements.Where(u => u.TraineeId == trainee.TraineeId).OrderByDescending(u => u.Date).FirstOrDefault();
                if (measurements != null)
                {
                    trainee.Weight   = measurements.Weight;
                    trainee.Height   = measurements.Height;
                    trainee.FatRatio = measurements.FatRatio;
                }
                trainees.Add(trainee);
            }
            return(trainees);
        }
        public void CreateTraineeMeasurements(TraineeMeasurements traineeMeasurements)
        {
            _aspnetGymTrackerContext.TraineeMeasurements.Add(traineeMeasurements);

            _aspnetGymTrackerContext.SaveChanges();
        }