/// <summary>
        /// Add Edit Payment Type StopLoss
        /// </summary>
        /// <param name="paymentTypeStopLoss"></param>
        /// <returns></returns>
        public long AddEditPaymentTypeStopLoss(PaymentTypeStopLoss paymentTypeStopLoss)
        {
            //Checks if input request is not null
            if (paymentTypeStopLoss != null)
            {
                // Initialize the Stored Procedure
                _cmd = _db.GetStoredProcCommand("AddEditStopLossPayment");
                // Pass parameters to Stored Procedure(i.e., @ParamName), add values for
                _db.AddInParameter(_cmd, "@PaymentTypeDetailID", DbType.Int64, paymentTypeStopLoss.PaymentTypeDetailId);
                _db.AddInParameter(_cmd, "@Threshold ", DbType.String, paymentTypeStopLoss.Expression.ToUpper());
                _db.AddInParameter(_cmd, "@Percentage ", DbType.Double, paymentTypeStopLoss.Percentage);
                _db.AddInParameter(_cmd, "@PaymentTypeID ", DbType.Int64, paymentTypeStopLoss.PaymentTypeId);
                _db.AddInParameter(_cmd, "@ContractID", DbType.Int64, paymentTypeStopLoss.ContractId);
                _db.AddInParameter(_cmd, "@ContractServiceTypeID", DbType.Int64, paymentTypeStopLoss.ServiceTypeId);
                _db.AddInParameter(_cmd, "@Days", DbType.String, paymentTypeStopLoss.Days);
                _db.AddInParameter(_cmd, "@RevCode", DbType.String, paymentTypeStopLoss.RevCode);
                _db.AddInParameter(_cmd, "@CPTCode", DbType.String, paymentTypeStopLoss.HcpcsCode);
                _db.AddInParameter(_cmd, "@StopLossConditionID", DbType.Int64, paymentTypeStopLoss.StopLossConditionId);
                _db.AddInParameter(_cmd, "@IsExcessCharge", DbType.Boolean, paymentTypeStopLoss.IsExcessCharge);
                _db.AddInParameter(_cmd, "@UserName", DbType.String, paymentTypeStopLoss.UserName);

                // Retrieve the results of the Stored Procedure in Data table
                return(long.Parse(_db.ExecuteScalar(_cmd).ToString()));
            }

            return(0);
        }
Ejemplo n.º 2
0
        //
        // GET: /PaymentTypeStopLoss/
        public ActionResult PaymentTypeStopLoss(long?contractId, long?serviceTypeId, int paymentTypeId, bool isEdit)
        {
            PaymentTypeStopLossViewModel modelPaymentTypeStopLossViewModel = new PaymentTypeStopLossViewModel();

            if (isEdit)
            {
                PaymentTypeStopLoss paymentTypeStopLossForPost = new PaymentTypeStopLoss
                {
                    ServiceTypeId = serviceTypeId,
                    ContractId    = contractId,
                    PaymentTypeId = paymentTypeId,
                    UserName      = GetCurrentUserName()
                };

                //Get the Name of User logged in
                PaymentTypeStopLoss paymentTypeStopLossViewModelInfo =
                    PostApiResponse <PaymentTypeStopLoss>("PaymentTypeStopLoss",
                                                          "GetPaymentTypeStopLoss",
                                                          paymentTypeStopLossForPost);

                modelPaymentTypeStopLossViewModel = AutoMapper.Mapper.Map <PaymentTypeStopLoss, PaymentTypeStopLossViewModel>(paymentTypeStopLossViewModelInfo);
            }

            modelPaymentTypeStopLossViewModel.ContractId         = contractId;
            modelPaymentTypeStopLossViewModel.ServiceTypeId      = serviceTypeId;
            modelPaymentTypeStopLossViewModel.PaymentTypeId      = paymentTypeId;
            modelPaymentTypeStopLossViewModel.IsEdit             = isEdit;
            modelPaymentTypeStopLossViewModel.StopLossConditions = GetApiResponse <List <StopLossCondition> >("PaymentTypeStopLoss",
                                                                                                              "GetPaymentTypeStopLossConditions");
            return(View(modelPaymentTypeStopLossViewModel));
        }
