public async Task <IActionResult> CreateModule([FromBody] SaveModuleResource moduleResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var module = mapper.Map <SaveModuleResource, Module>(moduleResource); var existName = await repository.ModuleNameExist(module); var existCode = await repository.ModuleCodeExist(module); if (existName != null && existCode != null) { return(Conflict("Module name and code already exist.")); } else if (existName != null) { return(Conflict("Module name already exists.")); } else if (existCode != null) { return(Conflict("Module code already exists.")); } repository.Add(module); await unitOfWork.CompleteAsync(); module = await repository.GetModule(module.Id); var result = mapper.Map <Module, ModuleResource>(module); return(Ok(result)); }
public async Task <IActionResult> UpdateModule(int id, [FromBody] SaveModuleResource moduleResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var module = await repository.GetModule(id); if (module == null) { return(NotFound()); } module = mapper.Map <SaveModuleResource, Module>(moduleResource, module); var exist = await repository.EditModuleExist(module); if (exist != null) { return(Conflict("Module details already exist.")); } await unitOfWork.CompleteAsync(); module = await repository.GetModule(module.Id); var result = mapper.Map <Module, ModuleResource>(module); return(Ok(result)); }