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 CreateCustomAppointmentHour(int customworkdayId, [FromBody] CustomAppointmentHourForCreateData data) { ClaimsPrincipal claimsPrincipal = User as ClaimsPrincipal; string role = claimsPrincipal.FindFirst("role").Value; int barberId = int.Parse(claimsPrincipal.FindFirst("userId").Value); if (!role.Equals("client")) { CustomWorkDay customWorkday = role.Equals("admin") ? CustomWorkDaysDataStore.Current.Days.FirstOrDefault(wd => wd.Id == customworkdayId) : CustomWorkDaysDataStore.Current.Days.FirstOrDefault(wd => wd.Id == customworkdayId && wd.BarberId == barberId); if (customWorkday == null) { return(NotFound()); } int maxCustomAppointmentHourId = CustomWorkDaysDataStore.Current.Days.SelectMany(wd => wd.CustomAppointmentHour).Max(ah => ah.Id); CustomAppointmentHour newCustomAppointmentHour = new CustomAppointmentHour() { Id = ++maxCustomAppointmentHourId, Visible = data.Visible, Hour = data.Hour }; customWorkday.CustomAppointmentHour.Add(newCustomAppointmentHour); return(CreatedAtRoute(role.Equals("admin") ? "GetCustomAppointmentHourById" : "GetCustomAppointmentHourByIdForBarber", new { customworkdayId, id = newCustomAppointmentHour.Id }, newCustomAppointmentHour)); } return(Unauthorized()); }
public IActionResult GetCustomWorkDayById(int id) { CustomWorkDay workDay = CustomWorkDaysDataStore.Current.Days.FirstOrDefault(wd => wd.Id == id); if (workDay == null) { return(NotFound()); } return(Ok(workDay)); }
public IActionResult GetAppointmentHours(int customworkdayId) { CustomWorkDay customworkDay = CustomWorkDaysDataStore.Current.Days.FirstOrDefault(wd => wd.Id == customworkdayId); if (customworkDay == null) { return(NotFound()); } return(Ok(customworkDay.CustomAppointmentHour)); }
public IActionResult GetCustomWorkDayByDateForBarber(string date) { var claimsPrincipal = User as ClaimsPrincipal; int barberId = int.Parse(claimsPrincipal.FindFirst("userId").Value); CustomWorkDay workDay = CustomWorkDaysDataStore.Current.Days.FirstOrDefault(wd => wd.BarberId == barberId && wd.Date == date); if (workDay == null) { return(NotFound()); } return(Ok(workDay)); }
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()); }
public IActionResult DeleteWorkDay(int id) { var claimsPrincipal = User as ClaimsPrincipal; var role = claimsPrincipal.FindFirst("role").Value; int barberId = int.Parse(claimsPrincipal.FindFirst("userId").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()); } CustomWorkDaysDataStore.Current.Days.Remove(customWorkDay); return(NoContent()); } return(Unauthorized()); }
public IActionResult CreateCustomWorkDay([FromBody] CustomWorkDayForCreateData data) { ClaimsPrincipal claimsPrincipal = User as ClaimsPrincipal; string role = claimsPrincipal.FindFirst("role").Value; if (!role.Equals("client")) { var maxCustomWorkDayId = WorkDaysDataStore.Current.Days.Max(wd => wd.Id); var newCustomWorkDay = new CustomWorkDay() { Id = ++maxCustomWorkDayId, OffDay = data.OffDay, Date = data.Date, BarberId = data.BarberId, CustomAppointmentHour = data.CustomAppointmentHour }; CustomWorkDaysDataStore.Current.Days.Add(newCustomWorkDay); return(CreatedAtRoute(role.Equals("admin") ? "GetCustomWorkDayById" : "GetCustomWorkDayByIdForBarber", new { newCustomWorkDay.Id }, newCustomWorkDay)); } return(Unauthorized()); }