Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
            }
        }
Exemple #10
0
 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));
        }