Example #1
0
        public async Task <IActionResult> CreateCategory([FromBody] AddCategoryRequestDto category)
        {
            var verifyResult = VerifyCategory(category);

            if (verifyResult.Code != ErrorCode.Success)
            {
                return(verifyResult);
            }
            ;

            var categoryBiz = new MealCategoryBiz();

            var exsitName = await categoryBiz.ExistCategoryName(category.HospitalGuid, category.CategoryName.Trim());

            if (exsitName)
            {
                return(Failed(ErrorCode.Empty, $"餐别“{category.CategoryName}”已存在"));
            }

            var model = category.ToModel <MealCategoryModel>();

            model.CategoryGuid  = Guid.NewGuid().ToString("N");
            model.CreatedBy     = UserID;
            model.LastUpdatedBy = UserID;
            model.OrgGuid       = "";

            var result = await categoryBiz.CreateCategory(model);

            return(!string.IsNullOrEmpty(result) ? Success()
                : Failed(ErrorCode.DataBaseError, "餐别创建失败!"));
        }
Example #2
0
        ResponseDto VerifyCategory(AddCategoryRequestDto requestDto)
        {
            TimeSpan.TryParse(requestDto.MealStartTime, out var startTime);

            if (startTime == TimeSpan.Zero)
            {
                return(Failed(ErrorCode.Empty, "用餐开始时间格式不正确"));
            }

            TimeSpan.TryParse(requestDto.MealEndTime, out var endTime);
            if (endTime == TimeSpan.Zero)
            {
                return(Failed(ErrorCode.Empty, "用餐结束时间格式不正确"));
            }

            if (startTime > endTime)
            {
                return(Failed(ErrorCode.Empty, "用餐开始时间需小于用餐结束时间"));
            }

            TimeSpan.TryParse(requestDto.CategoryScheduleTime, out var scheduleTime);
            if (scheduleTime == TimeSpan.Zero)
            {
                return(Failed(ErrorCode.Empty, "用餐可预订时间格式不正确"));
            }

            return(Success());
        }
Example #3
0
 public override void AddCategory(AddCategoryRequestDto request)
 {
     try
     {
         base.AddCategory(request);
     }
     catch (Exception ex)
     {
         _log.LogError(ex.Message, ex);
         throw;
     }
 }
        public override void AddCategory(AddCategoryRequestDto request)
        {
            var system = _context.Systems
                         .AsNoTracking()
                         .FirstOrDefault(x => x.ExternalId == request.SystemExternalId);

            if (system == null)
            {
                throw new SystemNotFoundException(request.SystemExternalId, $"External Id '{request.SystemExternalId}' is not valid.", "AddCategoryRequestDto.SystemExternalId");
            }
            if (request.Badge != null && request.SystemExternalId != request.Badge.SystemExternalId)
            {
                throw new SystemNotFoundException(request.Badge.SystemExternalId, $"External Id '{request.Badge.SystemExternalId}' is not valid.", "AddCategoryRequestDto.Badge.SystemExternalId");
            }

            base.AddCategory(request);
        }
        public void AddCategory(AddCategoryRequestDto request)
        {
            var system = _context.Systems
                         .Include(x => x.Badges)
                         .FirstOrDefault(x => x.ExternalId == request.SystemExternalId);

            _achievementBusiness.AddBadge(request.Badge);
            var badge = system.Badges
                        .FirstOrDefault(x => x.Name == request.Badge.Name);
            var category = new Category(request.Name, badge)
            {
                System = system
            };

            system.Categories.Add(category);
            _context.SaveChanges();
        }
        public override void AddCategory(AddCategoryRequestDto request)
        {
            base.AddCategory(request);

            //Log event
            var system = _context.Systems
                         .FirstOrDefault(x => x.ExternalId == request.SystemExternalId);
            var ev = new Event
            {
                System = system
            };

            ev.SetName($"Category '{request.Name}' was added!");
            ev.SetTimestamp(DateTime.UtcNow);
            ev.SetType(EventType.EditionAdded);

            _logger.LogEvent($"Category '{request.Name}' was added!", ev);
        }
Example #7
0
        public async Task <IActionResult> UpdateCategory([FromBody] AddCategoryRequestDto category)
        {
            var verifyResult = VerifyCategory(category);

            if (verifyResult.Code != ErrorCode.Success)
            {
                return(verifyResult);
            }
            ;

            if (string.IsNullOrEmpty(category.CategoryGuid) ||
                string.IsNullOrEmpty(category.HospitalGuid))
            {
                return(Failed(ErrorCode.Empty, "参数不正确"));
            }

            var categoryBiz = new MealCategoryBiz();

            var model = await categoryBiz.GetCategoryModelById(category.HospitalGuid, category.CategoryGuid);

            if (model is null)
            {
                return(Failed(ErrorCode.Empty, $"餐别“{category.CategoryName}”不存在"));
            }

            var exsitName = await categoryBiz.ExistCategoryName(category.HospitalGuid, category.CategoryName.Trim(), category.CategoryGuid);

            if (exsitName)
            {
                return(Failed(ErrorCode.Empty, $"餐别“{category.CategoryName}”已存在,请修改"));
            }

            model.CategoryAdvanceDay   = category.CategoryAdvanceDay;
            model.CategoryName         = category.CategoryName;
            model.CategoryScheduleTime = category.CategoryScheduleTime;
            model.LastUpdatedBy        = UserID;
            model.LastUpdatedDate      = DateTime.Now;
            model.MealStartTime        = category.MealStartTime;
            model.MealEndTime          = category.MealEndTime;

            var result = await categoryBiz.UpdateCategory(model);

            return(result > 0 ? Success() : Failed(ErrorCode.DataBaseError, "餐别更新失败!"));
        }
Example #8
0
        public async Task <IActionResult> CreateCategoryAsync(
            [FromBody] AddCategoryRequestDto addCategoryRequestDto,
            CancellationToken token = default)
        {
            try
            {
                var validationResult = await _addCategoryRequestValidator.ValidateAsync(addCategoryRequestDto, token);

                if (!validationResult.IsValid)
                {
                    return(new BadRequestObjectResult(validationResult.Errors.ToValidationErrors()));
                }
                var categoryServiceObject = Mapper.Map <CategoryServiceObject>(addCategoryRequestDto);
                var serviceResult         = await _categoryService.CreateCategoryAsync(categoryServiceObject, token);

                return(new CreatedResult(string.Empty, Mapper.Map <AddCategoryResponseDto>(serviceResult)));
            }
            catch (BadRequestException e)
            {
                return(new BadRequestObjectResult(e.Error));
            }
        }
 public virtual void AddCategory(AddCategoryRequestDto request)
 {
     _inner.AddCategory(request);
 }