// // GET: /PaymentTypePerDiemDetails/ public ActionResult PaymentTypePerDiem(long?contractId, long?serviceTypeId, int paymentTypeId, bool isEdit) { PaymentTypePerDiemViewModel modelPaymentTypePerDiemViewModel = new PaymentTypePerDiemViewModel(); if (isEdit) { PaymentTypePerDiem paymentTypePerDiemPost = new PaymentTypePerDiem { ServiceTypeId = serviceTypeId, ContractId = contractId, PaymentTypeId = paymentTypeId, UserName = GetCurrentUserName() }; //Get the Name of User logged in PaymentTypePerDiem paymentTypePerDiemList = PostApiResponse <PaymentTypePerDiem>("PaymentTypePerDiem", "GetPaymentTypePerDiem", paymentTypePerDiemPost); modelPaymentTypePerDiemViewModel = AutoMapper.Mapper.Map <PaymentTypePerDiem, PaymentTypePerDiemViewModel>(paymentTypePerDiemList); } modelPaymentTypePerDiemViewModel.ContractId = contractId; modelPaymentTypePerDiemViewModel.ServiceTypeId = serviceTypeId; modelPaymentTypePerDiemViewModel.PaymentTypeId = paymentTypeId; modelPaymentTypePerDiemViewModel.IsEdit = isEdit; return(View(modelPaymentTypePerDiemViewModel)); }
/// <summary> /// Add Edit PaymentType Per Diem Details /// </summary> /// <param name="paymentTypePerDiemList">PaymentTypePerDiem List</param> /// <returns>Inserted Data Count</returns> public long AddEditPaymentTypePerDiemDetails(PaymentTypePerDiem paymentTypePerDiemList) { //Checks if input request is not null XmlSerializer serializer = new XmlSerializer(paymentTypePerDiemList.GetType()); StringWriter stringWriter = new StringWriter(); XmlWriterSettings settings = new XmlWriterSettings { Indent = true, OmitXmlDeclaration = true }; XmlWriter xmlWriter = XmlWriter.Create(stringWriter, settings); XmlSerializerNamespaces emptyNs = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty }); serializer.Serialize(xmlWriter, paymentTypePerDiemList, emptyNs); string finalStrXml = stringWriter.ToString(); _cmd = _db.GetStoredProcCommand("AddEditPaymentTypePerDiem"); _db.AddInParameter(_cmd, "@XmlPaymentTypePerDiemData", DbType.String, finalStrXml); _db.AddInParameter(_cmd, "@PaymentTypeID ", DbType.Int64, paymentTypePerDiemList.PaymentTypeId); _db.AddInParameter(_cmd, "@ContractID", DbType.Int64, paymentTypePerDiemList.ContractId); _db.AddInParameter(_cmd, "@ContractServiceTypeID", DbType.Int64, paymentTypePerDiemList.ServiceTypeId); _db.AddInParameter(_cmd, "@PaymentTypeDetailsId", DbType.Int64, paymentTypePerDiemList.PaymentTypeDetailId); _db.AddInParameter(_cmd, "@UserName", DbType.String, paymentTypePerDiemList.UserName); // Retrieve the results of the Stored Procedure in Datatable return(long.Parse(_db.ExecuteScalar(_cmd).ToString())); }
public void GetPaymentTypePerDiemIfNull() { var mockPaymentTypePerDiemDetails = new Mock <IPaymentTypePerDiemRepository>(); mockPaymentTypePerDiemDetails.Setup(f => f.GetPaymentTypePerDiem(It.IsAny <PaymentTypePerDiem>())).Returns((PaymentTypePerDiem)null); PaymentTypePerDiemLogic target = new PaymentTypePerDiemLogic(mockPaymentTypePerDiemDetails.Object); PaymentTypePerDiem actual = (PaymentTypePerDiem)target.GetPaymentType(null); Assert.AreEqual(null, actual); }
public JsonResult Save(PaymentTypePerDiemViewModel listofPaymentTypePerDiem) { PaymentTypePerDiem paymentTypeModel = AutoMapper.Mapper.Map <PaymentTypePerDiemViewModel, PaymentTypePerDiem>(listofPaymentTypePerDiem); //Get the Name of User logged in paymentTypeModel.UserName = GetCurrentUserName(); long noOfRecord = PostApiResponse <long>("PaymentTypePerDiem", "AddEditPaymentTypePerDiem", paymentTypeModel); return(noOfRecord > 0 ? Json(new { sucess = true, Id = noOfRecord }) : Json(new { sucess = false })); }
public void AddPaymentTypePerDiemDetailsIfNull() { var mockPaymentTypePerDiemDetails = new Mock <IPaymentTypePerDiemRepository>(); mockPaymentTypePerDiemDetails.Setup(f => f.AddEditPaymentTypePerDiemDetails(It.IsAny <PaymentTypePerDiem>())).Returns(0); PaymentTypePerDiemLogic target = new PaymentTypePerDiemLogic(mockPaymentTypePerDiemDetails.Object); var paymentTypeDiemList = new PaymentTypePerDiem(); long actual = target.AddEditPaymentType(paymentTypeDiemList); Assert.AreEqual(0, actual); }
public void AddPaymentTypePerDiemDetailsIfNotNull() { var mockPaymentTypePerDiemDetails = new Mock <IPaymentTypePerDiemRepository>(); mockPaymentTypePerDiemDetails.Setup(f => f.AddEditPaymentTypePerDiemDetails(It.IsAny <PaymentTypePerDiem>())).Returns(1); PaymentTypePerDiemLogic target = new PaymentTypePerDiemLogic(mockPaymentTypePerDiemDetails.Object); PaymentTypePerDiem objPaymentTypePerVisit = new PaymentTypePerDiem { PaymentTypeDetailId = 1 }; long actual = target.AddEditPaymentType(objPaymentTypePerVisit); Assert.AreEqual(1, actual); }
/// <summary> /// Get PaymentType Per Diem Details /// </summary> /// <param name="paymentTypePerDiemList">PaymentTypePerDiem List</param> /// <returns>Inserted Data Count</returns> public PaymentTypePerDiem GetPaymentTypePerDiem(PaymentTypePerDiem paymentTypePerDiemList) { // 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, paymentTypePerDiemList.PaymentTypeId); _db.AddInParameter(_cmd, "@ContractID", DbType.Int64, paymentTypePerDiemList.ContractId); _db.AddInParameter(_cmd, "@ContractServiceTypeID", DbType.Int64, paymentTypePerDiemList.ServiceTypeId); _db.AddInParameter(_cmd, "@ServiceLineTypeId", DbType.Int64, 0); _db.AddInParameter(_cmd, "@UserName", DbType.String, paymentTypePerDiemList.UserName); // Retrieve the results of the Stored Procedure in Data set DataSet paymentTypePerDiemDataSet = _db.ExecuteDataSet(_cmd); List <PerDiemSelection> perDiemSelections = new List <PerDiemSelection>(); if (paymentTypePerDiemDataSet != null && paymentTypePerDiemDataSet.Tables.Count > 0) { //populating PerDiem data if (paymentTypePerDiemDataSet.Tables[0].Rows != null && paymentTypePerDiemDataSet.Tables[0] != null && paymentTypePerDiemDataSet.Tables[0].Rows.Count > 0) { for (int i = 0; i < paymentTypePerDiemDataSet.Tables[0].Rows.Count; i++) { if (paymentTypePerDiemDataSet.Tables[0].Rows[i]["DaysFrom"] != null && paymentTypePerDiemDataSet.Tables[0].Rows[i]["DaysTo"] != null && paymentTypePerDiemDataSet.Tables[0].Rows[i]["Rate"] != null) { PerDiemSelection perDiemSelection = new PerDiemSelection { DaysFrom = Convert.ToInt32( paymentTypePerDiemDataSet.Tables[0].Rows[i]["DaysFrom"]), DaysTo = Convert.ToInt32( paymentTypePerDiemDataSet.Tables[0].Rows[i]["DaysTo"]), Rate = Convert.ToDouble( paymentTypePerDiemDataSet.Tables[0].Rows[i]["Rate"]) }; perDiemSelections.Add(perDiemSelection); } } paymentTypePerDiemList.PerDiemSelections = perDiemSelections; paymentTypePerDiemList.PaymentTypeDetailId = Convert.ToInt64(paymentTypePerDiemDataSet.Tables[0].Rows[0]["PaymentTypeDetailID"]); return(paymentTypePerDiemList); } } //returns response to Business layer return(null); }
public void GetPaymentTypePerDiemIfNotNull() { var mockPaymentTypePerDiemDetails = new Mock <IPaymentTypePerDiemRepository>(); //Mock Input PaymentTypePerDiem inputData = new PaymentTypePerDiem { PaymentTypeId = 7, ContractId = 1432, ServiceTypeId = 0 }; //Mock output PaymentTypePerDiem result = new PaymentTypePerDiem { PerDiemSelections = new List <PerDiemSelection> { new PerDiemSelection { DaysFrom = 1, DaysTo = 5, Rate = 54.34 } } }; mockPaymentTypePerDiemDetails.Setup(f => f.GetPaymentTypePerDiem(inputData)).Returns(result); PaymentTypePerDiemLogic target = new PaymentTypePerDiemLogic(mockPaymentTypePerDiemDetails.Object); PaymentTypePerDiem actual = (PaymentTypePerDiem)target.GetPaymentType(inputData); Assert.AreEqual(result, actual); }
/// <summary> /// Gets the payment type per case. /// </summary> /// <param name="contractServiceTypeId">The contract service type identifier.</param> /// <param name="dtPerDiem">The dt per case table.</param> /// <returns></returns> public static PaymentTypePerDiem GetPaymentType(long contractServiceTypeId, DataTable dtPerDiem) { PaymentTypePerDiem paymentTypePerDiem = null; if (dtPerDiem != null && dtPerDiem.Rows.Count > 0) { paymentTypePerDiem = new PaymentTypePerDiem { PerDiemSelections = new List <PerDiemSelection>() }; foreach (DataRow row in dtPerDiem.Rows) { PerDiemSelection perDiemSelection = new PerDiemSelection(); if ((Convert.ToInt64(DBNull.Value == row["contractServiceTypeId"] ? (long?)null : Convert.ToInt64(row["contractServiceTypeId"])) == contractServiceTypeId)) { perDiemSelection.Rate = DBNull.Value == row["Rate"] ? (double?)null : Convert.ToDouble(row["Rate"]); perDiemSelection.DaysFrom = DBNull.Value == row["DaysFrom"] ? (int?)null : Convert.ToInt32(row["DaysFrom"]); perDiemSelection.DaysTo = DBNull.Value == row["DaysTo"] ? (int?)null : Convert.ToInt32(row["DaysTo"]); paymentTypePerDiem.PaymentTypeId = (byte)Enums.PaymentTypeCodes.PerDiem; paymentTypePerDiem.PaymentTypeDetailId = DBNull.Value == row["PaymentTypeDetailID"] ? 0 : Convert.ToInt64(row["PaymentTypeDetailID"]); paymentTypePerDiem.ContractId = DBNull.Value == row["ContractId"] ? (long?)null : Convert.ToInt64(row["ContractId"]); paymentTypePerDiem.ServiceTypeId = DBNull.Value == row["ContractServiceTypeID"] ? (long?)null : Convert.ToInt64(row["ContractServiceTypeID"]); paymentTypePerDiem.PerDiemSelections.Add(perDiemSelection); } } } return(paymentTypePerDiem); }
public PaymentTypePerDiem GetPaymentTypePerDiem(PaymentTypePerDiem paymentTypePerDiem) { return((PaymentTypePerDiem)_paymentTypePerDiemDetailsLogic.GetPaymentType(paymentTypePerDiem)); }
public long AddEditPaymentTypePerDiem(PaymentTypePerDiem paymentTypePerDiemList) { return(_paymentTypePerDiemDetailsLogic.AddEditPaymentType(paymentTypePerDiemList)); }
public void EvaluateTestWhenSelectionIsEmpty() { List <PaymentResult> paymentResults = new List <PaymentResult> { new PaymentResult { ClaimId = 123, ServiceTypeId = 1, Line = 2 }, new PaymentResult { ClaimId = 123, Line = 1, ServiceTypeId = 1 } }; PaymentTypePerDiem paymentTypePerDiem = new PaymentTypePerDiem { Conditions = new List <ICondition> { new Condition { ConditionOperator = (byte)Enums.ConditionOperation.EqualTo, LeftOperands = new List <string> { "ABCDE" }, OperandType = (byte)Enums.OperandIdentifier.HcpcsCode, RightOperand = "ABCDE" } }, ServiceTypeId = 1, ValidLineIds = new List <int> { 1, 2 }, HcpcsCode = "ABCDE" }; // Arrange var mockContractServiceTypeLogic = new Mock <IContractServiceTypeLogic>(); var mockPaymentResultLogic = new Mock <IPaymentResultLogic>(); mockPaymentResultLogic.Setup( x => x.Evaluate(It.IsAny <EvaluateableClaim>(), It.IsAny <List <PaymentResult> >(), It.IsAny <bool>(), It.IsAny <bool>())).Returns(paymentResults); Mock <IPaymentTypePerDiemRepository> paymentTypePerDiemRepository = new Mock <IPaymentTypePerDiemRepository>(); paymentTypePerDiemRepository.Setup(x => x.GetPaymentTypePerDiem(It.IsAny <PaymentTypePerDiem>())) .Returns(paymentTypePerDiem); var target = new PaymentTypePerDiemLogic(paymentTypePerDiemRepository.Object) { PaymentTypeBase = paymentTypePerDiem }; // _target.Contract = contract; IEvaluateableClaim evaluateableClaim = new EvaluateableClaim(); evaluateableClaim.ClaimId = 123; evaluateableClaim.ClaimTotal = 100; evaluateableClaim.ClaimCharges = new List <ClaimCharge> { new ClaimCharge { Line = 1, Amount = 20, RevCode = "250", HcpcsCode = "ABCDE", Units = 2 }, new ClaimCharge { Line = 2, Amount = 200, RevCode = "250", HcpcsCode = "ABCDF", Units = 2 } }; List <PaymentResult> updatedPaymentResults = new List <PaymentResult> { new PaymentResult { ClaimId = 123, ContractId = 1, AdjudicatedValue = 110 }, new PaymentResult { ClaimId = 123, Line = 1, ContractId = 1, AdjudicatedValue = 110 } }; Mock <ContractBaseLogic> 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, false); // Assert Assert.AreEqual(2, actual.Count); var firstOrDefault = paymentResults.FirstOrDefault(x => x.AdjudicatedValue != null); Assert.IsNull(firstOrDefault); }