public IActionResult PatchWorkDay(int id, [FromBody] JsonPatchDocument <CustomWorkDayForUpdateData> patchDoc) { var claimsPrincipal = User as ClaimsPrincipal; int barberId = int.Parse(claimsPrincipal.FindFirst("userId").Value); string role = claimsPrincipal.FindFirst("role").Value; if (!role.Equals("client")) { CustomWorkDay customWorkDay = role.Equals("admin") ? CustomWorkDaysDataStore.Current.Days.FirstOrDefault(wd => wd.Id == id) : CustomWorkDaysDataStore.Current.Days.FirstOrDefault(wd => wd.Id == id && wd.BarberId == barberId); if (customWorkDay == null) { return(NotFound()); } CustomWorkDayForUpdateData patchCustomWorkDay = new CustomWorkDayForUpdateData() { OffDay = customWorkDay.OffDay, }; patchDoc.ApplyTo(patchCustomWorkDay); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } customWorkDay.OffDay = patchCustomWorkDay.OffDay; return(NoContent()); } return(Unauthorized()); }
public IActionResult UpdateWorkDay([FromBody] CustomWorkDayForUpdateData data) { var claimsPrincipal = User as ClaimsPrincipal; var role = claimsPrincipal.FindFirst("role").Value; if (!role.Equals("client")) { CustomWorkDay customworkDay = CustomWorkDaysDataStore.Current.Days.FirstOrDefault(wd => wd.Id == data.Id); if (customworkDay == null) { return(NotFound()); } customworkDay.OffDay = data.OffDay; return(NoContent()); } return(Unauthorized()); }