/// <summary> /// Gets the payment type cap. /// </summary> /// <param name="contractId">The contract identifier.</param> /// <param name="contractServiceTypeId">The contract service type identifier.</param> /// <param name="dtCapTable">The dt cap table.</param> /// <returns></returns> public static PaymentTypeCap GetPaymentType(long?contractId, long?contractServiceTypeId, DataTable dtCapTable) { PaymentTypeCap paymentTypeCap = null; if (dtCapTable != null && dtCapTable.Rows.Count > 0) { paymentTypeCap = (from DataRow row in dtCapTable.Rows where ((row["ContractId"] != DBNull.Value && Convert.ToInt64(row["ContractId"]) == contractId) || (row["contractServiceTypeId"] != DBNull.Value && Convert.ToInt64(row["contractServiceTypeId"]) == contractServiceTypeId)) select new PaymentTypeCap { ContractId = DBNull.Value == row["ContractId"] ? (long?)null : Convert.ToInt64( row["ContractId"]), ServiceTypeId = DBNull.Value == row["ContractServiceTypeID"] ? (long?)null : Convert.ToInt64( row["ContractServiceTypeID"]), Threshold = DBNull.Value == row["Threshold"] ? (double?)null : Convert.ToDouble( row["Threshold"]), PaymentTypeDetailId = Convert.ToInt64(row["PaymentTypeDetailID"]), PaymentTypeId = (byte)Enums.PaymentTypeCodes.Cap }).FirstOrDefault(); } return(paymentTypeCap); }
/// <summary> /// Payments the type cap details. /// </summary> /// <param name="contractId">The contract unique identifier.</param> /// <param name="serviceTypeId">The service type unique identifier.</param> /// <param name="paymentTypeId">The payment type unique identifier.</param> /// <param name="isEdit">if set to <c>true</c> [is edit].</param> /// <returns></returns> public ActionResult PaymentTypeCap(long?contractId, long?serviceTypeId, int paymentTypeId, bool isEdit) { PaymentTypeCapViewModel modelPaymentTypeCapViewModel = new PaymentTypeCapViewModel(); if (isEdit) { PaymentTypeCap paymentTypeCapForPost = new PaymentTypeCap { ServiceTypeId = serviceTypeId, ContractId = contractId, PaymentTypeId = paymentTypeId, UserName = GetCurrentUserName() }; //Get the Name of User logged in PaymentTypeCap medicareIpInfo = PostApiResponse <PaymentTypeCap>("PaymentTypeCap", "GetPaymentTypeCap", paymentTypeCapForPost); modelPaymentTypeCapViewModel = AutoMapper.Mapper.Map <PaymentTypeCap, PaymentTypeCapViewModel>(medicareIpInfo); } modelPaymentTypeCapViewModel.ContractId = contractId; modelPaymentTypeCapViewModel.ServiceTypeId = serviceTypeId; modelPaymentTypeCapViewModel.PaymentTypeId = paymentTypeId; modelPaymentTypeCapViewModel.IsEdit = isEdit; return(View(modelPaymentTypeCapViewModel)); }
public JsonResult AddEditPaymentTypeCap(PaymentTypeCapViewModel paymentTypeCapInfo) { PaymentTypeCap pTypeCaP = AutoMapper.Mapper.Map <PaymentTypeCapViewModel, PaymentTypeCap>(paymentTypeCapInfo); //Get the Name of User logged in pTypeCaP.UserName = GetCurrentUserName(); long pTypeCapId = PostApiResponse <long>("PaymentTypeCap", "AddEditPaymentTypeCap", pTypeCaP); return(pTypeCapId > 0 ? Json(new { sucess = true, Id = pTypeCapId }) : Json(new { sucess = false })); }
public void AddEditPaymentTypeCapDetailsifNotNull() { _mockPaymentTypeCapRepository = new Mock <IPaymentTypeCapRepository>(); _mockPaymentTypeCapRepository.Setup(f => f.AddEditPaymentTypeCapDetails(It.IsAny <PaymentTypeCap>())).Returns(1); _target = new PaymentTypeCapLogic(_mockPaymentTypeCapRepository.Object); PaymentTypeCap objAddEditPaymentTypeCapDetails = new PaymentTypeCap { PaymentTypeDetailId = 1 }; long actual = _target.AddEditPaymentType(objAddEditPaymentTypeCapDetails); Assert.AreEqual(1, actual); }
public void GetPaymentTypeCapDetailsTestifNotNull() { _mockPaymentTypeCapRepository = new Mock <IPaymentTypeCapRepository>(); _mockPaymentTypeCapRepository.Setup(f => f.GetPaymentTypeCapDetails(It.IsAny <PaymentTypeCap>())); _target = new PaymentTypeCapLogic(_mockPaymentTypeCapRepository.Object); PaymentTypeCap objGetPaymentTypeCapDetails = new PaymentTypeCap { PaymentTypeDetailId = 1 }; PaymentTypeCap actual = (PaymentTypeCap)_target.GetPaymentType(objGetPaymentTypeCapDetails); Assert.IsNull(actual); }
public void GetPaymentTypeCapDetailsTestifNull() { PaymentTypeCap objGetPaymentTypeCapDetails = new PaymentTypeCap { Threshold = 1 }; _mockPaymentTypeCapRepository = new Mock <IPaymentTypeCapRepository>(); _mockPaymentTypeCapRepository.Setup(f => f.GetPaymentTypeCapDetails(It.IsAny <PaymentTypeCap>())).Returns(objGetPaymentTypeCapDetails); _target = new PaymentTypeCapLogic(_mockPaymentTypeCapRepository.Object); PaymentTypeCap actual = (PaymentTypeCap)_target.GetPaymentType(null); Assert.AreEqual(1, actual.Threshold); }
/// <summary> /// AddEdit PaymentType Cap Details /// </summary> /// <param name="paymentTypeCap"></param> /// <returns></returns> public long AddEditPaymentTypeCapDetails(PaymentTypeCap paymentTypeCap) { //Checks if input request is not null if (paymentTypeCap != null) { // Initialize the Stored Procedure _cmd = _db.GetStoredProcCommand("AddEditCAPPayment"); // Pass parameters to Stored Procedure(i.e., @ParamName), add values for _db.AddInParameter(_cmd, "@PaymentTypeDetailID", DbType.Int64, paymentTypeCap.PaymentTypeDetailId); _db.AddInParameter(_cmd, "@Threshold ", DbType.Decimal, paymentTypeCap.Threshold); _db.AddInParameter(_cmd, "@Percentage ", DbType.Int64, paymentTypeCap.Percentage); _db.AddInParameter(_cmd, "@PaymentTypeID ", DbType.Int64, paymentTypeCap.PaymentTypeId); _db.AddInParameter(_cmd, "@ContractID", DbType.Int64, paymentTypeCap.ContractId); _db.AddInParameter(_cmd, "@ContractServiceTypeID", DbType.Int64, paymentTypeCap.ServiceTypeId); _db.AddInParameter(_cmd, "@UserName", DbType.String, paymentTypeCap.UserName); // Retrieve the results of the Stored Procedure in Datatable return(long.Parse(_db.ExecuteScalar(_cmd).ToString())); } return(0); }
/// <summary> /// Get PaymentType Cap Details /// </summary> /// <param name="paymentTypeCap"></param> /// <returns></returns> public PaymentTypeCap GetPaymentTypeCapDetails(PaymentTypeCap paymentTypeCap) { if (paymentTypeCap != null) { // 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, paymentTypeCap.PaymentTypeId); _db.AddInParameter(_cmd, "@ContractID", DbType.Int64, paymentTypeCap.ContractId); _db.AddInParameter(_cmd, "@ContractServiceTypeID", DbType.Int64, paymentTypeCap.ServiceTypeId); _db.AddInParameter(_cmd, "@ServiceLineTypeId", DbType.Int64, 0); _db.AddInParameter(_cmd, "@UserName", DbType.String, paymentTypeCap.UserName); // Retrieve the results of the Stored Procedure in Datatable DataSet paymentTypeCapDataSet = _db.ExecuteDataSet(_cmd); if (paymentTypeCapDataSet != null && paymentTypeCapDataSet.Tables.Count > 0) { //populating paymentTypeCap data if (paymentTypeCapDataSet.Tables[0].Rows != null && paymentTypeCapDataSet.Tables[0] != null && paymentTypeCapDataSet.Tables[0].Rows.Count > 0) { PaymentTypeCap paymentCap = new PaymentTypeCap { Threshold = DBNull.Value == paymentTypeCapDataSet.Tables[0].Rows[0]["Threshold"] ? (double?)null : Convert.ToDouble(paymentTypeCapDataSet.Tables[0].Rows[0]["Threshold"]), Percentage = DBNull.Value == paymentTypeCapDataSet.Tables[0].Rows[0]["Percentage"] ? (double?)null : Convert.ToDouble(paymentTypeCapDataSet.Tables[0].Rows[0]["Percentage"]), PaymentTypeDetailId = Convert.ToInt64(paymentTypeCapDataSet.Tables[0].Rows[0]["PaymentTypeDetailID"]) }; return(paymentCap); } } } return(null); }
public void ContractFilterTest() { List <PaymentResult> paymentResults = new List <PaymentResult> { new PaymentResult { ClaimId = 123, Line = 1, AdjudicatedValue = 110, ServiceTypeId = 1 }, new PaymentResult { ClaimId = 123, Line = 2, AdjudicatedValue = 110, ServiceTypeId = 1 }, }; PaymentTypeCap paymentTypeCap = new PaymentTypeCap { Threshold = 10, Conditions = new List <ICondition> { new Condition { ConditionOperator = (byte)Enums.ConditionOperation.EqualTo, LeftOperands = new List <string> { "300" }, OperandType = (byte)Enums.OperandIdentifier.HcpcsCode, RightOperand = "300" } }, ServiceTypeId = 1, ValidLineIds = new List <int> { 1, 2 }, HcpcsCode = "ABCDE", ContractId = 1, }; // Arrange _mockContractServiceTypeLogic = new Mock <IContractServiceTypeLogic>(); _mockPaymentResultLogic = new Mock <IPaymentResultLogic>(); _mockPaymentResultLogic.Setup( x => x.Evaluate(It.IsAny <EvaluateableClaim>(), It.IsAny <List <PaymentResult> >(), It.IsAny <bool>(), It.IsAny <bool>())).Returns(paymentResults); _mockPaymentTypeCapRepository = new Mock <IPaymentTypeCapRepository>(); _mockPaymentTypeCapRepository.Setup(x => x.GetPaymentTypeCapDetails(It.IsAny <PaymentTypeCap>())) .Returns(paymentTypeCap); _target = new PaymentTypeCapLogic(_mockPaymentTypeCapRepository.Object) { PaymentTypeBase = paymentTypeCap }; // _target.Contract = contract; IEvaluateableClaim evaluateableClaim = new EvaluateableClaim(); evaluateableClaim.ClaimId = 123; evaluateableClaim.Drg = "ABCDE"; evaluateableClaim.ClaimTotal = 100; evaluateableClaim.ClaimCharges = new List <ClaimCharge> { new ClaimCharge { Line = 1, Amount = 20, HcpcsCode = "300" }, new ClaimCharge { Line = 2, Amount = 20, HcpcsCode = "301" }, new ClaimCharge { Line = 3, Amount = 20, HcpcsCode = "302" }, new ClaimCharge { Line = 4, Amount = 20, HcpcsCode = "303" }, new ClaimCharge { Line = 5, Amount = 20, HcpcsCode = "304" }, new ClaimCharge { Line = 6, Amount = 20, HcpcsCode = "ABCDE" } }; List <PaymentResult> updatedPaymentResults = new List <PaymentResult> { new PaymentResult { ClaimId = 123, ContractId = 1, AdjudicatedValue = 110 }, new PaymentResult { ClaimId = 123, Line = 1, ContractId = 1, AdjudicatedValue = 110 } }; _mockContractBaseLogic = new Mock <ContractBaseLogic>(); _mockContractServiceTypeLogic.Setup(x => x.IsValidServiceType()).Returns(true); _mockContractServiceTypeLogic.Setup(x => x.Evaluate(evaluateableClaim, paymentResults, false, false)) .Returns(updatedPaymentResults); _mockContractBaseLogic.SetupAllProperties(); //Act List <PaymentResult> actual = _target.EvaluatePaymentType(evaluateableClaim, paymentResults, false, true); // Assert Assert.AreEqual(2, actual.Count); var firstOrDefault = paymentResults.FirstOrDefault(x => x.AdjudicatedValue != null); if (firstOrDefault != null) { Assert.AreEqual(10, firstOrDefault.AdjudicatedValue); } }
public PaymentTypeBase GetPaymentTypeCap(PaymentTypeCap paymentTypeCap) { return(_paymentTypeCapLogic.GetPaymentType(paymentTypeCap)); }
/// <summary> /// AddNew PaymentType Cap /// </summary> /// <param name="paymentTypeCap"></param> /// <returns></returns> public long AddEditPaymentTypeCap(PaymentTypeCap paymentTypeCap) { return(_paymentTypeCapLogic.AddEditPaymentType(paymentTypeCap)); }