public async Task <BaseResponse <bool> > CreateAsync(YachtNonBusinessDayCreateModel model)
        {
            try
            {
                var result = _context.YachtNonOperationDays.Where(x => x.YachtFid == model.YachtFid && !x.Deleted && x.Recurring == false)
                             .OrderByDescending(x => x.EndDate.Date)
                             .FirstOrDefault(x => x.StartDate.Date <= model.EndDate.Date);

                if (result != null)
                {
                    bool check = CheckExists(model.StartDate.Date, model.EndDate.Date, result.StartDate.Date, result.EndDate.Date);
                    if (check == false)
                    {
                        return(BaseResponse <bool> .NotFound(false));
                    }
                }

                var entity = new YachtNonOperationDays();
                entity.InjectFrom(model);
                entity.Deleted          = false;
                entity.CreatedBy        = GetUserGuidId();
                entity.CreatedDate      = DateTime.Now;
                entity.LastModifiedBy   = GetUserGuidId();
                entity.LastModifiedDate = DateTime.Now;
                await _context.YachtNonOperationDays.AddAsync(entity);

                await _context.SaveChangesAsync();

                return(BaseResponse <bool> .Success(true));
            }
            catch (Exception ex)
            {
                return(BaseResponse <bool> .InternalServerError(message : ex.Message, fullMsg : ex.StackTrace));
            }
        }
Exemple #2
0
        public async Task <IActionResult> CreateAsync([FromBody] YachtNonBusinessDayCreateModel model)
        {
            if (model == null || model.StartDate == null || model.EndDate == null)
            {
                return(BadRequest());
            }
            var result = await _yachtNonBusinessDaysService.CreateAsync(model);

            if (result.IsSuccessStatusCode)
            {
                return(Ok(result));
            }
            return(BadRequest());
        }