public ValidationData ValidateCreateDefectType(ClaimsPrincipal principal, CreateDefectTypeModel model) { var validationData = new ValidationData(); if (string.IsNullOrWhiteSpace(model.Code)) { validationData.Fail("Defect code must not be null", Constants.AppResultCode.FailValidation); } else if (DefectTypes.Exists(model.Code)) { validationData.Fail("Defect code existed", Constants.AppResultCode.FailValidation); } if (string.IsNullOrWhiteSpace(model.QCMappingCode)) { validationData.Fail("QC Defect code must not be null", Constants.AppResultCode.FailValidation); } else if (DefectTypes.ExistsQCMappingCode(model.QCMappingCode)) { validationData.Fail("QC Defect code existed", Constants.AppResultCode.FailValidation); } if (string.IsNullOrWhiteSpace(model.Name)) { validationData.Fail("Name must not be null", Constants.AppResultCode.FailValidation); } return(validationData); }
public DefectType CreateDefectType(CreateDefectTypeModel model) { var entity = model.ToDest(); PrepareCreate(entity); return(context.DefectType.Add(entity).Entity); }
public IActionResult Create(CreateDefectTypeModel model) { var validationData = _service.ValidateCreateDefectType(User, model); if (!validationData.IsValid) { return(BadRequest(AppResult.FailValidation(data: validationData))); } var entity = _service.CreateDefectType(model); context.SaveChanges(); // must be in transaction var ev = _ev_service.CreateDefectType(entity, User); context.SaveChanges(); return(Created($"/{Business.Constants.ApiEndpoint.RESOURCE_API}?id={entity.Id}", AppResult.Success(entity.Id))); }