public bool ExecuteEmail(EbApi Api, RabbitMqProducer MessageProducer3) { bool status; try { EbEmailTemplate emailTemplate = Api.GetEbObject <EbEmailTemplate>(this.Reference, Api.Redis, Api.ObjectsDB); List <Param> InputParams = EbApiHelper.GetEmailParams(emailTemplate, Api.Redis, Api.ObjectsDB); Api.FillParams(InputParams); MessageProducer3.Publish(new EmailAttachmentRequest() { ObjId = Convert.ToInt32(this.Reference.Split(CharConstants.DASH)[3]), Params = InputParams, UserId = Api.UserObject.UserId, UserAuthId = Api.UserObject.AuthId, SolnId = Api.SolutionId, RefId = this.Reference }); status = true; string msg = $"The mail has been sent successfully to {emailTemplate.To} with subject {emailTemplate.Subject} and cc {emailTemplate.Cc}"; Api.ApiResponse.Message.Description = msg; } catch (Exception ex) { throw new ApiException("[ExecuteEmail], " + ex.Message); } return(status); }
public object ExecuteDataWriter(EbApi Api) { List <DbParameter> dbParams = new List <DbParameter>(); try { EbDataWriter dataWriter = Api.GetEbObject <EbDataWriter>(Reference, Api.Redis, Api.ObjectsDB); List <Param> InputParams = dataWriter.GetParams(null); Api.FillParams(InputParams); foreach (Param param in InputParams) { dbParams.Add(Api.DataDB.GetNewParameter(param.Name, (EbDbTypes)Convert.ToInt32(param.Type), param.ValueTo)); } int status = Api.DataDB.DoNonQuery(dataWriter.Sql, dbParams.ToArray()); if (status > 0) { Api.ApiResponse.Message.Description = status + "row inserted"; return(true); } else { Api.ApiResponse.Message.Description = status + "row inserted"; return(false); } } catch (Exception ex) { throw new ApiException("[ExecuteDataWriter], " + ex.Message); } }
public object ExecuteDataReader(EbApi Api) { EbDataSet dataSet; try { EbDataReader dataReader = Api.GetEbObject <EbDataReader>(this.Reference, Api.Redis, Api.ObjectsDB); List <DbParameter> dbParameters = new List <DbParameter>(); List <Param> InputParams = dataReader.GetParams((RedisClient)Api.Redis); Api.FillParams(InputParams); foreach (Param param in InputParams) { dbParameters.Add(Api.DataDB.GetNewParameter(param.Name, (EbDbTypes)Convert.ToInt32(param.Type), param.ValueTo)); } dataSet = Api.DataDB.DoQueries(dataReader.Sql, dbParameters.ToArray()); } catch (Exception ex) { throw new ApiException("[ExecuteDataReader], " + ex.Message); } return(dataSet); }
public object ExecuteConnectApi(EbApi Api, Service Service) { ApiResponse resp = null; try { EbApi apiObject = Api.GetEbObject <EbApi>(this.Reference, Api.Redis, Api.ObjectsDB); if (apiObject.Name.Equals(Api.Name)) { Api.ApiResponse.Message.ErrorCode = ApiErrorCode.ResourceCircularRef; Api.ApiResponse.Message.Description = "Calling Api from the same not allowed, terminated due to circular reference"; throw new ApiException("[ExecuteConnectApi], Circular refernce"); } else { List <Param> InputParam = EbApiHelper.GetReqJsonParameters(apiObject.Resources, Api.Redis, Api.ObjectsDB); Api.FillParams(InputParam); Dictionary <string, object> d = InputParam.Select(p => new { prop = p.Name, val = p.Value }).ToDictionary(x => x.prop, x => x.val as object); string version = this.Version.Replace(".w", ""); resp = Service.Gateway.Send(new ApiMqRequest { Name = this.RefName, Version = version, Data = d, SolnId = Api.SolutionId, UserAuthId = Api.UserObject.AuthId, UserId = Api.UserObject.UserId }); if (resp.Message.ErrorCode == ApiErrorCode.NotFound) { Api.ApiResponse.Message.ErrorCode = ApiErrorCode.ResourceNotFound; Api.ApiResponse.Message.Description = resp.Message.Description; throw new ApiException("[ExecuteConnectApi], resource api not found"); } } } catch (Exception ex) { throw new ApiException("[ExecuteConnectApi], " + ex.Message); } return(resp); }
public object ExecuteSqlFunction(EbApi Api) { SqlFuncTestResponse response; try { EbSqlFunction sqlFunc = Api.GetEbObject <EbSqlFunction>(this.Reference, Api.Redis, Api.ObjectsDB); List <Param> InputParams = sqlFunc.GetParams(null); Api.FillParams(InputParams); response = EbObjectsHelper.SqlFuncTest(InputParams, sqlFunc.Name, Api.ObjectsDB); } catch (Exception ex) { throw new ApiException("[ExecuteSqlFunction], " + ex.Message); } return(response); }
public static string ExecuteDecrypt(String ciphertext, string KeyName, string Refid, EbApi Api, EncryptionAlgorithm EncryptionAlgorithm) { string pri_key = ""; string plaintext = ""; try { if (!String.IsNullOrEmpty(KeyName)) { pri_key = Api.Redis.Get <string>("privatekey_" + Api.SolutionId + "_" + KeyName); } if (String.IsNullOrEmpty(pri_key) && !String.IsNullOrEmpty(Refid)) { EbDataReader dataReader = Api.GetEbObject <EbDataReader>(Refid, Api.Redis, Api.ObjectsDB); List <DbParameter> dbParameters = new List <DbParameter> { Api.DataDB.GetNewParameter("keyname", EbDbTypes.String, KeyName) }; EbDataSet dataSet = Api.DataDB.DoQueries(dataReader.Sql, dbParameters.ToArray()); pri_key = dataSet.Tables?[0].Rows[0]["key"].ToString(); Api.Redis.Set <string>("privatekey_" + Api.SolutionId + "_" + KeyName, pri_key); } if (EncryptionAlgorithm == EncryptionAlgorithm.RSA) { plaintext = RSADecrypt(ciphertext, pri_key); } } catch (Exception ex) { throw new ApiException("[ExecuteEncrypt], " + ex.Message); } return(plaintext); }