public IActionResult Create(CreateScheduleDetailModel model) { var validationResult = _service.ValidateCreateScheduleDetail(User, model); if (!validationResult.Valid) { return(BadRequest(validationResult.Result)); } if (model.IsDefault == true) { var isDefaultExisted = _service.ScheduleDetails .BySchedule(model.ScheduleId.Value) .IsDefault().Any(); if (isDefaultExisted) { return(BadRequest(ValidationResult.Fail( new AppResultBuilder().DefaultScheduleDetailExisted()))); } } var entity = _service.CreateScheduleDetail(model); context.SaveChanges(); return(Created($"/{ApiEndpoint.SCHEDULE_DETAIL_API}?id={entity.Id}", new AppResultBuilder().Success(entity.Id))); }
public ScheduleDetail CreateScheduleDetail(CreateScheduleDetailModel model) { var entity = model.ToDest(); if (entity.IsDefault == false) { var dates = ParseDateStr(model.StartEndDateStr); entity.FromTime = dates.Item1; entity.ToTime = dates.Item2; } PrepareCreate(entity); return(context.ScheduleDetail.Add(entity).Entity); }
public ValidationResult ValidateCreateScheduleDetail(ClaimsPrincipal principal, CreateScheduleDetailModel model) { return(ValidationResult.Pass()); }