Ejemplo n.º 3
0
 /// <summary>
 /// updating stoploss details to payment result
 /// </summary>
 /// <param name="paymentResult">payment result</param>
 /// <param name="smartBox">user added variables</param>
 /// <param name="paymentTypeStopLoss">user added stop loss details</param>
 /// <param name="isThresholdFormulaError">if there are any threshold formula error</param>
 public static void UpdateStopLossDetails(PaymentResult paymentResult, SmartBox smartBox,
                                          PaymentTypeStopLoss paymentTypeStopLoss, bool isThresholdFormulaError)
 {
     paymentResult.IntermediateAdjudicatedValue = smartBox.CAA;
     paymentResult.ExpressionResult             = paymentTypeStopLoss.Threshold;
     if (paymentTypeStopLoss.Expression != null)
     {
         paymentResult.IsFormulaError = paymentResult.IsFormulaError || isThresholdFormulaError;
     }
     paymentResult.Expression = string.Format("{0}{1}{2}", Constants.StartSquareBracket,
                                              paymentTypeStopLoss.Expression, Constants.EndSquareBracket);
     paymentResult.ExpandedExpression = paymentTypeStopLoss.ExpandedExpression;
 }
Ejemplo n.º 4
0
        public JsonResult AddEditPaymentTypeStopLoss(PaymentTypeStopLossViewModel paymentTypeStopLossViewModel)
        {
            PaymentTypeStopLoss stopLossPaymentInfo =
                AutoMapper.Mapper.Map <PaymentTypeStopLossViewModel, PaymentTypeStopLoss>(paymentTypeStopLossViewModel);
            long stoplossId  = 0;
            bool isValidated = Utilities.ValidateExpression(stopLossPaymentInfo.Expression, Constants.StopLossClaimValuePair);

            if (isValidated)
            {
                stopLossPaymentInfo.UserName = GetCurrentUserName();
                stoplossId = PostApiResponse <long>(Constants.PaymentTypeStopLoss, Convert.ToString(Enums.Action.AddEditPaymentTypeStopLoss), stopLossPaymentInfo);
            }
            return(Json(new { success = isValidated, Id = stoplossId }));
        }
        /// <summary>
        /// Get Payment Type StopLoss
        /// </summary>
        /// <param name="paymentTypeStopLoss"></param>
        /// <returns></returns>
        public PaymentTypeStopLoss GetPaymentTypeStopLoss(PaymentTypeStopLoss paymentTypeStopLoss)
        {
            // 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, paymentTypeStopLoss.PaymentTypeId);
            _db.AddInParameter(_cmd, "@ContractID", DbType.Int64, paymentTypeStopLoss.ContractId);
            _db.AddInParameter(_cmd, "@ContractServiceTypeID", DbType.Int64, paymentTypeStopLoss.ServiceTypeId);
            _db.AddInParameter(_cmd, "@ServiceLineTypeId", DbType.Int64, 0);
            _db.AddInParameter(_cmd, "@UserName", DbType.String, paymentTypeStopLoss.UserName);

            // Retrieve the results of the Stored Procedure in Data set
            DataSet paymentTypeStopLossDataSet = _db.ExecuteDataSet(_cmd);

            if (paymentTypeStopLossDataSet != null && paymentTypeStopLossDataSet.Tables.Count > 0)
            {
                //populating StopLoss data
                if (paymentTypeStopLossDataSet.Tables[0].Rows != null && paymentTypeStopLossDataSet.Tables[0] != null && paymentTypeStopLossDataSet.Tables[0].Rows.Count > 0)
                {
                    PaymentTypeStopLoss paymentStopLoss = new PaymentTypeStopLoss
                    {
                        Expression          = Convert.ToString(paymentTypeStopLossDataSet.Tables[0].Rows[0]["Threshold"]),
                        Percentage          = DBNull.Value == paymentTypeStopLossDataSet.Tables[0].Rows[0]["Percentage"] ? (double?)null : Convert.ToDouble(paymentTypeStopLossDataSet.Tables[0].Rows[0]["Percentage"]),
                        PaymentTypeDetailId = Convert.ToInt64(paymentTypeStopLossDataSet.Tables[0].Rows[0]["PaymentTypeDetailID"]),
                        Days                = Convert.ToString(paymentTypeStopLossDataSet.Tables[0].Rows[0]["Days"]),
                        RevCode             = Convert.ToString(paymentTypeStopLossDataSet.Tables[0].Rows[0]["RevCode"]),
                        HcpcsCode           = Convert.ToString(paymentTypeStopLossDataSet.Tables[0].Rows[0]["CPTCode"]),
                        StopLossConditionId = Convert.ToInt32(paymentTypeStopLossDataSet.Tables[0].Rows[0]["StopLossConditionID"]),
                        IsExcessCharge      = paymentTypeStopLossDataSet.Tables[0].Rows[0]["IsExcessCharge"] != DBNull.Value && Convert.ToBoolean(paymentTypeStopLossDataSet.Tables[0].Rows[0]["IsExcessCharge"]),
                    };
                    return(paymentStopLoss);
                }
            }

            //returns response to Business layer
            return(null);
        }
        /// <summary>
        /// Gets the type of the payment.
        /// </summary>
        /// <param name="contractId">The contract identifier.</param>
        /// <param name="contractServiceTypeId">The contract service type identifier.</param>
        /// <param name="dtData">The dt data.</param>
        /// <returns></returns>
        public static PaymentTypeStopLoss GetPaymentType(long?contractId, long?contractServiceTypeId, DataTable dtData)
        {
            PaymentTypeStopLoss paymentTypeStopLoss = null;

            if (dtData != null && dtData.Rows.Count > 0)
            {
                paymentTypeStopLoss = (from DataRow row in dtData.Rows
                                       where
                                       ((row["ContractId"] != DBNull.Value &&
                                         Convert.ToInt64(row["ContractId"]) == contractId)
                                        ||
                                        (row["contractServiceTypeId"] != DBNull.Value &&
                                         Convert.ToInt64(row["contractServiceTypeId"]) == contractServiceTypeId))
                                       select new PaymentTypeStopLoss
                {
                    Percentage = Convert.ToDouble(
                        row["Percentage"]),
                    ContractId = DBNull.Value == row["ContractId"]
                            ? (long?)null
                            : Convert.ToInt64(
                        row["ContractId"]),
                    ServiceTypeId =
                        DBNull.Value == row["ContractServiceTypeID"]
                                ? (long?)null
                                : Convert.ToInt64(
                            row["ContractServiceTypeID"]),
                    RevCode = Convert.ToString(row["RevCode"]).Replace(" ", ""),
                    HcpcsCode = Convert.ToString(row["CPTCODE"]).Replace(" ", ""),
                    Expression = Convert.ToString(row["Threshold"]),
                    PaymentTypeDetailId = Convert.ToInt64(row["PaymentTypeDetailID"]),
                    StopLossConditionId = Convert.ToInt32(row["StopLossConditionID"]),
                    IsExcessCharge = Convert.ToBoolean(row["IsExcessCharge"]),
                    Days = Convert.ToString(row["Days"]),
                    PaymentTypeId = (byte)Enums.PaymentTypeCodes.StopLoss
                }).FirstOrDefault();

                if (paymentTypeStopLoss != null)
                {
                    List <ICondition> conditions = new List <ICondition>();
                    if (!string.IsNullOrEmpty(paymentTypeStopLoss.RevCode))
                    {
                        ICondition conditionRevCode = new Condition
                        {
                            ConditionOperator = (byte)Enums.ConditionOperation.EqualTo,
                            OperandIdentifier = (byte)Enums.OperandIdentifier.RevCode,
                            RightOperand      = paymentTypeStopLoss.RevCode
                        };
                        conditionRevCode = UpdatePropertyAndOperand(conditionRevCode);
                        conditions.Add(conditionRevCode);
                    }
                    if (!string.IsNullOrEmpty(paymentTypeStopLoss.HcpcsCode))
                    {
                        ICondition conditionHcpcsCode = new Condition
                        {
                            ConditionOperator = (byte)Enums.ConditionOperation.EqualTo,
                            OperandIdentifier = (byte)Enums.OperandIdentifier.HcpcsCode,
                            RightOperand      = paymentTypeStopLoss.HcpcsCode
                        };
                        conditionHcpcsCode = UpdatePropertyAndOperand(conditionHcpcsCode);
                        conditions.Add(conditionHcpcsCode);
                    }
                    paymentTypeStopLoss.Conditions = conditions;
                }
            }
            return(paymentTypeStopLoss);
        }
 public PaymentTypeStopLoss GetPaymentTypeStopLoss(PaymentTypeStopLoss paymentTypeStopLoss)
 {
     return((PaymentTypeStopLoss)_paymentTypeStopLossLogic.GetPaymentType(paymentTypeStopLoss));
 }
 public long AddEditPaymentTypeStopLoss(PaymentTypeStopLoss paymentTypeStopLoss)
 {
     return(_paymentTypeStopLossLogic.AddEditPaymentType(paymentTypeStopLoss));
 }