/// <summary> /// Add Edit Payment Type StopLoss /// </summary> /// <param name="paymentTypeStopLoss"></param> /// <returns></returns> public long AddEditPaymentTypeStopLoss(PaymentTypeStopLoss paymentTypeStopLoss) { //Checks if input request is not null if (paymentTypeStopLoss != null) { // Initialize the Stored Procedure _cmd = _db.GetStoredProcCommand("AddEditStopLossPayment"); // Pass parameters to Stored Procedure(i.e., @ParamName), add values for _db.AddInParameter(_cmd, "@PaymentTypeDetailID", DbType.Int64, paymentTypeStopLoss.PaymentTypeDetailId); _db.AddInParameter(_cmd, "@Threshold ", DbType.String, paymentTypeStopLoss.Expression.ToUpper()); _db.AddInParameter(_cmd, "@Percentage ", DbType.Double, paymentTypeStopLoss.Percentage); _db.AddInParameter(_cmd, "@PaymentTypeID ", DbType.Int64, paymentTypeStopLoss.PaymentTypeId); _db.AddInParameter(_cmd, "@ContractID", DbType.Int64, paymentTypeStopLoss.ContractId); _db.AddInParameter(_cmd, "@ContractServiceTypeID", DbType.Int64, paymentTypeStopLoss.ServiceTypeId); _db.AddInParameter(_cmd, "@Days", DbType.String, paymentTypeStopLoss.Days); _db.AddInParameter(_cmd, "@RevCode", DbType.String, paymentTypeStopLoss.RevCode); _db.AddInParameter(_cmd, "@CPTCode", DbType.String, paymentTypeStopLoss.HcpcsCode); _db.AddInParameter(_cmd, "@StopLossConditionID", DbType.Int64, paymentTypeStopLoss.StopLossConditionId); _db.AddInParameter(_cmd, "@IsExcessCharge", DbType.Boolean, paymentTypeStopLoss.IsExcessCharge); _db.AddInParameter(_cmd, "@UserName", DbType.String, paymentTypeStopLoss.UserName); // Retrieve the results of the Stored Procedure in Data table return(long.Parse(_db.ExecuteScalar(_cmd).ToString())); } return(0); }
// // GET: /PaymentTypeStopLoss/ public ActionResult PaymentTypeStopLoss(long?contractId, long?serviceTypeId, int paymentTypeId, bool isEdit) { PaymentTypeStopLossViewModel modelPaymentTypeStopLossViewModel = new PaymentTypeStopLossViewModel(); if (isEdit) { PaymentTypeStopLoss paymentTypeStopLossForPost = new PaymentTypeStopLoss { ServiceTypeId = serviceTypeId, ContractId = contractId, PaymentTypeId = paymentTypeId, UserName = GetCurrentUserName() }; //Get the Name of User logged in PaymentTypeStopLoss paymentTypeStopLossViewModelInfo = PostApiResponse <PaymentTypeStopLoss>("PaymentTypeStopLoss", "GetPaymentTypeStopLoss", paymentTypeStopLossForPost); modelPaymentTypeStopLossViewModel = AutoMapper.Mapper.Map <PaymentTypeStopLoss, PaymentTypeStopLossViewModel>(paymentTypeStopLossViewModelInfo); } modelPaymentTypeStopLossViewModel.ContractId = contractId; modelPaymentTypeStopLossViewModel.ServiceTypeId = serviceTypeId; modelPaymentTypeStopLossViewModel.PaymentTypeId = paymentTypeId; modelPaymentTypeStopLossViewModel.IsEdit = isEdit; modelPaymentTypeStopLossViewModel.StopLossConditions = GetApiResponse <List <StopLossCondition> >("PaymentTypeStopLoss", "GetPaymentTypeStopLossConditions"); return(View(modelPaymentTypeStopLossViewModel)); }
/// <summary> /// updating stoploss details to payment result /// </summary> /// <param name="paymentResult">payment result</param> /// <param name="smartBox">user added variables</param> /// <param name="paymentTypeStopLoss">user added stop loss details</param> /// <param name="isThresholdFormulaError">if there are any threshold formula error</param> public static void UpdateStopLossDetails(PaymentResult paymentResult, SmartBox smartBox, PaymentTypeStopLoss paymentTypeStopLoss, bool isThresholdFormulaError) { paymentResult.IntermediateAdjudicatedValue = smartBox.CAA; paymentResult.ExpressionResult = paymentTypeStopLoss.Threshold; if (paymentTypeStopLoss.Expression != null) { paymentResult.IsFormulaError = paymentResult.IsFormulaError || isThresholdFormulaError; } paymentResult.Expression = string.Format("{0}{1}{2}", Constants.StartSquareBracket, paymentTypeStopLoss.Expression, Constants.EndSquareBracket); paymentResult.ExpandedExpression = paymentTypeStopLoss.ExpandedExpression; }
public JsonResult AddEditPaymentTypeStopLoss(PaymentTypeStopLossViewModel paymentTypeStopLossViewModel) { PaymentTypeStopLoss stopLossPaymentInfo = AutoMapper.Mapper.Map <PaymentTypeStopLossViewModel, PaymentTypeStopLoss>(paymentTypeStopLossViewModel); long stoplossId = 0; bool isValidated = Utilities.ValidateExpression(stopLossPaymentInfo.Expression, Constants.StopLossClaimValuePair); if (isValidated) { stopLossPaymentInfo.UserName = GetCurrentUserName(); stoplossId = PostApiResponse <long>(Constants.PaymentTypeStopLoss, Convert.ToString(Enums.Action.AddEditPaymentTypeStopLoss), stopLossPaymentInfo); } return(Json(new { success = isValidated, Id = stoplossId })); }
/// <summary> /// Get Payment Type StopLoss /// </summary> /// <param name="paymentTypeStopLoss"></param> /// <returns></returns> public PaymentTypeStopLoss GetPaymentTypeStopLoss(PaymentTypeStopLoss paymentTypeStopLoss) { // Initialize the Stored Procedure _cmd = _db.GetStoredProcCommand("GetServiceLinesandPaymentTypes"); // Pass parameters to Stored Procedure(i.e., @ParamName), add values for _db.AddInParameter(_cmd, "@PaymentTypeID ", DbType.Int64, paymentTypeStopLoss.PaymentTypeId); _db.AddInParameter(_cmd, "@ContractID", DbType.Int64, paymentTypeStopLoss.ContractId); _db.AddInParameter(_cmd, "@ContractServiceTypeID", DbType.Int64, paymentTypeStopLoss.ServiceTypeId); _db.AddInParameter(_cmd, "@ServiceLineTypeId", DbType.Int64, 0); _db.AddInParameter(_cmd, "@UserName", DbType.String, paymentTypeStopLoss.UserName); // Retrieve the results of the Stored Procedure in Data set DataSet paymentTypeStopLossDataSet = _db.ExecuteDataSet(_cmd); if (paymentTypeStopLossDataSet != null && paymentTypeStopLossDataSet.Tables.Count > 0) { //populating StopLoss data if (paymentTypeStopLossDataSet.Tables[0].Rows != null && paymentTypeStopLossDataSet.Tables[0] != null && paymentTypeStopLossDataSet.Tables[0].Rows.Count > 0) { PaymentTypeStopLoss paymentStopLoss = new PaymentTypeStopLoss { Expression = Convert.ToString(paymentTypeStopLossDataSet.Tables[0].Rows[0]["Threshold"]), Percentage = DBNull.Value == paymentTypeStopLossDataSet.Tables[0].Rows[0]["Percentage"] ? (double?)null : Convert.ToDouble(paymentTypeStopLossDataSet.Tables[0].Rows[0]["Percentage"]), PaymentTypeDetailId = Convert.ToInt64(paymentTypeStopLossDataSet.Tables[0].Rows[0]["PaymentTypeDetailID"]), Days = Convert.ToString(paymentTypeStopLossDataSet.Tables[0].Rows[0]["Days"]), RevCode = Convert.ToString(paymentTypeStopLossDataSet.Tables[0].Rows[0]["RevCode"]), HcpcsCode = Convert.ToString(paymentTypeStopLossDataSet.Tables[0].Rows[0]["CPTCode"]), StopLossConditionId = Convert.ToInt32(paymentTypeStopLossDataSet.Tables[0].Rows[0]["StopLossConditionID"]), IsExcessCharge = paymentTypeStopLossDataSet.Tables[0].Rows[0]["IsExcessCharge"] != DBNull.Value && Convert.ToBoolean(paymentTypeStopLossDataSet.Tables[0].Rows[0]["IsExcessCharge"]), }; return(paymentStopLoss); } } //returns response to Business layer return(null); }
/// <summary> /// Gets the type of the payment. /// </summary> /// <param name="contractId">The contract identifier.</param> /// <param name="contractServiceTypeId">The contract service type identifier.</param> /// <param name="dtData">The dt data.</param> /// <returns></returns> public static PaymentTypeStopLoss GetPaymentType(long?contractId, long?contractServiceTypeId, DataTable dtData) { PaymentTypeStopLoss paymentTypeStopLoss = null; if (dtData != null && dtData.Rows.Count > 0) { paymentTypeStopLoss = (from DataRow row in dtData.Rows where ((row["ContractId"] != DBNull.Value && Convert.ToInt64(row["ContractId"]) == contractId) || (row["contractServiceTypeId"] != DBNull.Value && Convert.ToInt64(row["contractServiceTypeId"]) == contractServiceTypeId)) select new PaymentTypeStopLoss { Percentage = Convert.ToDouble( row["Percentage"]), ContractId = DBNull.Value == row["ContractId"] ? (long?)null : Convert.ToInt64( row["ContractId"]), ServiceTypeId = DBNull.Value == row["ContractServiceTypeID"] ? (long?)null : Convert.ToInt64( row["ContractServiceTypeID"]), RevCode = Convert.ToString(row["RevCode"]).Replace(" ", ""), HcpcsCode = Convert.ToString(row["CPTCODE"]).Replace(" ", ""), Expression = Convert.ToString(row["Threshold"]), PaymentTypeDetailId = Convert.ToInt64(row["PaymentTypeDetailID"]), StopLossConditionId = Convert.ToInt32(row["StopLossConditionID"]), IsExcessCharge = Convert.ToBoolean(row["IsExcessCharge"]), Days = Convert.ToString(row["Days"]), PaymentTypeId = (byte)Enums.PaymentTypeCodes.StopLoss }).FirstOrDefault(); if (paymentTypeStopLoss != null) { List <ICondition> conditions = new List <ICondition>(); if (!string.IsNullOrEmpty(paymentTypeStopLoss.RevCode)) { ICondition conditionRevCode = new Condition { ConditionOperator = (byte)Enums.ConditionOperation.EqualTo, OperandIdentifier = (byte)Enums.OperandIdentifier.RevCode, RightOperand = paymentTypeStopLoss.RevCode }; conditionRevCode = UpdatePropertyAndOperand(conditionRevCode); conditions.Add(conditionRevCode); } if (!string.IsNullOrEmpty(paymentTypeStopLoss.HcpcsCode)) { ICondition conditionHcpcsCode = new Condition { ConditionOperator = (byte)Enums.ConditionOperation.EqualTo, OperandIdentifier = (byte)Enums.OperandIdentifier.HcpcsCode, RightOperand = paymentTypeStopLoss.HcpcsCode }; conditionHcpcsCode = UpdatePropertyAndOperand(conditionHcpcsCode); conditions.Add(conditionHcpcsCode); } paymentTypeStopLoss.Conditions = conditions; } } return(paymentTypeStopLoss); }
public PaymentTypeStopLoss GetPaymentTypeStopLoss(PaymentTypeStopLoss paymentTypeStopLoss) { return((PaymentTypeStopLoss)_paymentTypeStopLossLogic.GetPaymentType(paymentTypeStopLoss)); }
public long AddEditPaymentTypeStopLoss(PaymentTypeStopLoss paymentTypeStopLoss) { return(_paymentTypeStopLossLogic.AddEditPaymentType(paymentTypeStopLoss)); }