public string SaveFeeRefund(FeeRefund Obj) { DALFee dal = new DALFee(ConStr); return(dal.SaveFeeRefund(Obj)); }
public DataTable GetFeeRefundList(FeeRefund Obj) { DALFee dal = new DALFee(ConStr); return(dal.GetFeeRefundList(Obj)); }
/// <summary> /// Method to add fee refund - SS /// </summary> /// <param name="addFeeRefund">fee refund</param> /// <param name="loggedInUser">logged in user</param> /// <returns>response</returns> public async Task <FeeRefundManagementResponse> AddFeeRefundAsync(AddFeeRefundManagementAc addFeeRefund, ApplicationUser loggedInUser) { await semaphore.WaitAsync(); try { var instituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(loggedInUser.Id, true); if (!await _iMSDbContext.StudentBasicInformation.AnyAsync(x => x.Id == addFeeRefund.StudentId && x.InstituteId == instituteId)) { return new FeeRefundManagementResponse() { HasError = true, Message = "Student not found", ErrorType = FeeRefundManagementErrorType.StudentId } } ; else if (!await _iMSDbContext.UserInstituteMappings.AnyAsync(x => x.InstituteId == instituteId && x.UserId == addFeeRefund.IssuedById)) { return new FeeRefundManagementResponse() { HasError = true, Message = "Issued-by user not found", ErrorType = FeeRefundManagementErrorType.IssuedById } } ; else { if (string.IsNullOrEmpty(addFeeRefund.RefundNumber.Trim())) { return new FeeRefundManagementResponse() { HasError = true, Message = "Refund number can't be empty", ErrorType = FeeRefundManagementErrorType.RefundNumber } } ; else if (string.IsNullOrEmpty(addFeeRefund.ChallanNumber.Trim())) { return new FeeRefundManagementResponse() { HasError = true, Message = "Challan number can't be empty", ErrorType = FeeRefundManagementErrorType.ChallanNumber } } ; else if (string.IsNullOrEmpty(addFeeRefund.ChequeNumber.Trim())) { return new FeeRefundManagementResponse() { HasError = true, Message = "Cheque number can't be empty", ErrorType = FeeRefundManagementErrorType.ChequeNumber } } ; else if (string.IsNullOrEmpty(addFeeRefund.BankName.Trim())) { return new FeeRefundManagementResponse() { HasError = true, Message = "Bank name can't be empty", ErrorType = FeeRefundManagementErrorType.BankName } } ; else if (double.IsNaN(addFeeRefund.Amount)) { return new FeeRefundManagementResponse() { HasError = true, Message = "Amount number can't be empty and should be number", ErrorType = FeeRefundManagementErrorType.Amount } } ; else { if (await _iMSDbContext.FeeRefunds.AnyAsync(x => x.RefundNumber.ToLowerInvariant() == addFeeRefund.RefundNumber.ToLowerInvariant())) { var autoSequence = await _iMSDbContext.AutoSequenceGenerators.Include(s => s.AutoSequenceGeneratorDataTypes) .Include(d => d.Institute).FirstOrDefaultAsync(x => x.InstituteId == instituteId && x.AutoSequenceGeneratorType == AutoSequenceGeneratorTypeEnum.RefundNumber); if (autoSequence == null) { return new FeeRefundManagementResponse() { Message = "Refund number already exist. Please use unique id", HasError = true, ErrorType = FeeRefundManagementErrorType.RefundNumber } } ; else { addFeeRefund.RefundNumber = await GenerateRefundNumberAsync(autoSequence); } } var refund = new FeeRefund() { Amount = addFeeRefund.Amount, BankName = addFeeRefund.BankName, ChallanNumber = addFeeRefund.ChallanNumber, ChequeDate = addFeeRefund.ChequeDate, ChequeNumber = addFeeRefund.ChequeNumber, CreatedOn = DateTime.UtcNow, IssuedById = addFeeRefund.IssuedById, RefundDate = addFeeRefund.RefundDate, RefundNumber = addFeeRefund.RefundNumber, Remark = addFeeRefund.Remark, StudentId = addFeeRefund.StudentId, UpdatedById = loggedInUser.Id, UpdatedOn = DateTime.UtcNow }; _iMSDbContext.FeeRefunds.Add(refund); await _iMSDbContext.SaveChangesAsync(); return(new FeeRefundManagementResponse() { HasError = false, Message = "Fee refund detail added successfully" }); } } } finally { semaphore.Release(); } }