/// <summary> /// Method to add institute class - SS /// </summary> /// <param name="addInstituteClass">class detail</param> /// <param name="instituteId">institute id</param> /// <returns>message</returns> public async Task <InstituteClassResponse> AddInstituteClassAsync(AddInstituteClassManagementAc addInstituteClass, int instituteId) { if (!await _iMSDbContext.InstituteClasses.AnyAsync(x => x.InstituteId == instituteId && x.GroupCode.ToLowerInvariant() == addInstituteClass.GroupCode.ToLowerInvariant())) { if (!await _iMSDbContext.StaffBasicPersonalInformation.AnyAsync(x => x.Id == addInstituteClass.ClassTeacherId && x.InstituteId == instituteId)) { return new InstituteClassResponse() { HasError = true, Message = "Staff teacher not found", ErrorType = InstituteClassResponseType.ClassTeacherId } } ; else { var instituteClass = new InstituteClass() { ClassOrder = addInstituteClass.ClassOrder, CreatedOn = DateTime.UtcNow, Duration = addInstituteClass.Duration, DurationUnit = addInstituteClass.DurationUnit, GroupCode = addInstituteClass.GroupCode, InstituteId = instituteId, IsGroup = addInstituteClass.IsGroup, Name = addInstituteClass.Name, NumberOfFeeTerms = addInstituteClass.NumberOfFeeTerms, ClassTeacherId = addInstituteClass.ClassTeacherId }; _iMSDbContext.InstituteClasses.Add(instituteClass); await _iMSDbContext.SaveChangesAsync(); return(new InstituteClassResponse() { HasError = false, Message = "Class added successfully" }); } } else { return new InstituteClassResponse() { HasError = true, Message = "Group code already exist", ErrorType = InstituteClassResponseType.GroupCode } }; }
public async Task <IActionResult> AddInstituteClassAsync([FromBody] AddInstituteClassManagementAc addInstituteClassManagement) { if (string.IsNullOrEmpty(addInstituteClassManagement.Name.Trim())) { return(Ok(new InstituteClassResponse { ErrorType = InstituteClassResponseType.Name, HasError = true, Message = "Class name can't be null or empty" })); } else if (string.IsNullOrEmpty(addInstituteClassManagement.GroupCode.Trim())) { return(Ok(new InstituteClassResponse { ErrorType = InstituteClassResponseType.GroupCode, HasError = true, Message = "Group code name can't be null or empty" })); } else if (addInstituteClassManagement.Duration < 0) { return(Ok(new InstituteClassResponse { ErrorType = InstituteClassResponseType.Duration, HasError = true, Message = "Duration value must be greater then zero" })); } else if (addInstituteClassManagement.ClassOrder < 0) { return(Ok(new InstituteClassResponse { ErrorType = InstituteClassResponseType.ClassOrder, HasError = true, Message = "Class order value must be greater then zero" })); } else if (addInstituteClassManagement.NumberOfFeeTerms < 0) { return(Ok(new InstituteClassResponse { ErrorType = InstituteClassResponseType.NumberOfFeeTerms, HasError = true, Message = "Number of fee terms value must be greater then zero" })); } else { var loggedInUserInstituteId = await GetUserCurrentSelectedInstituteIdAsync(); return(Ok(await _instituteClassManagementRepository.AddInstituteClassAsync(addInstituteClassManagement, loggedInUserInstituteId))); } }