コード例 #1
0
        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)));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public ValidationResult ValidateCreateScheduleDetail(ClaimsPrincipal principal,
                                                      CreateScheduleDetailModel model)
 {
     return(ValidationResult.Pass());
 }