public HttpResponseMessage Electricity(HttpRequestMessage req, DL_Electricity electricity) { if (electricity != null && !string.IsNullOrEmpty(electricity.UserId) && !string.IsNullOrEmpty(electricity.Key) && !string.IsNullOrEmpty(electricity.CusAcc) && electricity.Amount > 0 && !string.IsNullOrEmpty(electricity.DueDate) && electricity.ServiceId > 0 && !string.IsNullOrEmpty(electricity.CusMob)) { try { User user = new User() { Password = electricity.Key, UserId = electricity.UserId }; //validate user Validation.UserCheck(user); if (Validation._IsSuccess) { DL_ElectricityReturn electricityReturn = dash.PayElectrictyBills(electricity); if (dash._IsSuccess) { return(req.CreateResponse <DL_ElectricityReturn>(HttpStatusCode.OK, electricityReturn)); } else { return(req.CreateErrorResponse(HttpStatusCode.InternalServerError, "ServerError")); } } Logger.WriteLog(LogLevelL4N.FATAL, "Unauthorized Request"); return(req.CreateResponse(HttpStatusCode.Unauthorized, "Unauthorized")); } catch (Exception ex) { Logger.WriteLog(LogLevelL4N.ERROR, "Inside the TransferFund api | Error : " + ex.Message); Logger.WriteLog(LogLevelL4N.FATAL, "Bad Request"); return(req.CreateResponse(HttpStatusCode.BadRequest, "Bad Request")); } } Logger.WriteLog(LogLevelL4N.FATAL, "Bad Request"); return(req.CreateResponse(HttpStatusCode.BadRequest, "Bad Request")); }
//Electricity Request public DL_ElectricityReturn PayElectrictyBills(DL_Electricity electricity) { try { #region Check Account available balance and servie status. this.SpName = DL_StoreProcedure.SP_DHS_API_AvailableBalanceNServieStatus; //Sp Name || Get the Available balance and Service status. SqlParameter[] p = new SqlParameter[2]; p[0] = new SqlParameter("@UserId", electricity.UserId); p[1] = new SqlParameter("@OpId", electricity.ServiceId); ds = db.GetDataSet(this.SpName, p); UserInfo userInfo = null; if (ds != null && ds.Tables.Count > 0) { DataRow drc = ds.Tables[0].Rows[0]; userInfo = new UserInfo() { AvailBal = Convert.ToDouble(drc["AvailableBalance"] != null ? drc["AvailableBalance"] : 0), Margin = Convert.ToDouble(drc["Margin"]), ServiceStatus = Convert.ToBoolean(drc["ServiceStatus"]), UType = Convert.ToInt32(drc["UType"]), IsFixedCharge = Convert.ToBoolean(drc["IsFixedCharge"]) }; } #endregion double _fixedCharge = 2; if (userInfo.IsFixedCharge) { _fixedCharge = (userInfo.Margin); } if (userInfo.AvailBal >= (electricity.Amount + _fixedCharge)) //Margin will be fixed amount in this case { this.SpName = DL_StoreProcedure.SP_DHS_API_PayElectricity; //Sp Name electricityReturn = new DL_ElectricityReturn(); _IsSuccess = true; SqlParameter[] param = new SqlParameter[10]; param[0] = new SqlParameter("@UserId", electricity.UserId.Trim()); param[1] = new SqlParameter("@Key", electricity.Key); param[2] = new SqlParameter("@ServiceId", electricity.ServiceId); param[3] = new SqlParameter("@Amount", electricity.Amount); param[4] = new SqlParameter("@BU", electricity.BU); param[5] = new SqlParameter("@CusAcc", electricity.CusAcc); param[6] = new SqlParameter("@CusMob", electricity.CusMob); param[7] = new SqlParameter("@CyDiv", electricity.CyDiv); param[8] = new SqlParameter("@DueDate", electricity.DueDate); param[9] = new SqlParameter("@Date", indianTime); // param[10] = new SqlParameter("@Charge", _fixedCharge); ds = db.GetDataSet(this.SpName, param); if (ds != null && ds.Tables.Count > 0) { DataRow dr = ds.Tables[0].Rows[0]; electricityReturn.AvaiBal = Convert.ToDouble(dr["AvaiBal"]); electricityReturn.Status = Convert.ToInt32(dr["Status"]); } } else //not enough balance { electricityReturn = new DL_ElectricityReturn() { AvaiBal = userInfo.AvailBal, Status = 2 } }; this._IsSuccess = true; } catch (Exception ex) { Logger.WriteLog(LogLevelL4N.ERROR, "Error @ PayElectrictyBills : " + ex.Message); _IsSuccess = false; } return(electricityReturn); }