public void GetReassignGridDataTestIfNull() { _mockReassignClaimRepository = new Mock <IReassignClaimRepository>(); ClaimSearchCriteria claimSearchCriteria = null; _mockReassignClaimRepository.Setup(f => f.GetReassignGridData(claimSearchCriteria)); _target = new ReassignClaimLogic(_mockReassignClaimRepository.Object); ReassignClaimContainer actual = _target.GetReassignGridData(null); Assert.IsNull(actual); }
public void GetReassignGridDataTest() { _mockReassignClaimRepository = new Mock <IReassignClaimRepository>(); ClaimSearchCriteria claimSearchCriteria = new ClaimSearchCriteria { DateType = 1, StartDate = DateTime.MinValue, EndDate = DateTime.MinValue, NodeId = 123456, UserName = "******" }; var result = new ReassignClaimContainer { ClaimData = new List <EvaluateableClaim> { new EvaluateableClaim { ClaimId = 98745621, BillType = "121", ClaimTotal = 1875, ModelId = 5879 } } }; _mockReassignClaimRepository.Setup(f => f.GetReassignGridData(It.IsAny <ClaimSearchCriteria>())).Returns(result); _target = new ReassignClaimLogic(_mockReassignClaimRepository.Object); ReassignClaimContainer actual = _target.GetReassignGridData(claimSearchCriteria); Assert.AreEqual(result, actual); }
public ActionResult GetReassignGridData(ClaimSearchCriteria claimSearchCriteria, List <ReassignClaim> reassignClaims, bool isSelectAllPage, long modelId, long contractId, bool isSelectAllHeader = false, bool isPrimaryModel = false) { string currentUserName = GetCurrentUserName(); string userGuid = GetUserKey();//user key replaced claimSearchCriteria.FacilityId = GetCurrentFacilityId(); claimSearchCriteria.UserName = currentUserName; claimSearchCriteria.RequestedUserId = string.IsNullOrEmpty(currentUserName) ? Guid.Empty.ToString() : userGuid; // Getting the current page data ReassignClaimContainer reassignClaim = PostApiResponse <ReassignClaimContainer>(Constants.ReassignClaim, Constants.GetReassignGridData, claimSearchCriteria); // Getting session data List <RetainedClaim> retainedClaims = GetReassignedClaims(); UpdateRetainClaims(retainedClaims, isSelectAllPage, modelId, isSelectAllHeader, isPrimaryModel, contractId); // Setting the 50 retained claims data List <ReassignClaim> pagedReassignClaims = new List <ReassignClaim>(); if (retainedClaims.Any(a => a.Order == claimSearchCriteria.PageIndex)) { pagedReassignClaims = retainedClaims.Find(a => a.Order == claimSearchCriteria.PageIndex).ReassignClaims; } else if (reassignClaim.ClaimData != null) { pagedReassignClaims = reassignClaim.ClaimData.Select(claim => new ReassignClaim { ClaimId = claim.ClaimId, IsRetained = claim.IsRetained, ContractId = (isPrimaryModel && claimSearchCriteria.ContractId != 0) ? claimSearchCriteria.ContractId : (claimSearchCriteria.ContractId != 0)?claimSearchCriteria.ContractId:claim.ContractId, ModelId = claimSearchCriteria.ModelId == 0 || claim.IsRetained ? claim.ModelId : claimSearchCriteria.ModelId, IsSelected = (claimSearchCriteria.IsSelectAll && claim.IsRetained && !isSelectAllHeader) ? (isPrimaryModel && claim.ContractId != contractId) || Convert.ToBoolean(claim.IsSelected) : claimSearchCriteria.IsSelectAll }).ToList(); } // Saving the data into session if (retainedClaims.Any(a => a.Order == claimSearchCriteria.PageIndex)) { List <ReassignClaim> claims = retainedClaims.Find(a => a.Order == claimSearchCriteria.PageIndex).ReassignClaims; // Selected claims retained claims data foreach (ReassignClaim reassign in pagedReassignClaims) { // Getting the claim data from reassign claim ReassignClaim claimData = claims.Where(claim => claim.ClaimId == reassign.ClaimId).DefaultIfEmpty().FirstOrDefault(); if (claimData != null) { // Setting the properties reassign.IsSelected = (claimSearchCriteria.IsSelectAll && claimData.IsSelected) ? (claimSearchCriteria.IsSelectAll && claimData.IsSelected) : claimData.IsSelected; reassign.ModelId = claimData.ModelId; reassign.ContractId = claimSearchCriteria.ContractId == 0 || claimData.IsRetained ? claimData.ContractId : claimSearchCriteria.ContractId; reassign.IsRetained = claimData.IsRetained; reassign.ContractId = (isPrimaryModel && claimSearchCriteria.ContractId != 0) ? claimSearchCriteria.ContractId : reassign.ContractId; } } } // Setting session data for the previous page if (retainedClaims.Any(q => q.Order == claimSearchCriteria.LastSelectedPageIndex)) { retainedClaims.Find(a => a.Order == claimSearchCriteria.LastSelectedPageIndex).ReassignClaims = reassignClaims; } // If the data is not available in the session else if (reassignClaims != null && reassignClaims.Any()) { retainedClaims.Add(new RetainedClaim { Order = claimSearchCriteria.LastSelectedPageIndex, ReassignClaims = reassignClaims }); } // Setting session SetReassignedClaims(retainedClaims); return (Json( new { data = reassignClaim.ClaimData, retainedClaims = pagedReassignClaims, total = reassignClaim.TotalRecords, lastSelectedPageIndex = claimSearchCriteria.PageIndex })); }
/// <summary> /// Gets the reassign claims. /// </summary> /// <param name="claimSearchCriteria"></param> /// <returns></returns> public ReassignClaimContainer GetReassignGridData(ClaimSearchCriteria claimSearchCriteria) { ReassignClaimContainer reassignClaimResult = new ReassignClaimContainer(); // Initialize the Stored Procedure _databaseCommandObj = _databaseObj.GetStoredProcCommand("GetReassignGridData"); _databaseObj.AddInParameter(_databaseCommandObj, "@SelectCriteria ", DbType.String, claimSearchCriteria.SearchCriteria); _databaseObj.AddInParameter(_databaseCommandObj, "@DateType ", DbType.Int32, claimSearchCriteria.DateType); _databaseObj.AddInParameter(_databaseCommandObj, "@StartDate ", DbType.DateTime, claimSearchCriteria.StartDate); _databaseObj.AddInParameter(_databaseCommandObj, "@EndDate ", DbType.DateTime, claimSearchCriteria.EndDate); _databaseObj.AddInParameter(_databaseCommandObj, "@UserName", DbType.String, claimSearchCriteria.UserName); _databaseObj.AddInParameter(_databaseCommandObj, "@FacilityID", DbType.Int64, claimSearchCriteria.FacilityId); _databaseObj.AddInParameter(_databaseCommandObj, "@Take", DbType.Int32, claimSearchCriteria.Take); _databaseObj.AddInParameter(_databaseCommandObj, "@Skip", DbType.Int32, claimSearchCriteria.Skip); _databaseObj.AddInParameter(_databaseCommandObj, "@UserID", DbType.String, claimSearchCriteria.RequestedUserId); DataSet reassignClaimDataSet = _databaseObj.ExecuteDataSet(_databaseCommandObj); if (reassignClaimDataSet.IsTableDataPopulated()) { if (reassignClaimDataSet.Tables.Count > 1 && reassignClaimDataSet.Tables[1].Rows.Count > 0) { reassignClaimResult.TotalRecords = Convert.ToInt32(reassignClaimDataSet.Tables[1].Rows[0][0]); } DataRowCollection reassignClaimDataRowCollection = reassignClaimDataSet.Tables[0].Rows; List <EvaluateableClaim> evaluateableClaims = (from DataRow row in reassignClaimDataRowCollection select new EvaluateableClaim { ClaimId = GetValue <long>(row["ClaimID"], typeof(long)), PatientAccountNumber = GetStringValue(row["PatientAccountNumber"]), ClaimType = GetStringValue(row["ClaimType"]), BillType = GetStringValue(row["BillType"]), PriPayerName = GetStringValue(row["PriPayerName"]), ClaimTotal = GetValue <double>(row["ClaimTotal"], typeof(double)), StatementFromValue = DBNull.Value == row["StatementFrom"] ? null : Convert.ToString(row["StatementFrom"].ToString() == "1/1/1900 12:00:00 AM" ? null : Convert.ToDateTime(row["StatementFrom"]) .ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)), StatementThruValue = DBNull.Value == row["StatementThru"] ? null : Convert.ToString(row["StatementThru"].ToString() == "1/1/1900 12:00:00 AM" ? null : Convert.ToDateTime(row["StatementThru"]) .ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)), BillDateValue = DBNull.Value == row["BillDate"] ? null : Convert.ToString(row["BillDate"].ToString() == "1/1/1900 12:00:00 AM" ? null : Convert.ToDateTime(row["BillDate"]) .ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)), IsRetained = GetValue <bool>(row["IsRetained"], typeof(bool)), ModelId = GetValue <long>(row["ModelId"], typeof(long)), ContractId = GetValue <long>(row["ContractId"], typeof(long)), }).ToList(); reassignClaimResult.ClaimData = evaluateableClaims; } return(reassignClaimResult); }