public ValidationData ValidateCreateQCEvent(ClaimsPrincipal principal, CreateQCEventModel model) { var validationData = new ValidationData(); if (model.Details != null) { foreach (var d in model.Details) { if (!Data.Constants.DefectTypeCode.ALL.Contains(d.DefectTypeCode)) { validationData = validationData.Fail("Invalid defect type", code: Constants.AppResultCode.FailValidation); } } } DateTime createdTime; if (!DateTime.TryParseExact( model.CreatedTimeStr, model.DateFormat, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out createdTime)) { validationData = validationData.Fail("Invalid datetime", code: Constants.AppResultCode.FailValidation); } else { validationData.TempData[nameof(createdTime)] = createdTime; } return(validationData); }
public QCEvent CreateQCEvent(CreateQCEventModel model, DateTime createdTime) { var entity = model.ToDest(); entity.CreatedTime = createdTime; entity.SideImages = model.SideImages == null ? null : JsonConvert.SerializeObject(model.SideImages); PrepareCreate(entity); return(context.QCEvent.Add(entity).Entity); }
public IActionResult Create(CreateQCEventModel model) { var validationData = _service.ValidateCreateQCEvent(User, model); if (!validationData.IsValid) { return(BadRequest(AppResult.FailValidation(data: validationData))); } DateTime createdTime; createdTime = validationData.GetTempData <DateTime>(nameof(createdTime)); var entity = _service.CreateQCEvent(model, createdTime); context.SaveChanges(); if (Startup.KafkaProducer != null) { _service.ProduceEventToKafkaServer(Startup.KafkaProducer, entity, Startup.CurrentConfig, Settings.Instance.QCEventImageFolderPath, Constants.Paths.STATE_PATH); } return(Created($"/{Business.Constants.ApiEndpoint.RESOURCE_API}?id={entity.Id}", AppResult.Success(entity.Id))); }