/// <summary> /// Generates the model compassion report. /// </summary> /// <param name="modelComparisonForPost">The model comparison for post.</param> /// <returns></returns> public ModelComparisonReport Generate(ModelComparisonReport modelComparisonForPost) { ModelComparisonReport modelComparisonReportData = new ModelComparisonReport(); // Initialize the Stored Procedure _databaseCommandObj = _databaseObj.GetStoredProcCommand("GetModelComparisonReport"); // Pass parameters to Stored Procedure(i.e., @ParamName), add values for _databaseObj.AddInParameter(_databaseCommandObj, "@SelectedModels ", DbType.String, modelComparisonForPost.SelectedModelList); _databaseObj.AddInParameter(_databaseCommandObj, "@IsDetailedView ", DbType.Int32, modelComparisonForPost.IsCheckedDetailLevel); _databaseObj.AddInParameter(_databaseCommandObj, "@DetailedViewAt ", DbType.Int32, modelComparisonForPost.DetailSelectValue); _databaseObj.AddInParameter(_databaseCommandObj, "@FacilityId ", DbType.Int32, modelComparisonForPost.FacilityId); _databaseObj.AddInParameter(_databaseCommandObj, "@DateType", DbType.Int32, modelComparisonForPost.DateType); _databaseObj.AddInParameter(_databaseCommandObj, "@DateFrom", DbType.DateTime, modelComparisonForPost.StartDate); _databaseObj.AddInParameter(_databaseCommandObj, "@DateTo", DbType.DateTime, modelComparisonForPost.EndDate); _databaseObj.AddInParameter(_databaseCommandObj, "@SelectCriteria", DbType.String, modelComparisonForPost.ClaimSearchCriteria); _databaseObj.AddInParameter(_databaseCommandObj, "@RequestedUserID", DbType.String, modelComparisonForPost.RequestedUserId); _databaseObj.AddInParameter(_databaseCommandObj, "@RequestedUserName", DbType.String, modelComparisonForPost.RequestedUserName); // Retrieve the results of the Stored Procedure in Data table _databaseCommandObj.CommandTimeout = 1000; DataSet modelComparisonDataSet = _databaseObj.ExecuteDataSet(_databaseCommandObj); if (modelComparisonDataSet.IsTableDataPopulated()) { List <ModelComparisonReportDetails> modelComparisonReportList = new List <ModelComparisonReportDetails>(); DataRowCollection modelComparisonRowCollection = modelComparisonDataSet.Tables[0].Rows; for (int indexCount = 0; indexCount < modelComparisonRowCollection.Count; indexCount++) { ModelComparisonReportDetails modelComparisonReportDetails = new ModelComparisonReportDetails(); DataRow modelComparisonRow = modelComparisonRowCollection[indexCount]; EvaluateableClaim claimData = new EvaluateableClaim { NodeText = DBNull.Value == modelComparisonRow["ModelName"] ? string.Empty : modelComparisonRow["ModelName"].ToString(), ModelId = DBNull.Value == modelComparisonRow["ModelId"] ? (int?)null : Convert.ToInt32(modelComparisonRow["ModelId"]), ClaimTotal = DBNull.Value == modelComparisonRow["ClaimTotalCharges"] ? (double?)null : Convert.ToDouble(modelComparisonRow["ClaimTotalCharges"]), AdjudicatedValue = DBNull.Value == modelComparisonRow["AdjudicatedValue"] ? (double?)null : Convert.ToDouble(modelComparisonRow["AdjudicatedValue"]), CalculatedAdjustment = DBNull.Value == modelComparisonRow["CalculatedAdjudtment"] ? (double?)null : Convert.ToDouble(modelComparisonRow["CalculatedAdjudtment"]), ActualPayment = DBNull.Value == modelComparisonRow["ActualPayment"] ? (double?)null : Convert.ToDouble(modelComparisonRow["ActualPayment"]), ActualAdjustment = DBNull.Value == modelComparisonRow["ActualAdjustment"] ? (double?)null : Convert.ToDouble(modelComparisonRow["ActualAdjustment"]), PatientResponsibility = DBNull.Value == modelComparisonRow["PatientResponsibility"] ? (double?)null : Convert.ToDouble(modelComparisonRow["PatientResponsibility"]), RemitAllowedAmt = DBNull.Value == modelComparisonRow["RemitAllowed"] ? (double?)null : Convert.ToDouble(modelComparisonRow["RemitAllowed"]), RemitNonCovered = DBNull.Value == modelComparisonRow["RemitNonCovered"] ? (double?)null : Convert.ToDouble(modelComparisonRow["RemitNonCovered"]), RemitContrAdj = DBNull.Value == modelComparisonRow["RemitNonCovered"] ? (double?)null : Convert.ToDouble(modelComparisonRow["RemitNonCovered"]), ContractualVariance = DBNull.Value == modelComparisonRow["ContractualVariance"] ? (double?)null : Convert.ToDouble(modelComparisonRow["ContractualVariance"]), PaymentVariance = DBNull.Value == modelComparisonRow["PaymentVariance"] ? (double?)null : Convert.ToDouble(modelComparisonRow["PaymentVariance"]), DetailedSelection = DBNull.Value == modelComparisonRow["DetailedSelection"] ? string.Empty : modelComparisonRow["DetailedSelection"].ToString() }; modelComparisonReportDetails.ClaimData = claimData; modelComparisonReportDetails.Count = DBNull.Value == modelComparisonRow["ClaimCount"] ? string.Empty : modelComparisonRow["ClaimCount"].ToString(); modelComparisonReportList.Add(modelComparisonReportDetails); } modelComparisonReportData.ModelComparisonData = modelComparisonReportList; } return(modelComparisonReportData); }
public void GenerateModelComparisonReportNoDataTest() { var mockModelComparisonReportRepository = new Mock <IModelComparisonReportRepository>(); var value = new ModelComparisonReport(); var result = new ModelComparisonReport(); mockModelComparisonReportRepository.Setup(f => f.Generate(It.IsAny <ModelComparisonReport>())).Returns(result); ModelComparisonReportLogic target = new ModelComparisonReportLogic(mockModelComparisonReportRepository.Object); ModelComparisonReport actual = target.Generate(value); Assert.AreEqual(actual, result); }
public void EmptyModelListWhenFacilityIdNotPresent() { var mockModelComparisonReportRepository = new Mock <IModelComparisonReportRepository>(); var value = new ModelComparisonReport(); var result = new List <ModelComparisonReport> { new ModelComparisonReport() }; mockModelComparisonReportRepository.Setup(f => f.GetModels(It.IsAny <ModelComparisonReport>())).Returns(result); ModelComparisonReportLogic target = new ModelComparisonReportLogic(mockModelComparisonReportRepository.Object); List <ModelComparisonReport> actual = target.GetModels(value); Assert.AreEqual(result, actual); }
public JsonResult GetModels(int facilityId) { ModelComparisonReport modelComparisonForPost = new ModelComparisonReport { FacilityId = facilityId }; List <ModelComparisonReport> availableModelsList = PostApiResponse <List <ModelComparisonReport> >(Constants.ModelComparisonReport, Constants.GetModels, modelComparisonForPost); List <ModelComparisonReportViewModel> modelsList = AutoMapper.Mapper.Map <List <ModelComparisonReport>, List <ModelComparisonReportViewModel> >(availableModelsList); return(Json(new { modelsList })); }
public JsonResult GenerateModelComparasionReport(ModelComparisonReportViewModel reportview) { reportview.RequestedUserId = GetUserKey(); reportview.RequestedUserName = GetCurrentUserName(); ModelComparisonReport modelComparisoneReportInfo = PostApiResponse <ModelComparisonReport>(Constants.ModelComparisonReport, Constants.Get, reportview); ModelComparisonReportViewModel modelComparisonReportlist = AutoMapper.Mapper.Map <ModelComparisonReport, ModelComparisonReportViewModel>(modelComparisoneReportInfo); modelComparisonReportlist.IsCheckedDetailLevel = reportview.IsCheckedDetailLevel; // Gets the current CST time. modelComparisonReportlist.CurrentDateTime = Utilities.GetLocalTimeString(reportview.CurrentDateTime); return(Json(new ModelComparisonReportUtil().GetExportedFileName(modelComparisonReportlist, GlobalConfigVariable.ReportsFilePath))); }
/// <summary> /// Gets the available models. /// </summary> /// <param name="modelComparisonForPost">The model comparison for post.</param> /// <returns></returns> public List <ModelComparisonReport> GetModels(ModelComparisonReport modelComparisonForPost) { _databaseCommandObj = _databaseObj.GetStoredProcCommand("GetModelsByFacilityId"); _databaseObj.AddInParameter(_databaseCommandObj, "@FacilityID ", DbType.Int64, modelComparisonForPost.FacilityId); // Retrieve the results of the Stored Procedure in Datatable DataSet modelComparisonDataSet = _databaseObj.ExecuteDataSet(_databaseCommandObj); if (modelComparisonDataSet.IsTableDataPopulated(0) && modelComparisonDataSet.Tables[0].Rows != null && modelComparisonDataSet.Tables[0].Rows.Count > 0) { List <ModelComparisonReport> availableModels = (from DataRow row in modelComparisonDataSet.Tables[0].Rows select new ModelComparisonReport { NodeId = long.Parse(row["NodeID"].ToString()), ModelName = Convert.ToString(row["NodeText"]) }).ToList(); return(availableModels); } return(null); }
public void GenerateModelComparisonReportTest() { var mockModelComparisonReportRepository = new Mock <IModelComparisonReportRepository>(); ModelComparisonReport value = new ModelComparisonReport { FacilityId = 1, SelectedModelList = "287103,11672", DetailSelectValue = 1, StartDate = DateTime.MinValue, EndDate = DateTime.MinValue, ClaimSearchCriteria = "-99|2|Test" }; EvaluateableClaim claimData = new EvaluateableClaim { NodeText = "Testing", ModelId = 123 }; List <ModelComparisonReportDetails> modelComparisonReportDetailsList = new List <ModelComparisonReportDetails> { new ModelComparisonReportDetails { ClaimData = claimData } }; ModelComparisonReport result = new ModelComparisonReport { ModelComparisonData = modelComparisonReportDetailsList }; mockModelComparisonReportRepository.Setup( f => f.Generate(It.IsAny <ModelComparisonReport>())).Returns(result); ModelComparisonReportLogic target = new ModelComparisonReportLogic(mockModelComparisonReportRepository.Object); ModelComparisonReport actual = target.Generate(value); Assert.AreEqual(actual, result); }
/// <summary> /// Generates the model comparison report. /// </summary> /// <param name="modelComparisonReport">The model comparison report.</param> /// <returns></returns> public ModelComparisonReport Generate(ModelComparisonReport modelComparisonReport) { if (modelComparisonReport != null) { if (modelComparisonReport.StartDate == DateTime.MinValue && modelComparisonReport.EndDate == DateTime.MinValue) { // If search criteria contains "-99|" means search criteria contains "adjudication request name" and ignoring the date type filter in sp level if (!string.IsNullOrEmpty(modelComparisonReport.ClaimSearchCriteria) && modelComparisonReport.ClaimSearchCriteria.Contains(Constants.AdjudicationRequestCriteria)) { modelComparisonReport.DateType = Constants.DefaultDateType; } modelComparisonReport.EndDate = DateTime.Now; modelComparisonReport.StartDate = DateTime.Now.AddYears(-GlobalConfigVariable.PullDataForNumberOfYears); } return(_modelComparisonReportRepository.Generate(modelComparisonReport)); } return(null); }
public List <ModelComparisonReport> GetModels(ModelComparisonReport modelComparisonForPost) { return(_modelComparisonReportRepository.GetModels(modelComparisonForPost)); }
public ModelComparisonReport Get(ModelComparisonReport reportview) { return(_modelComparisonReportLogic.Generate(reportview)); }