public ActionResult <Hairdresser> PutHairdresser(Hairdresser hairdresser)
        {
            Hairdresser hairdresser2 = _hairdresserRepository.GetByEmail(User.Identity.Name);

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

            if (hairdresser.Id != hairdresser2.Id)
            {
                return(BadRequest());
            }

            hairdresser2.Name = hairdresser.Name;

            _hairdresserRepository.Update(hairdresser2);
            _hairdresserRepository.SaveChanges();

            return(Ok(hairdresser2));
        }
Exemple #2
0
        public ActionResult <AppointmentDTO> PostAppointment(int id, AppointmentDTO appointment)
        {
            Hairdresser hairdresser = _hairdresserRepository.GetBy(id);

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

            if (appointment.StartMoment < DateTime.Now)
            {
                return(BadRequest());
            }

            IList <Treatment> treatments = new List <Treatment>();

            foreach (Treatment tr in appointment.Treatments)
            {
                treatments.Add(hairdresser.GetTreatment(tr.Id));
            }

            Appointment appointmentToCreate = new Appointment(treatments, appointment.StartMoment, appointment.Firstname, appointment.Lastname);

            bool result = hairdresser.AddAppointment(appointmentToCreate);

            if (result == false)
            {
                return(BadRequest());
            }

            _hairdresserRepository.SaveChanges();

            _hub.Clients.All.SendAsync("appointments", hairdresser.Appointments.Select(a => new AppointmentDTO()
            {
                Id = a.Id, Firstname = a.Firstname, Lastname = a.Lastname, StartMoment = a.StartMoment, Treatments = a.Treatments.Select(tr => tr.Treatment).ToList()
            }).ToList());

            return(Ok(new AppointmentDTO()
            {
                StartMoment = appointmentToCreate.StartMoment, Treatments = appointmentToCreate.Treatments.Select(tr => tr.Treatment).ToList()
            }));                                                                                                                                                                // CreatedAtAction() not possible --> bug
        }
Exemple #3
0
        public async Task <ActionResult <string> > Register(RegisterHairdresserDTO hairdresser)
        {
            IdentityUser user = new IdentityUser {
                UserName = hairdresser.Email, Email = hairdresser.Email
            };

            Hairdresser hairdresserToCreate = new Hairdresser(hairdresser.Name, hairdresser.Email);


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

            if (result.Succeeded)
            {
                _hairdresserRepository.Add(hairdresserToCreate);
                _hairdresserRepository.SaveChanges();
                string token = GetToken(user);
                return(Created("", token));
            }
            return(BadRequest());
        }