public HttpResponseMessage BalanceUseSummary(HttpRequestMessage req, DL_BalanceUseSummary balance)
        {
            User user = new User()
            {
                Password = balance.Key, UserId = balance.UserId
            };

            Validation.UserCheck(user);
            if (Validation._IsSuccess)
            {
                try
                {
                    if (balance != null && !string.IsNullOrEmpty(balance.UserId) && !string.IsNullOrEmpty(balance.Key))
                    {
                        if (string.IsNullOrEmpty(balance.FromDate) && string.IsNullOrEmpty(balance.ToDate))
                        {
                            balance.ToDate   = null;
                            balance.FromDate = null;
                        }
                        if (string.IsNullOrEmpty(balance.Value))
                        {
                            balance.Value = null;
                        }

                        DL_BalanceUseSummaryReturn balanceReturn = dash.BalanceUseSummary(balance);
                        if (dash._IsSuccess)
                        {
                            return(req.CreateResponse <DL_BalanceUseSummaryReturn>(HttpStatusCode.OK, balanceReturn));
                        }
                        else
                        {
                            return(req.CreateErrorResponse(HttpStatusCode.InternalServerError, "ServerError"));
                        }
                    }

                    return(req.CreateResponse(HttpStatusCode.BadRequest, "Bad Request"));
                }
                catch (Exception ex)
                {
                    Logger.WriteLog(LogLevelL4N.ERROR, "Inside the BalanceUseSummary api | Error : " + ex.Message);
                    return(req.CreateErrorResponse(HttpStatusCode.InternalServerError, "ServerError"));
                }
            }
            Logger.WriteLog(LogLevelL4N.FATAL, "Unauthorized Request");
            return(req.CreateResponse(HttpStatusCode.Unauthorized, "Unauthorized"));
        }
        //Balance
        public DL_BalanceUseSummaryReturn BalanceUseSummary(DL_BalanceUseSummary balanceUseSummary)
        {
            this.SpName = DL_StoreProcedure.SP_DHS_API_BalanceUse; //Sp Name
            _IsSuccess  = true;
            try
            {
                SqlParameter[] param = new SqlParameter[5];
                param[0] = new SqlParameter("@UserId", balanceUseSummary.UserId);
                param[1] = new SqlParameter("@FromDate", balanceUseSummary.FromDate);
                param[2] = new SqlParameter("@ToDate", balanceUseSummary.ToDate);
                param[3] = new SqlParameter("@TypeId", balanceUseSummary.TypeId);
                param[4] = new SqlParameter("@Value", balanceUseSummary.Value);

                ds = db.GetDataSet(this.SpName, param);
                if (ds != null && ds.Tables.Count > 0)
                {
                    var    Json              = JsonConvert.SerializeObject(ds.Tables[0], Formatting.None);
                    var    balanceUse        = JsonConvert.DeserializeObject <List <DL_BalanceUse> >(Json);
                    double totalGivenBalance = 0;
                    double totalTakenBalance = 0;
                    foreach (var item in balanceUse)
                    {
                        if (item.Type == 1) //1 => Given
                        {
                            totalGivenBalance += Convert.ToDouble(item.Amount);
                        }
                        if (item.Type == 2)//2=> Taken
                        {
                            totalTakenBalance += Convert.ToDouble(item.Amount);
                        }
                    }
                    balanceReturn = new DL_BalanceUseSummaryReturn()
                    {
                        BalanceUse = balanceUse, TotalBalanceGiven = totalGivenBalance, TotalBalanceTaken = totalTakenBalance
                    };
                }
            }
            catch (Exception ex)
            {
                this._IsSuccess = false;
                Logger.WriteLog(LogLevelL4N.ERROR, "BalanceUseSummary return | Exception : " + ex.Message);
            }

            return(balanceReturn);
        }