/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult GetByApi(Context context) { if (!Mime.ValidateOnApi(contentType: context.ContentType)) { return(ApiResults.BadRequest(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 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 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())); }
/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult DeleteByApi(Context context) { if (!Mime.ValidateOnApi(contentType: context.ContentType)) { return(ApiResults.BadRequest(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())); }
/// <summary> /// Fixed: /// </summary> public static System.Web.Mvc.ContentResult SendByApi(Context context, string reference, long id) { if (!Mime.ValidateOnApi(contentType: context.ContentType)) { return(ApiResults.BadRequest(context: context)); } 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); } }
/// <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 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 = Repository.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 })); }