public async Task Create(ModuleCreateDto input) { var module = await _repository.FirstOrDefaultAsync(x => x.ModuleCode == input.ModuleCode); if (module != null) { throw new UserFriendlyException(string.Format(L("DuplicateModuleCode"), input.ModuleCode)); } var mapped = input.MapTo<ModuleEntity>(); mapped.Id = Guid.NewGuid(); await _repository.InsertAsync(mapped); }
public async Task Create(ModuleCreateDto input) { var module = await _repository.FirstOrDefaultAsync(x => x.ModuleCode == input.ModuleCode); if (module != null) { throw new UserFriendlyException(string.Format(L("DuplicateModuleCode"), input.ModuleCode)); } var mapped = input.MapTo <ModuleEntity>(); mapped.Id = Guid.NewGuid(); await _repository.InsertAsync(mapped); }
public async Task <IActionResult> CreateModule([FromBody] ModuleCreateDto module) { try { if (module == null) { return(BadRequest("Module object is null")); } if (!ModelState.IsValid) { return(BadRequest("Invalid module object")); } // incoming dto --> model var moduleEntity = _mapper.Map <ModuleModel>(module); _repository.Module.CreateModule(moduleEntity); await _repository.Save(); // created entity --> outgoing dto var createdModule = _mapper.Map <ModuleDto>(moduleEntity); if (createdModule.CompanyName == null) { var company = await _repository.Company.GetCompanyById(new Guid(createdModule.CompanyId)); createdModule.CompanyName = company.CompanyName; } return(Ok(createdModule)); } catch (Exception) { return(StatusCode(500, "Something went wrong")); } }