public async Task <ResponseModel> UpdateScientificWorkAsync(Guid id, ScientificWorkManageModel scientificWorkManageModel) { var scientificWork = await GetAll().FirstOrDefaultAsync(x => x.Id == id); if (scientificWork == null) { return(new ResponseModel() { StatusCode = System.Net.HttpStatusCode.NotFound, Message = "This ScientificWork is not exist. Please try again!" }); } else { await _lecturerInScientificWorkRepository.DeleteAsync(scientificWork.LecturerInScientificWorks); var lecturerInScientificWorks = new List <LecturerInScientificWork>(); foreach (var lecturerId in scientificWorkManageModel.LecturerIds) { lecturerInScientificWorks.Add(new LecturerInScientificWork() { ScientificWorkId = scientificWork.Id, LecturerId = lecturerId }); } _lecturerInScientificWorkRepository.GetDbContext().LecturerInScientificWorks.AddRange(lecturerInScientificWorks); await _lecturerInScientificWorkRepository.GetDbContext().SaveChangesAsync(); scientificWorkManageModel.GetScientificWorkFromModel(scientificWork); await _scientificWorkResponstory.UpdateAsync(scientificWork); scientificWork = await GetAll().FirstOrDefaultAsync(x => x.Id == id); return(new ResponseModel { StatusCode = System.Net.HttpStatusCode.OK, Data = new ScientificWorkViewModel(scientificWork) }); } }
public async Task <ResponseModel> CreateScientificWorkAsync(ScientificWorkManageModel scientificWorkManageModel) { var scientificWork = await _scientificWorkResponstory.FetchFirstAsync(x => x.Name == scientificWorkManageModel.Name && x.LevelId == scientificWorkManageModel.LevelId); if (scientificWork != null) { return(new ResponseModel() { StatusCode = System.Net.HttpStatusCode.BadRequest, Message = "This ScientificWork is exist. Can you try again with the update!" }); } else { scientificWork = _mapper.Map <ScientificWork>(scientificWorkManageModel); var level = await _levelRepository.GetByIdAsync(scientificWorkManageModel.LevelId); scientificWork.Level = level; await _scientificWorkResponstory.InsertAsync(scientificWork); var lecturerInScientificWorks = new List <LecturerInScientificWork>(); foreach (var lecturerId in scientificWorkManageModel.LecturerIds) { lecturerInScientificWorks.Add(new LecturerInScientificWork() { ScientificWorkId = scientificWork.Id, LecturerId = lecturerId }); } _lecturerInScientificWorkRepository.GetDbContext().LecturerInScientificWorks.AddRange(lecturerInScientificWorks); await _lecturerInScientificWorkRepository.GetDbContext().SaveChangesAsync(); return(new ResponseModel() { StatusCode = System.Net.HttpStatusCode.OK, Data = new ScientificWorkViewModel(scientificWork) }); } }
public async Task <IActionResult> Update(Guid id, [FromBody] ScientificWorkManageModel scientificWorkManageModel) { var response = await _scientificWorkService.UpdateScientificWorkAsync(id, scientificWorkManageModel); return(new CustomActionResult(response)); }
public async Task <IActionResult> Create([FromBody] ScientificWorkManageModel scientificWorkManagerModel) { var response = await _scientificWorkService.CreateScientificWorkAsync(scientificWorkManagerModel); return(new CustomActionResult(response)); }