public async Task <IActionResult> CreateUpdateClass(AddClassRequest addClassRequest) { string actionBy = User.Identity.Name; _mainResponse = await _classService.CreateUpdateClass(addClassRequest, actionBy); _jsonString = Mapper.Convert <BaseResponse>(_mainResponse); return(new OkObjectResult(_jsonString)); }
public Class AddClass(AddClassRequest request) { Class item = null; if (request != null && request.Class != null) { var dataAccess = new ClassDataAccess(request.Context); item = dataAccess.Add(request.Class); } return(item); }
public void DeleteSplitsByClassId(AddClassRequest addClassRequest) { var split = _context.ClassSplits.Where(x => x.ClassId == addClassRequest.ClassId).ToList(); foreach (var item in split) { if (split != null && split.Count() > 0) { _context.ClassSplits.Remove(item); _context.SaveChanges(); } } }
public Class AddClass([FromBody] Class item) { if (item != null) { var business = ClassBusiness.Instance; var request = new AddClassRequest(this.Context); request.Class = item; item = business.AddClass(request); } return(item); }
public async Task <ClassResponse> AddClassAsync(AddClassRequest request) { if (request == null) { throw new ArgumentNullException($"Request is null"); } var newClass = _classMapper.Map(request); var result = _classRepository.Create(newClass); await _classRepository.UnitOfWork.SaveChangesAsync(); return(_classMapper.Map(result)); }
public async Task addClass_should_add_correct_entity() { var _class = new AddClassRequest() { Name = "C5", TeacherId = 1 }; var addedClass = await _sut.AddClassAsync(_class); addedClass.ShouldNotBeNull(); addedClass.Name.ShouldBe(_class.Name); // addedClass.TaughtBy.Id.ShouldBe(_class.TeacherId); }
public Class Map(AddClassRequest request) { if (request == null) { return(null); } var _class = new Class { Name = request.Name, TeacherId = request.TeacherId }; return(_class); }
public async Task add_should_create_new_record() { var request = new AddClassRequest() { Name = "new class", TeacherId = 1 }; var client = _factory.CreateClient(); var httpsContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); var response = await client.PostAsync($"/api/classes", httpsContent); response.EnsureSuccessStatusCode(); response.Headers.Location.ShouldNotBeNull(); }
public async Task <MainResponse> CreateUpdateClass(AddClassRequest addClassRequest, string actionBy) { if (addClassRequest.ClassId == 0) { var classNumber = _classRepository.GetSingle(x => x.ClassNumber == addClassRequest.ClassNumber && x.IsActive == true && x.IsDeleted == false); if (classNumber != null && classNumber.ClassId > 0) { _mainResponse.Message = Constants.CLASS_NUMBER_EXIST; _mainResponse.Success = false; return(_mainResponse); } var classExist = _classRepository.GetSingle(x => x.Name == addClassRequest.Name && x.AgeGroup == addClassRequest.AgeGroup && x.IsActive == true && x.IsDeleted == false); if (classExist != null && classExist.ClassId > 0) { _mainResponse.Message = Constants.CLASS_EXIST; _mainResponse.Success = false; return(_mainResponse); } var classes = new Classes { ClassNumber = addClassRequest.ClassNumber, ClassHeaderId = addClassRequest.ClassHeaderId, Name = addClassRequest.Name, Location = addClassRequest.Location, AgeGroup = addClassRequest.AgeGroup, IsActive = true, CreatedBy = actionBy, CreatedDate = DateTime.Now }; var _class = await _classRepository.AddAsync(classes); var schedule = new ScheduleDates { ClassId = _class.ClassId, Date = addClassRequest.ScheduleDate, Time = addClassRequest.ScheduleTime, IsActive = true, CreatedBy = actionBy, CreatedDate = DateTime.Now, }; await _scheduleDateRepository.AddAsync(schedule); if (addClassRequest.getClassSplit != null) { foreach (var split in addClassRequest.getClassSplit) { var classSplit = new ClassSplits { ClassId = _class.ClassId, SplitNumber = addClassRequest.SplitNumber, ChampionShipIndicator = addClassRequest.ChampionShipIndicator, Entries = split.Entries, IsActive = true, CreatedBy = actionBy, CreatedDate = DateTime.Now, }; await _splitClassRepository.AddAsync(classSplit); } } _mainResponse.Message = Constants.CLASS_CREATED; _mainResponse.Success = true; _mainResponse.NewId = _class.ClassId; return(_mainResponse); } else { var checkNumber = _classRepository.GetSingle(x => x.ClassId == addClassRequest.ClassId && x.ClassNumber == addClassRequest.ClassNumber && x.IsActive == true && x.IsDeleted == false); if (checkNumber == null) { var classNumber = _classRepository.GetSingle(x => x.ClassNumber == addClassRequest.ClassNumber && x.IsActive == true && x.IsDeleted == false); if (classNumber != null && classNumber.ClassId > 0) { _mainResponse.Message = Constants.CLASS_NUMBER_EXIST; _mainResponse.Success = false; return(_mainResponse); } } var checkName = _classRepository.GetSingle(x => x.Name == addClassRequest.Name && x.AgeGroup == addClassRequest.AgeGroup && x.ClassId == addClassRequest.ClassId && x.IsActive == true && x.IsDeleted == false); if (checkName == null) { var classExist = _classRepository.GetSingle(x => x.Name == addClassRequest.Name && x.AgeGroup == addClassRequest.AgeGroup && x.IsActive == true && x.IsDeleted == false); if (classExist != null && classExist.ClassId > 0) { _mainResponse.Message = Constants.CLASS_EXIST; _mainResponse.Success = false; return(_mainResponse); } } var updateClass = _classRepository.GetSingle(x => x.ClassId == addClassRequest.ClassId && x.IsActive == true && x.IsDeleted == false); if (updateClass != null) { updateClass.ClassNumber = addClassRequest.ClassNumber; updateClass.ClassHeaderId = addClassRequest.ClassHeaderId; updateClass.Name = addClassRequest.Name; updateClass.Location = addClassRequest.Location; updateClass.AgeGroup = addClassRequest.AgeGroup; updateClass.ModifiedBy = actionBy; updateClass.ModifiedDate = DateTime.Now; await _classRepository.UpdateAsync(updateClass); } var updateClassSchedule = _scheduleDateRepository.GetSingle(x => x.ClassId == addClassRequest.ClassId && x.IsActive == true && x.IsDeleted == false); if (updateClassSchedule != null) { updateClassSchedule.Date = addClassRequest.ScheduleDate; updateClassSchedule.Time = addClassRequest.ScheduleTime; updateClassSchedule.ModifiedBy = actionBy; updateClassSchedule.ModifiedDate = DateTime.Now; await _scheduleDateRepository.UpdateAsync(updateClassSchedule); } if (addClassRequest.getClassSplit != null) { _splitClassRepository.DeleteSplitsByClassId(addClassRequest); foreach (var split in addClassRequest.getClassSplit) { var classSplit = new ClassSplits { ClassId = addClassRequest.ClassId, SplitNumber = addClassRequest.SplitNumber, ChampionShipIndicator = addClassRequest.ChampionShipIndicator, Entries = split.Entries, IsActive = true, CreatedBy = actionBy, CreatedDate = DateTime.Now }; await _splitClassRepository.AddAsync(classSplit); } ; } _mainResponse.Message = Constants.CLASS_UPDATED; _mainResponse.Success = true; _mainResponse.NewId = addClassRequest.ClassId; return(_mainResponse); } }
public bool AddClass(AddClassRequest request) { return(_classService.AddClass(request.ClassName)); }
public async Task <IActionResult> Post(AddClassRequest classRequest) { var result = await _classService.AddClassAsync(classRequest); return(CreatedAtAction(nameof(GetById), new { id = result.Id }, null)); }