/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult Sql(Context context) { if (!Mime.ValidateOnApi(contentType: context.ContentType)) { return(ApiResults.BadRequest(context: context)); } var extendedApi = context.RequestDataString.Deserialize <ExtendedApi>(); if (extendedApi == null) { return(ApiResults.BadRequest(context: context)); } var data = ExecuteDataSetAsDictionary( context: context, name: extendedApi.Name, _params: extendedApi.Params); if (data == null) { return(ApiResults.BadRequest(context: context)); } return(ApiResults.Get( statusCode: 200, limitPerDate: 0, limitRemaining: 0, response: new { Data = data })); }
/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult SetByApi(Context context) { var api = context.RequestDataString.Deserialize <SessionApi>(); if (api == null || api.SessionKey.IsNullOrEmpty() || api.SessionValue.IsNullOrEmpty()) { return(ApiResults.Get(ApiResponses.BadRequest(context: context))); } try { SetUserArea( context: context, key: api.SessionKey, value: api.SessionValue, page: false); } catch { return(ApiResults.Get(ApiResponses.Error(context, new ErrorData(Error.Types.InternalServerError)))); } return(ApiResults.Get(new { StatusCode = 200, Response = new { context.UserId, Key = api.SessionKey } }.ToJson())); }
public System.Web.Mvc.ContentResult GetByApi() { SetSite(); switch (Site.ReferenceType) { case "Issues": if (SiteId == ReferenceId) { return(IssueUtilities.GetByApi( ss: Site.IssuesSiteSettings(ReferenceId))); } else { return(IssueUtilities.GetByApi( ss: Site.IssuesSiteSettings(ReferenceId), issueId: ReferenceId)); } case "Results": if (SiteId == ReferenceId) { return(ResultUtilities.GetByApi( ss: Site.ResultsSiteSettings(ReferenceId))); } else { return(ResultUtilities.GetByApi( ss: Site.ResultsSiteSettings(ReferenceId), resultId: ReferenceId)); } default: return(ApiResults.Get(ApiResponses.BadRequest())); } }
/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult GetByApi(Context context) { var api = context.RequestDataString.Deserialize <SessionApi>(); if (api == null || api.SessionKey.IsNullOrEmpty()) { return(ApiResults.Get(ApiResponses.BadRequest(context: context))); } var value = GetUserArea( context: context, key: api.SessionKey, useUserSessionData: api.SavePerUser); if (value == null) { return(ApiResults.Get(ApiResponses.NotFound(context))); } return(ApiResults.Get(new { StatusCode = 200, Response = new { context.UserId, Key = api.SessionKey, Value = value } }.ToJson())); }
/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult DeleteByApi(Context context) { var api = context.RequestDataString.Deserialize <SessionApi>(); if (api == null || api.SessionKey.IsNullOrEmpty()) { return(ApiResults.Get(ApiResponses.BadRequest(context: context))); } if (GetUserArea(context, api.SessionKey, api.SavePerUser) == null) { return(ApiResults.Get(ApiResponses.NotFound(context))); } try { DeleteUserArea( context: context, key: api.SessionKey, page: false, sessionGuid: api.SavePerUser ? "@" + context.UserId : context.SessionGuid); } catch { return(ApiResults.Get(ApiResponses.Error(context, new ErrorData(Error.Types.InternalServerError)))); } return(ApiResults.Get(new { StatusCode = 200, Response = new { context.UserId, Key = api.SessionKey } }.ToJson())); }
public System.Web.Mvc.ContentResult Create(Context context) { if (!context.ContractSettings.Attachments()) { return null; } var statements = new List<SqlStatement>(); statements.Add(Rds.InsertBinaries( selectIdentity: true, param: Rds.BinariesParam() .TenantId(context.TenantId) .ReferenceId(ReferenceId) .Guid(Guid) .Title(Name ?? FileName) .BinaryType("Attachments") .Bin(GetBin()) .FileName(Name ?? FileName) .Extension(Extention) .Size(Size) .ContentType(ContentType))); var response = Repository.ExecuteScalar_response( context: context, transactional: true, selectIdentity: true, statements: statements.ToArray()); return ApiResults.Success( id: response.Id.ToLong(), message: this.Guid); }
public void OnAuthorization(AuthorizationContext filterContext) { var context = new Context(); var api = Forms.String().Deserialize <Api>(); if (api?.ApiKey.IsNullOrEmpty() == false) { var userModel = new UserModel().Get( context: context, ss: null, where : Rds.UsersWhere() .ApiKey(api.ApiKey) .Disabled(0)); if (userModel.AccessStatus != Databases.AccessStatuses.Selected) { filterContext.Result = ApiResults.Unauthorized(); } else { userModel.SetSession(); if (!Contract.Api(context: context)) { Sessions.Abandon(); filterContext.Result = ApiResults.BadRequest(); } } } else if (!Sessions.LoggedIn()) { filterContext.Result = ApiResults.Unauthorized(); } }
/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult Sql(Context context) { var extendedApi = context.RequestDataString.Deserialize <ExtendedApi>(); if (extendedApi == null) { return(ApiResults.BadRequest(context: context)); } var extendedSql = ExtensionWhere <ParameterAccessor.Parts.ExtendedSql>( context: context, extensions: Parameters.ExtendedSqls ?.Where(o => o.Api) .Where(o => o.Name == extendedApi.Name)) .FirstOrDefault(); if (extendedSql == null) { return(ApiResults.BadRequest(context: context)); } var param = new SqlParamCollection(); extendedApi.Params?.ForEach(part => param.Add( variableName: part.Key, value: part.Value)); var dataSet = Rds.ExecuteDataSet( context: context, statements: new SqlStatement( commandText: extendedSql.CommandText, param: param)); var data = new Dictionary <string, List <Dictionary <string, object> > >(); foreach (DataTable dataTable in dataSet.Tables) { var table = new List <Dictionary <string, object> >(); foreach (DataRow dataRow in dataTable.Rows) { var row = new Dictionary <string, object>(); foreach (DataColumn dataColumn in dataTable.Columns) { row.AddIfNotConainsKey( dataColumn.ColumnName, dataRow[dataColumn.ColumnName]); } table.Add(row); } data.AddIfNotConainsKey(dataTable.TableName, table); } return(ApiResults.Get( statusCode: 200, limitPerDate: 0, limitRemaining: 0, response: new { Data = data })); }
public ContentResult Delete(Context context, int id) { var log = new SysLogModel(context: context); var result = context.Authenticated ? new UserModel().DeleteByApi(context: context, userId: id) : ApiResults.Unauthorized(context: context); log.Finish(context: context, responseSize: result.Content.Length); return(result); }
public ContentResult Get(Context context) { var log = new SysLogModel(context: context); var result = context.Authenticated ? new DeptModel().GetByApi(context: context) : ApiResults.Unauthorized(context: context); log.Finish(context: context, responseSize: result.Content.Length); return(result); }
public ContentResult Sql(Context context) { var log = new SysLogModel(context: context); var result = context.Authenticated ? ExtensionUtilities.Sql(context: context) : ApiResults.Unauthorized(context: context); log.Finish(context: context, responseSize: result.Content.Length); return(result); }
/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult ApiDonwload(Context context, string guid) { if (!Mime.ValidateOnApi(contentType: context.ContentType)) { return(ApiResults.BadRequest(context: context)); } if (!context.ContractSettings.Attachments()) { return(null); } return(FileContentResults.DownloadByApi(context: context, guid: guid.ToUpper())); }
public ContentResult Get(Context context, string guid) { var log = new SysLogModel(context: context); var result = context.Authenticated ? BinaryUtilities.ApiDonwload( context: context, guid: guid) : ApiResults.Unauthorized(context: context); log.Finish(context: context, responseSize: result.Content.Length); return(result); }
public ContentResult Get(Context context, int id) { var log = new SysLogModel(context: context); var result = context.Authenticated ? DeptUtilities.GetByApi( context: context, ss: SiteSettingsUtilities.ApiDeptsSiteSettings(context), deptId: id) : ApiResults.Unauthorized(context: context); log.Finish(context: context, responseSize: result.Content.Length); return(result); }
public async Task <HttpResponseMessage> Delete() { var body = await Request.Content.ReadAsStringAsync(); var context = new Context(apiRequestBody: body); var log = new SysLogModel(context: context); var result = context.Authenticated ? SessionUtilities.DeleteByApi(context: context) : ApiResults.Unauthorized(context: context); log.Finish(context: context, responseSize: result.Content.Length); return(result.ToHttpResponse(Request)); }
public System.Web.Mvc.ContentResult CreateByApi() { SetSite(); switch (Site.ReferenceType) { case "Issues": return(IssueUtilities.CreateByApi( ss: Site.IssuesSiteSettings(ReferenceId))); case "Results": return(ResultUtilities.CreateByApi( ss: Site.ResultsSiteSettings(ReferenceId))); default: return(ApiResults.Get(ApiResponses.BadRequest())); } }
public ContentResult Delete(Context context, int id) { var log = new SysLogModel(context: context); var result = context.Authenticated ? GroupUtilities.DeleteByApi( context: context, ss: SiteSettingsUtilities.ApiGroupsSiteSettings(context), groupId: id) : ApiResults.Unauthorized(context: context); log.Finish( context: context, responseSize: result.Content.Length); return(result); }
public async Task <HttpResponseMessage> Sql() { var body = await Request.Content.ReadAsStringAsync(); var context = new Context( sessionStatus: User?.Identity?.IsAuthenticated == true, sessionData: User?.Identity?.IsAuthenticated == true, apiRequestBody: body); var log = new SysLogModel(context: context); var result = context.Authenticated ? ExtensionUtilities.Sql(context: context) : ApiResults.Unauthorized(context: context); log.Finish(context: context, responseSize: result.Content.Length); return(result.ToHttpResponse(Request)); }
public async Task <HttpResponseMessage> Export(long id) { var body = await Request.Content.ReadAsStringAsync(); var context = new Context( sessionStatus: User?.Identity?.IsAuthenticated == true, sessionData: User?.Identity?.IsAuthenticated == true, apiRequestBody: body); var log = new SysLogModel(context: context); var result = context.Authenticated ? new ItemModel(context: context, referenceId: id).ExportByApi(context: context) : ApiResults.Unauthorized(context: context); log.Finish(context: context, responseSize: result.Content.Length); return(result.ToHttpResponse(Request)); }
public async Task <HttpResponseMessage> Get(string guid) { var body = await Request.Content.ReadAsStringAsync(); var context = new Context(apiRequestBody: body); var log = new SysLogModel(context: context); var result = context.Authenticated ? BinaryUtilities.ApiDonwload( context: context, guid: guid) : ApiResults.Unauthorized(context: context); log.Finish( context: context, responseSize: result?.Content.Length ?? 0); return(result.ToHttpResponse(Request)); }
public async Task <HttpResponseMessage> Send(string reference, long id) { var body = await Request.Content.ReadAsStringAsync(); var context = new Context( sessionStatus: User?.Identity?.IsAuthenticated == true, sessionData: User?.Identity?.IsAuthenticated == true, apiRequestBody: body, contentType: Request.Content.Headers.ContentType.MediaType); var log = new SysLogModel(context: context); var result = context.Authenticated ? OutgoingMailUtilities.SendByApi( context: context, reference: reference, id: id) : ApiResults.Unauthorized(context: context); log.Finish(context: context, responseSize: result.Content.Length); return(result.ToHttpResponse(Request)); }
public ActionResult GetStream(Context context, string guid) { var log = new SysLogModel(context: context); if (!context.Authenticated) { return(ApiResults.Unauthorized(context: context)); } var file = BinaryUtilities.Donwload( context: context, guid: guid.ToUpper()); if (file == null) { return(ApiResults.NotFound(context: context)); } var response = CreateFileSteramResult(file); log.Finish( context: context, responseSize: file?.Length ?? 0); return(response); }
public static async Task <ApiResults> GetUserRecordsAsync(string numRecords) { var n = null == numRecords ? "500" : numRecords; string baseUrl = "https://randomuser.me"; string query = $"/api/?results={n}&nat=us"; //WebHelper.client.BaseAddress = new Uri(baseUrl); WebHelper.client.DefaultRequestHeaders.Accept.Clear(); WebHelper.client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json") ); ApiResults records = null; HttpResponseMessage response = await client.GetAsync(baseUrl + query); if (response.IsSuccessStatusCode) { string resp = await response.Content.ReadAsStringAsync(); records = JsonConvert.DeserializeObject <ApiResults>(resp); } return(records); }
/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult SendByApi(Context context, string reference, long id) { var itemModel = new ItemModel( context: context, referenceId: id); var siteModel = new SiteModel( context: context, siteId: itemModel.SiteId); var ss = SiteSettingsUtilities.Get( context: context, siteModel: siteModel, referenceId: itemModel.ReferenceId); var outgoingMailModel = new OutgoingMailModel( context: context, reference: reference, referenceId: id); var data = context.RequestDataString.Deserialize <OutgoingMailApiModel>(); if (data == null) { return(ApiResults.Get(ApiResponses.BadRequest(context: context))); } if (!siteModel.WithinApiLimits()) { return(ApiResults.Get(ApiResponses.OverLimitApi( context: context, siteId: itemModel.SiteId, limitPerSite: Parameters.Api.LimitPerSite))); } if (data.From != null) { outgoingMailModel.From = new System.Net.Mail.MailAddress(data.From); } if (data.To != null) { outgoingMailModel.To = data.To; } if (data.Cc != null) { outgoingMailModel.Cc = data.Cc; } if (data.Bcc != null) { outgoingMailModel.Bcc = data.Bcc; } if (data.Title != null) { outgoingMailModel.Title = new Title(data.Title); } if (data.Body != null) { outgoingMailModel.Body = data.Body; } var invalid = OutgoingMailValidators.OnSending( context: context, ss: ss, outgoingMailModel: outgoingMailModel); switch (invalid.Type) { case Error.Types.None: break; default: return(ApiResults.Error( context: context, errorData: invalid)); } var errorData = outgoingMailModel.Send( context: context, ss: ss); switch (errorData.Type) { case Error.Types.None: SiteUtilities.UpdateApiCount(context: context, ss: ss); return(ApiResults.Success( id: id, limitPerDate: Parameters.Api.LimitPerSite, limitRemaining: Parameters.Api.LimitPerSite - ss.ApiCount, message: Displays.MailTransmissionCompletion( context: context, data: outgoingMailModel.Title.DisplayValue))); default: return(ApiResults.Error( context: context, errorData: errorData)); } }
public ContentResult Upload(Context context, string guid) { var log = new SysLogModel(context: context); if (!context.Authenticated) { return(ApiResults.Unauthorized(context: context)); } if (context.PostedFiles == null || context.PostedFiles.Count == 0) { return(ApiResults.BadRequest(context: context)); } var postedFile = context.PostedFiles[0]; string filePath = string.Empty; try { if (!guid.IsNullOrEmpty()) { guid = guid.ToUpper(); var referenceId = FileContentResults.GetReferenceId( context: context, guid: guid); if (referenceId == 0) { return(ApiResults.NotFound(context: context)); } var targetGuid = context.QueryStrings.Bool("overwrite") ? guid : Strings.NewGuid(); filePath = SaveFileToTemp( guid: targetGuid, file: postedFile); context.ApiRequestBody = CreateAttachmentsHashJson( context: context, guidParam: $"{guid},{targetGuid}", referenceId: referenceId, file: postedFile); var response = new ItemModel( context: context, referenceId: referenceId) .UpdateByApi(context: context); log.Finish( context: context, responseSize: response?.Content?.Length ?? 0); return(response); } else { if (context.QueryStrings.Long("id") == 0 || !Mime.ValidateOnApi(contentType: context.ContentType)) { return(ApiResults.BadRequest(context: context)); } var targetGuid = Strings.NewGuid(); filePath = SaveFileToTemp( guid: targetGuid, file: postedFile); var attachment = Attachment( guidParam: targetGuid, referenceId: context.QueryStrings.Long("id"), file: postedFile); var response = attachment.Create(context: context); log.Finish( context: context, responseSize: response?.Content?.Length ?? 0); return(response); } } finally { Files.DeleteFile(filePath); } }