コード例 #1
0
        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);
        }
コード例 #2
0
        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;
            }
        }