コード例 #1
0
        public JsonResult GetStudentPaymentDetails(Models.TransactionViewModel trDetails)
        {
            string dueDate = string.Empty;
            StatusDTO <TransactionMasterDTO> status = _trMaster.Select(trDetails.TransactionMasterId);

            if (status.IsSuccess)
            {
                StatusDTO <StudentDTO>    studStatus = _studentSvc.GetStudentTransactionInfo(trDetails.StudentInfoId);
                TransactionRuleDTO        rule       = null;
                List <TransactionRuleDTO> rules      = null;
                string isDiffTo = status.ReturnObj.IsDiffTo.ToUpper();
                switch (isDiffTo)
                {
                case "NONE":
                    rules = _trRule.GetNoneLevelRules(trDetails.TransactionMasterId);
                    if (rules != null && rules.Count > 0)
                    {
                        rule = rules[0];
                    }
                    break;

                case "USER":
                    rules = _trRule.GetUserLevelRules(trDetails.TransactionMasterId, studStatus.ReturnObj.UserDetails.UserMasterId);
                    if (rules != null && rules.Count > 0)
                    {
                        rule = rules[0];
                    }
                    break;

                case "STANDARD":
                    rules = _trRule.GetStandardLevelRules(trDetails.TransactionMasterId, studStatus.ReturnObj.StandardSectionMap.Standard.StandardId);
                    if (rules != null && rules.Count > 0)
                    {
                        rule = rules[0];
                    }
                    break;

                case "SECTION":
                    rules = _trRule.GetStandardSectionLevelRules(trDetails.TransactionMasterId, studStatus.ReturnObj.StandardSectionMap.Standard.StandardId, studStatus.ReturnObj.StandardSectionMap.Section.SectionId);
                    if (rules != null && rules.Count > 0)
                    {
                        rule = rules[0];
                    }
                    break;

                case "CLASS-TYPE":
                    rules = _trRule.GetClassTypeLevelRules(trDetails.TransactionMasterId, studStatus.ReturnObj.StandardSectionMap.Standard.ClassType.ClassTypeId);
                    if (rules != null && rules.Count > 0)
                    {
                        rule = rules[0];
                    }
                    break;
                }
                List <UserTransactionDTO> uTrans = _uTranSvc.GetUserTransactions(trDetails.TransactionMasterId, studStatus.ReturnObj.UserDetails.UserMasterId);
                if (uTrans != null && uTrans.Count > 0 && rule != null)
                {
                    if (string.Equals(uTrans[0].GraceAmountIn, "ACTUAL", StringComparison.OrdinalIgnoreCase))
                    {
                        rule.ActualAmount = rule.ActualAmount - uTrans[0].GraceAmount;
                    }
                    if (string.Equals(uTrans[0].GraceAmountIn, "PERCENT", StringComparison.OrdinalIgnoreCase))
                    {
                        rule.ActualAmount = rule.ActualAmount - ((uTrans[0].GraceAmount * rule.ActualAmount) / 100);
                    }
                }
                if (rule != null)
                {
                    int?dueAfterDays = _trRule.GetFirstDueAfterDays(rule.TranRuleId);
                    if (dueAfterDays.HasValue)
                    {
                        DateTime dtValid = new DateTime();
                        if (DateTime.TryParse(trDetails.TransactionDateString, out dtValid))
                        {
                            dueDate = dtValid.AddDays(dueAfterDays.Value).ToString("dd-MMM-yyyy");
                        }
                        else
                        {
                            dueDate = DateTime.Today.AddDays(dueAfterDays.Value).ToString("dd-MMM-yyyy");
                        }
                    }
                }
                return(Json(new { status = true, message = "", ruleData = rule, tranMasterData = status.ReturnObj, dueDateString = dueDate }));
            }

            return(Json(new { status = false, message = "Failed to fetch data", ruleData = new TransactionRuleDTO(), tranMasterData = new TransactionMasterDTO(), dueDateString = dueDate }));
        }
コード例 #2
0
        private void AddSearchResult(ref TransactionRuleVM tranRule)
        {
            List <TransactionRuleDTO> searchResult = null;

            if (tranRule.TranMaster != null)
            {
                switch (tranRule.IsdifferentTo.ToUpper())
                {
                case "NONE":
                    if (tranRule.TranMaster.TranMasterId > 0)
                    {
                        searchResult = _trRule.GetNoneLevelRules(tranRule.TranMaster.TranMasterId);
                    }
                    else
                    {
                        searchResult = _trRule.GetNoneLevelRules();
                    }
                    break;

                case "CLASS-TYPE":
                    if (tranRule.ClassType != null && tranRule.ClassType.ClassTypeId > 0)
                    {
                        searchResult = _trRule.GetClassTypeLevelRules(tranRule.TranMaster.TranMasterId, tranRule.ClassType.ClassTypeId);
                    }
                    else
                    {
                        searchResult = _trRule.GetClassTypeLevelRules(tranRule.TranMaster.TranMasterId);
                    }
                    break;

                case "STANDARD":
                    if (tranRule.Standard != null && tranRule.Standard.StandardId > 0)
                    {
                        searchResult = _trRule.GetStandardLevelRules(tranRule.TranMaster.TranMasterId, tranRule.Standard.StandardId);
                    }
                    else
                    {
                        searchResult = _trRule.GetStandardLevelRules(tranRule.TranMaster.TranMasterId);
                    }
                    break;

                case "SECTION":
                    if (tranRule.Section != null && tranRule.Section.SectionId > 0)
                    {
                        searchResult = _trRule.GetStandardSectionLevelRules(tranRule.TranMaster.TranMasterId, tranRule.Standard.StandardId, tranRule.Section.SectionId);
                    }
                    else
                    {
                        searchResult = _trRule.GetStandardSectionLevelRules(tranRule.TranMaster.TranMasterId, tranRule.Standard.StandardId);
                    }
                    break;

                case "USER":
                    searchResult = _trRule.GetUserLevelRules(tranRule.TranMaster.TranMasterId, tranRule.UserDTO.UserMasterId);
                    break;
                }
                if (searchResult != null && searchResult.Count > 0)
                {
                    tranRule.SearchedResult = new List <TransactionRuleVM>();
                    TransactionRuleVM item = null;
                    foreach (TransactionRuleDTO trDto in searchResult)
                    {
                        item              = new TransactionRuleVM();
                        item.TranRuleId   = trDto.TranRuleId;
                        item.TranMaster   = trDto.TranMaster;
                        item.RuleName     = trDto.RuleName;
                        item.ClassType    = trDto.ClassType;
                        item.UserDTO      = trDto.UserDTO;
                        item.Standard     = trDto.Standard;
                        item.Section      = trDto.Section;
                        item.ActualAmount = trDto.ActualAmount;
                        tranRule.SearchedResult.Add(item);
                    }
                }
            }
        }