public FeeCycleSingleModel MapFeeCycleToFeeCycleSingleModel(FeeCycle feeCycle) { FeeCycleSingleModel feeCycleSingle = new FeeCycleSingleModel(); feeCycleSingle.Id = feeCycle.Id; feeCycleSingle.Name = feeCycle.Name; feeCycleSingle.StartDate = feeCycle.StartDate; feeCycleSingle.EndDate = feeCycle.EndDate; feeCycleSingle.IdString = feeCycle.Id.ToString(); feeCycleSingle.CreatedAt = feeCycle.CreatedAt; feeCycleSingle.LastDueDate = feeCycle.LastDueDate; feeCycleSingle.LateFee = feeCycle.LateFee; feeCycleSingle.SessionId = feeCycle.SessionId; return(feeCycleSingle); }
public async Task <IActionResult> GetSessionName(string sessionId) { try { var school = await _schoolService.GetSchoolById(GetMySchoolId().ToString()); if (school == null) { return(BadRequest("School not valid")); } CalculateFeeModel model = new CalculateFeeModel(); var sessionToUse = school.GetActiveSession(); if (sessionId.HasSomething()) { sessionToUse = school.Sessions.FirstOrDefault(x => x.Id == sessionId.AsObjectId()); } model.SessionDict = school.Sessions.ToDictionary(x => x.Id.ToString(), x => x.Name); model.SessionId = sessionToUse.Id.ToString(); var feeCycles = school.FeeCycles; model.FeeCycles = feeCycles.Where(x => x.SessionId == sessionToUse.Id) .OrderByDescending(x => x.CreatedAt) .ThenBy(x => x.StartDate) .Select(_mapperService.MapFeeCycleToFeeCycleSingleModel) .ToList(); model.SessionId = sessionToUse.Id.ToString(); if (model.FeeCycles.Any()) { var feeCycleSingleModel = model.FeeCycles.FirstOrDefault(); if (feeCycleSingleModel != null) { var selectedId = sessionId ?? feeCycleSingleModel.Id.ToString(); var cycle = school.FeeCycles.FirstOrDefault(x => x.SessionId == selectedId.AsObjectId()); model.FeeCycle = _mapperService.MapFeeCycleToFeeCycleSingleModel(cycle); if (model.FeeCycle != null) { model.FeeCycle.IdString = model.FeeCycle.Id.ToString(); } } if (model.FeeCycle != null) { model.FeeCycleId = model.FeeCycle.Id.ToString(); } } model.SchoolId = Constants.TestingSchool_Id.ToString(); var schoolId = Constants.TestingSchool_Id; var allClassesForSchool = await _schoolClassService.Get( x => x.SessionId == model.FeeCycle.SessionId && x.DeactivateDate == null && x.SchoolId == schoolId.AsObjectId()); var classDict = allClassesForSchool.OrderBy(x => x.Name) .ToDictionary(x => x.Id.ToString(), x => x.Name); model.ClassDict.Add("All", "All"); classDict.ToList().ForEach(x => model.ClassDict[x.Key] = x.Value); var now = DateTime.Now; var stdate = new DateTime(now.Year, now.Month, 1); var endDate = stdate.AddMonths(1).AddDays(-1); var dtModel = new FeeCycleSingleModel { StartDate = stdate, EndDate = endDate }; // model.FeeCycleForPopup = dtModel; model.FeeCycles = model.FeeCycles.OrderBy(x => x.StartDate); return(Ok(model)); } catch (Exception ex) { throw ex; } }