Exemple #1
0
        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)
                });
            }
        }
Exemple #2
0
        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)
                });
            }
        }
Exemple #3
0
        public async Task <IActionResult> Update(Guid id, [FromBody] ScientificWorkManageModel scientificWorkManageModel)
        {
            var response = await _scientificWorkService.UpdateScientificWorkAsync(id, scientificWorkManageModel);

            return(new CustomActionResult(response));
        }
Exemple #4
0
        public async Task <IActionResult> Create([FromBody] ScientificWorkManageModel scientificWorkManagerModel)
        {
            var response = await _scientificWorkService.CreateScientificWorkAsync(scientificWorkManagerModel);

            return(new CustomActionResult(response));
        }