コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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
            }));
        }
コード例 #4
0
        /// <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);
        }