public async Task <IActionResult> SetAdmin([FromBody] Dto.EditRelookeuse editRelookeuse)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            Relookeuse relookeuse = await _context.Relookeuse.FirstOrDefaultAsync(rel => rel.UserId == int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value));

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

            relookeuse.IsPro       = editRelookeuse.IsPro;
            relookeuse.Description = editRelookeuse.Description;

            _context.Entry(relookeuse).OriginalValues["RowVersion"] = editRelookeuse.RowVersion;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(Conflict());
            }

            return(Ok(new Dto.RelookeuseRowVersion()
            {
                RowVersion = relookeuse.RowVersion
            }));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Update([FromBody] Dto.Tarif updatedTarif)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Tarif tarif = await _context.Tarif.FirstOrDefaultAsync(t => t.Service.ToLower().Equals(updatedTarif.Service.ToLower()) && t.RelookeuseId == int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value));

            if (tarif == null)
            {
                return(NotFound(updatedTarif.Service));
            }

            tarif.Price = updatedTarif.Price;
            _context.Entry(tarif).OriginalValues["RowVersion"] = updatedTarif.RowVersion;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(Conflict());
            }

            return(Ok(_mapper.Map <Dto.Tarif>(tarif)));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> SetAdmin([FromBody] Dto.SetAdminValue setAdminValue)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            User user = await _context.User.FirstOrDefaultAsync(u => u.Id == setAdminValue.Id);

            if (user == null)
            {
                return(NotFound(setAdminValue.Id));
            }

            user.IsAdmin = setAdminValue.IsAdmin;

            _context.Entry(user).OriginalValues["RowVersion"] = setAdminValue.RowVersion;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(Conflict());
            }

            return(Ok(new Dto.UserRowVersion()
            {
                RowVersion = user.RowVersion
            }));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Close(int id, [FromBody] Dto.Rating ratingRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Appointment appointment = await _context.Appointment.FirstOrDefaultAsync(ap => ap.Id == id && ap.UserId == int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value));

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

            if (!appointment.Accepted)
            {
                return(BadRequest());
            }

            if (appointment.Finished)
            {
                return(Conflict(ConflictErrorType.AppointmentAlreadyClose));
            }

            appointment.Finished = true;
            appointment.Mark     = ratingRequest.Value;
            _context.Entry(appointment).OriginalValues["RowVersion"] = ratingRequest.RowVersion;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(Conflict(ConflictErrorType.AppointmentNewlyModified));
            }

            return(NoContent());
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Update([FromBody] Dto.Availability updatedAvailability)
        {
            if (!ModelState.IsValid || updatedAvailability.StartTime.Equals(updatedAvailability.EndTime) || String.CompareOrdinal(updatedAvailability.StartTime, 0, updatedAvailability.EndTime, 0, 5) > 0)
            {
                return(BadRequest(ModelState));
            }

            int userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            Availability availability = await _context.Availability.FirstOrDefaultAsync(av => av.Id == updatedAvailability.Id && av.RelookeuseId == userId);

            if (availability == null)
            {
                return(NotFound(updatedAvailability.Id));
            }

            if (await _context.Availability.FirstOrDefaultAsync(av => av.RelookeuseId == userId && av.Id != updatedAvailability.Id && av.DayOfWeek == updatedAvailability.DayOfWeek && (av.StartTime.Equals(updatedAvailability.StartTime) || av.EndTime.Equals(updatedAvailability.EndTime))) != null)
            {
                return(Conflict(ConflictErrorType.AvailabilityAlreadyExist));
            }

            availability.StartTime = updatedAvailability.StartTime;
            availability.EndTime   = updatedAvailability.EndTime;

            _context.Entry(availability).OriginalValues["RowVersion"] = updatedAvailability.RowVersion;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(Conflict(ConflictErrorType.AvailabilityNewlyModified));
            }

            return(Ok(_mapper.Map <Dto.Availability>(availability)));
        }