//protected void addTokenToPars(ref JsonRequestHistorian oJson) //{ // if (Request != null && // Request.Headers != null && // Request.Headers.Authorization != null) { // string token = Request.Headers.Authorization.Scheme; // oJson.token= token; // } //} protected void addIPToPars(ref JsonRequestDb oJson) { if (oJson.pars == null) oJson.pars = new Dictionary<string, string>(); if (((HttpRequestMessage)Request).Properties.ContainsKey("MS_HttpContext")) { oJson.pars.Add("ip", ((System.Web.HttpContextWrapper)((HttpRequestMessage)Request).Properties["MS_HttpContext"]).Request.UserHostAddress); } else { oJson.pars.Add("ip", (Request.GetOwinContext() == null ? "na" : Request.GetOwinContext().Request.RemoteIpAddress)); } }
public DataTable KendoPost([FromBody]JsonRequestKendoDatasource value) { JsonRequestDb oJson=new JsonRequestDb(); oJson.pars = new Dictionary<string, string>(); // hozzáadom az oJson-hoz a pars objektumot if (value.pars != null && value.pars.Count != 0) { foreach (KeyValuePair<string,string> par in value.pars) { oJson.pars.Add(par.Key, par.Value); } } // hozzáadom az oJson-hoz az extraPars objektumot (ez a máshova nem tartozó paraméterek listája) if (value.extraPars != null && value.extraPars.Count !=0) { foreach (KeyValuePair<string, string> par in value.extraPars) { if (oJson.pars.ContainsKey(par.Key)) { throw new ApplicationException($"A paraméter ({par.Key}) a par objektumban és a szülő objektumban is létezik."); } oJson.pars.Add(par.Key, par.Value); } } addTokenToPars(oJson); using (_sql = new Sql(getConnectionString(value.db), BaseApiController.logInfoFactory())) { Dictionary<string, string> pars = oJson.pars; try { if (value.log == null || !value.log.enabled) _sql.logger.DisabledOnce(); using (DataTable dt = _sql.spExecuters[value.action](ref pars)) { if (dt !=null && dt.Rows.Count > 0) return dt; // az update, create esetén vissza kell adni a megkapott értékeket if (dt != null) { var row = dt.NewRow(); foreach (DataColumn col in dt.Columns) { if (oJson.pars.ContainsKey(col.ColumnName)) row[col.ColumnName] = oJson.pars[col.ColumnName]; } dt.Rows.Add(row); } return dt; } } catch (SqlException ex) { if (ex.State == (byte) Sql.stateNumber.NoPrivilege) { var errorResponse = Request.CreateErrorResponse(System.Net.HttpStatusCode.Unauthorized, "Ehhez a művelethez nincs jogosultságod. Jelentkezz be és próbáld újra"); throw new HttpResponseException(errorResponse); } throw; } } }