public SimplyDataUpdater(DiscordSocketClient client, ConfigDataAccess configDataAccess, SimplyDataService simplyDataService) { _client = client; _configDataAccess = configDataAccess; _simplyDataService = simplyDataService; }
public DataSet ObtenerKardexPieza(int?iCodigoPieza, string sCodigoBarras) { try { if (common.EstaServicioDisponible()) { if (!iCodigoPieza.HasValue && string.IsNullOrEmpty(sCodigoBarras)) { throw new Exception("Debe proporcionar un valor por lo menos para realizar la consulta."); } HHsvc.SCPP_HH proxy = ConfigDataAccess.ObtenerServiceProxy(); DataSet dsKardex = proxy.ObtenerKardexPieza(iCodigoPieza, true, sCodigoBarras); if (dsKardex.Tables.Count < 2) { throw new Exception("No se pudo obtener la informacion de esta pieza"); } if (dsKardex.Tables[0] == null || dsKardex.Tables[0].Rows.Count < 1) { throw new Exception("No se pudo obtener la informacion hacerca de esta pieza"); } return(dsKardex); } else { throw new Exception("No se tiene conexion a la red, intente mas tarde."); } } catch (Exception ex) { throw ex; } }
public async Task <string> SendOrderSuccessSMSNotification(CustomerDetails customer, IConfiguration _configuration) { string status = string.Empty; try { ConfigDataAccess _configAccess = new ConfigDataAccess(_configuration); DatabaseResponse smsTemplateResponse = await _configAccess.GetSMSNotificationTemplate(NotificationEvent.OrderSuccess.ToString()); var notificationMessage = MessageHelper.GetSMSMessage(NotificationEvent.OrderSuccess.ToString(), ((SMSTemplates)smsTemplateResponse.Results).TemplateName, customer.Name, customer.DeliveryEmail, customer.ShippingContactNumber, customer.OrderNumber, customer.SlotDate.ToString("dd MMM yyyy"), new DateTime(customer.SlotFromTime.Ticks).ToString("hh:mm tt") + " to " + new DateTime(customer.SlotToTime.Ticks).ToString("hh:mm tt")); DatabaseResponse notificationResponse = await _configAccess.GetConfiguration(ConfiType.Notification.ToString()); MiscHelper parser = new MiscHelper(); var notificationConfig = parser.GetNotificationConfig((List <Dictionary <string, string> >)notificationResponse.Results); Publisher orderSuccessSMSNotificationPublisher = new Publisher(_configuration, notificationConfig.SNSTopic); status = await orderSuccessSMSNotificationPublisher.PublishAsync(notificationMessage); LogInfo.Information("SMS send status : " + status + " " + JsonConvert.SerializeObject(notificationMessage)); return(status); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical) + "SMS failure for OrderNumber:" + customer.OrderNumber); throw ex; } }
public DataTable Obtener(int iCodigoOperador, int iCodigoProceso) { HHsvc.SCPP_HH proxy = null; try { if (iCodigoOperador == 0) { throw new Exception("Valor de parametro Usuario incorrecto."); } if (common.EstaServicioDisponible()) { proxy = ConfigDataAccess.ObtenerServiceProxy(); return(proxy.ObtenerProduccion(iCodigoOperador, true, iCodigoProceso, true)); } else { throw new Exception("No es posible establecer comunicación."); } } catch (Exception ex) { throw ex; } finally { if (proxy != null) { proxy.Dispose(); } } }
public async Task <IActionResult> GetConfigValue([FromHeader] string Token, [FromRoute] string ConfigKey) { try { if (string.IsNullOrEmpty(ConfigKey)) { return(Ok(new OperationResponse { HasSucceeded = false, Message = StatusMessages.DomainValidationError, IsDomainValidationErrors = true })); } ConfigDataAccess _configAccess = new ConfigDataAccess(_iconfiguration); return(Ok(new ServerResponse { HasSucceeded = true, Message = StatusMessages.SuccessMessage, Result = await _configAccess.GetConfigValue(ConfigKey, Token) })); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); return(Ok(new OperationResponse { HasSucceeded = false, Message = StatusMessages.ServerError, IsDomainValidationErrors = false })); } }
public TempusServerUpdater(DiscordSocketClient client, ConfigDataAccess configDataAccess, TempusDataAccess tempusDataAccess) { _client = client; _configDataAccess = configDataAccess; _tempusDataAccess = tempusDataAccess; }
public async Task <IActionResult> PushEmail([FromBody] NotificationMessage emailSubscribers) { try { if (!ModelState.IsValid) { LogInfo.Error(StatusMessages.DomainValidationError); new OperationResponse { HasSucceeded = false, IsDomainValidationErrors = true, Message = string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)) }; } OutboundEmail _email = new OutboundEmail(); ConfigDataAccess _configAccess = new ConfigDataAccess(_iconfiguration); DatabaseResponse forgotPasswordMsgTemplate = await _configAccess.GetEmailNotificationTemplate(NotificationEvent.ForgetPassword.ToString()); EmailTemplate template = (EmailTemplate)forgotPasswordMsgTemplate.Results; var responses = await _email.SendEmail(emailSubscribers, _iconfiguration, template); foreach (Mandrill.Model.MandrillSendMessageResponse response in responses) { //DatabaseResponse notificationLogResponse = await _configAccess.CreateEMailNotificationLog(new NotificationLog { Status=response.Status.ToString(), Email=response.Email }); } // log notificaiton in db return(Ok(new ServerResponse { HasSucceeded = true, Message = StatusMessages.SuccessMessage })); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); return(Ok(new OperationResponse { HasSucceeded = false, Message = StatusMessages.ServerError, IsDomainValidationErrors = false })); } }
public void Configuration(IAppBuilder appBuilder) { var httpConfig = new HttpConfiguration(); var configData = new ConfigDataAccess(); var appConfig = configData.GetConfig(); // ConfigureAuth(appBuilder, httpConfig, appConfig); ConfigureCors(appBuilder); ConfigureDI(appBuilder, httpConfig); ConfigureRouting(appBuilder, httpConfig); appBuilder.MapSignalR("/signalr", new HubConfiguration()); }
public DataTable ObtenerCarroPendienteSecadorDetalle(int iCarro) { try { if (common.EstaServicioDisponible()) { HHsvc.SCPP_HH proxy = ConfigDataAccess.ObtenerServiceProxy(); DataTable dtCarrosPendientesDetalle = proxy.ObtenerCarrosPendientesSecadorDetalle(iCarro, true); return(dtCarrosPendientesDetalle); } else { throw new Exception("No se tiene conexion a la red, intente mas tarde."); } } catch (Exception ex) { throw ex; } }
static void Main(string[] args) { var configDataAccess = new ConfigDataAccess(); var config = configDataAccess.GetConfig(); var plex = new PlexDbDataAccess(config.PlexDbConnectionString); using (var f = File.OpenWrite($"movie-dump-{DateTime.Now.ToString("yyyyMMdd-hhmmss")}.csv")) { using (var sw = new StreamWriter(f)) { using (var csv = new CsvWriter(sw)) { csv.WriteRecords(plex.GetMovies()); } } } }
public async Task <IActionResult> GetGenericConfigValue([FromHeader(Name = "Grid-General-Token")] string Token, [FromRoute] string ConfigKey) { try { if (string.IsNullOrEmpty(ConfigKey)) { return(Ok(new OperationResponse { HasSucceeded = false, Message = StatusMessages.DomainValidationError, IsDomainValidationErrors = true })); } TokenValidationHelper tokenValidationHelper = new TokenValidationHelper(); if (!tokenValidationHelper.ValidateGenericToken(Token, _iconfiguration)) { return(Ok(new OperationResponse { HasSucceeded = false, Message = EnumExtensions.GetDescription(DbReturnValue.TokenAuthFailed), IsDomainValidationErrors = true })); } ConfigDataAccess _configAccess = new ConfigDataAccess(_iconfiguration); return(Ok(new ServerResponse { HasSucceeded = true, Message = StatusMessages.SuccessMessage, Result = await _configAccess.GetConfigValue(ConfigKey) })); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); return(Ok(new OperationResponse { HasSucceeded = false, Message = StatusMessages.ServerError, IsDomainValidationErrors = false })); } }
private void InitializeVariables() { _client = new DiscordSocketClient( new DiscordSocketConfig { AlwaysDownloadUsers = true, MessageCacheSize = 50 }); _commands = new CommandService(new CommandServiceConfig { DefaultRunMode = RunMode.Async }); var connectionStrings = File.ReadAllLines(DiscordConstants.DatabaseInfoPath); _tempusDataAccess = new TempusDataAccess(); _todoDataAccess = new TodoDataAccess(connectionStrings[0]); _configDataAccess = new ConfigDataAccess(connectionStrings[0]); //_justJumpDataAccess = new JustJumpDataAccess(connectionStrings[1]); //_simplyHightowerDataAccess = new SimplyHightowerDataAccess(connectionStrings[2]); _tempusServerUpdater = new TempusServerUpdater(_client, _configDataAccess, _tempusDataAccess); _tempusActivityUpdater = new TempusActivityUpdater(_client, _configDataAccess, _tempusDataAccess); _simplyTFServerUpdater = new SimplyTFServerUpdater(_client, _configDataAccess); }
public static List <SysConfig> GetAllConfig() { return(ConfigDataAccess.GetAllConfig()); }
public SimplyTFServerUpdater(DiscordSocketClient client, ConfigDataAccess configDataAccess) { _client = client; _configDataAccess = configDataAccess; }
public static void Insert(SysConfig entity) { ConfigDataAccess.Insert(entity); }
public static void Update(SysConfig entity) { ConfigDataAccess.Update(entity); }
public async Task <string> SendEmailNotification(int CustomerID, int OrderID, IConfiguration _configuration) { string status = string.Empty; try { ConfigDataAccess _configAccess = new ConfigDataAccess(_configuration); BuddyDataAccess _buddyAccess = new BuddyDataAccess(); CommonDataAccess _commonAccess = new CommonDataAccess(_configuration); DatabaseResponse templateResponse = await _configAccess.GetEmailNotificationTemplate(NotificationEvent.OrderSuccess.ToString()); LogInfo.Information("Email Customer : " + CustomerID); // Get Customer Data from CustomerID for email and Name CustomerDetails customer = await _commonAccess.GetCustomerDetailByOrder(CustomerID, OrderID); LogInfo.Information("Email Customer data : " + JsonConvert.SerializeObject(customer)); if (customer != null && !string.IsNullOrEmpty(customer.DeliveryEmail)) { StringBuilder orderedNumbersSb = new StringBuilder(); StringBuilder deliveryAddressSb = new StringBuilder(); orderedNumbersSb.Append("<table width='100%'>"); int counter = 0; foreach (OrderNumber number in customer.OrderedNumbers) { if (counter > 0) { orderedNumbersSb.Append("<tr><td width='100%' colspan='3'> </td></tr>"); } orderedNumbersSb.Append("<tr><td width='25%'>MobileNumber :<td width='20%'>"); orderedNumbersSb.Append(number.MobileNumber); orderedNumbersSb.Append("</td><td width ='55%'></td></tr>"); orderedNumbersSb.Append("<tr><td width='25%'>Plan :<td width='20%'>"); orderedNumbersSb.Append(number.PlanMarketingName); orderedNumbersSb.Append("</td><td width ='55%'>"); orderedNumbersSb.Append(number.PricingDescription); orderedNumbersSb.Append("</td></tr> "); counter++; } orderedNumbersSb.Append("</table>"); if (!string.IsNullOrEmpty(customer.ShippingBuildingNumber)) { deliveryAddressSb.Append(customer.ShippingBuildingNumber); } if (!string.IsNullOrEmpty(customer.ShippingStreetName)) { if (deliveryAddressSb.ToString() != "") { deliveryAddressSb.Append(" "); } deliveryAddressSb.Append(customer.ShippingStreetName); } deliveryAddressSb.Append("<br />"); StringBuilder shippingAddr2 = new StringBuilder(); if (!string.IsNullOrEmpty(customer.ShippingFloor)) { shippingAddr2.Append(customer.ShippingFloor); } if (!string.IsNullOrEmpty(customer.ShippingUnit)) { if (shippingAddr2.ToString() != "") { shippingAddr2.Append(" "); } shippingAddr2.Append(customer.ShippingUnit); } if (!string.IsNullOrEmpty(customer.ShippingBuildingName)) { if (shippingAddr2.ToString() != "") { shippingAddr2.Append(" "); } shippingAddr2.Append(customer.ShippingBuildingName); } deliveryAddressSb.Append(shippingAddr2.ToString()); deliveryAddressSb.Append("<br />"); if (!string.IsNullOrEmpty(customer.ShippingPostCode)) { deliveryAddressSb.Append(customer.ShippingPostCode); } string deliveryDate = customer.SlotDate.ToString("dd MMM yyyy") + " " + new DateTime(customer.SlotFromTime.Ticks).ToString("hh:mm tt") + " to " + new DateTime(customer.SlotToTime.Ticks).ToString("hh:mm tt"); var notificationMessage = MessageHelper.GetMessage(customer.ToEmailList, customer.Name, NotificationEvent.OrderSuccess.ToString(), ((EmailTemplate)templateResponse.Results).TemplateName, _configuration, customer.DeliveryEmail, customer.OrderNumber, orderedNumbersSb.ToString(), deliveryAddressSb.ToString(), customer.AlternateRecipientName == null ? customer.Name : customer.AlternateRecipientName, customer.AlternateRecipientContact == null ? customer.ShippingContactNumber : customer.AlternateRecipientContact, string.IsNullOrEmpty(customer.AlternateRecipientEmail) ? customer.DeliveryEmail : customer.AlternateRecipientEmail, deliveryDate, customer.ReferralCode); DatabaseResponse notificationResponse = await _configAccess.GetConfiguration(ConfiType.Notification.ToString()); MiscHelper parser = new MiscHelper(); var notificationConfig = parser.GetNotificationConfig((List <Dictionary <string, string> >)notificationResponse.Results); LogInfo.Information("Email Message to send " + JsonConvert.SerializeObject(notificationResponse)); Publisher orderSuccessNotificationPublisher = new Publisher(_configuration, notificationConfig.SNSTopic); try { status = await orderSuccessNotificationPublisher.PublishAsync(notificationMessage); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical) + "publishing :" + status); throw ex; } LogInfo.Information("Email send status : " + status + " " + JsonConvert.SerializeObject(notificationMessage)); status = await SendOrderSuccessSMSNotification(customer, _configuration); try { DatabaseResponse notificationLogResponse = await _configAccess.CreateEMailNotificationLogForDevPurpose( new NotificationLogForDevPurpose { EventType = NotificationEvent.OrderSuccess.ToString(), Message = JsonConvert.SerializeObject(notificationMessage) }); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical) + "Email send:" + OrderID); throw ex; } } } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical) + "OrderID:" + OrderID); throw ex; } return(status); }
public static void Delete(SysConfig entity) { ConfigDataAccess.Delete(entity); }
private void cargarServicio() { try { string path = ""; try { path = ConfigurationManager.AppSettings["ConfigDirectory"] != null ? ConfigurationManager.AppSettings["ConfigDirectory"].ToString() : ""; } catch (Exception ePath) { path = ""; Log.EscribeLog("Error al obtener el path desde appSettings: " + ePath.Message); } string PathDestino = ""; try { PathDestino = ConfigurationManager.AppSettings["PathDes"].ToString(); //Verificar Folder if (!Directory.Exists(PathDestino)) { Directory.CreateDirectory(PathDestino); } } catch (Exception ePATHDES) { Log.EscribeLog("Existe un error al leer el path de destino: " + ePATHDES.Message); } ClienteF2CResponse mdl = new ClienteF2CResponse(); if (File.Exists(path + "info.xml")) { _conf = XMLConfigurator.getXMLfile(); id_Servicio = _conf.id_Sitio; AETitle = _conf.vchAETitle; vchPathRep = _conf.vchPathLocal; vchClaveSitio = _conf.vchClaveSitio; if (id_Servicio > 0 && vchClaveSitio != "") { Token = Security.Encrypt(id_Servicio + "|" + vchClaveSitio); } } Log.EscribeLog("Sitio: " + vchClaveSitio); if (vchClaveSitio != "") { mdl = ConfigDataAccess.getConeccion(vchClaveSitio, id_Servicio); if (mdl != null || _conf != null) { if (!(id_Servicio > 0)) { id_Servicio = mdl.id_Sitio; } if (vchClaveSitio == "") { vchClaveSitio = mdl.ConfigSitio.vchClaveSitio; } if (AETitle == "") { AETitle = mdl.ConfigSitio.vchAETitle; } if (Token != "") { Token = Security.Encrypt(id_Servicio + "|" + vchClaveSitio); } Log.EscribeLog("Inicio de CargarServicio SCP"); // preload dictionary to prevent timeouts var dict = DicomDictionary.Default; int port = 0; Log.EscribeLog("Puerto: " + (mdl.ConfigSitio == null ? _conf.intPuertoCliente : mdl.ConfigSitio.intPuertoCliente)); Log.EscribeLog("AETitle: " + AETitle); // start DICOM server on port from command line argument or 11112 try { if (_conf.intPuertoCliente > 0) { port = _conf.intPuertoCliente; } else { if (mdl.ConfigSitio.intPuertoCliente > 0) { port = (int)mdl.ConfigSitio.intPuertoCliente; } else { port = Convert.ToInt32(ConfigurationManager.AppSettings["Puerto"].ToString()); } } } catch (Exception ePuerto) { Console.WriteLine("No se pudo leer el puerto especificado, favor de verificar.: " + ePuerto.Message); Log.EscribeLog("No se pudo leer el puerto especificado, favor de verificar.: " + ePuerto.Message); } if (port > 0) { Console.WriteLine($"Iniciando Servidor C-Store SCP en el puerto {port}"); var server = DicomServer.Create <CStoreSCP>(port); Log.EscribeLog($"Iniciando Servidor C-Store SCP en el puerto {port}"); ConfigDataAccess.setService(id_Servicio, vchClaveSitio); // end process Console.WriteLine("Oprimir <return> para finalizar..."); Console.ReadLine(); } else { Console.WriteLine("No se pudo leer el puerto especificado, favor de verificar."); Log.EscribeLog("No se pudo leer el puerto especificado, favor de verificar."); } } } else { Console.WriteLine("No se pudo encontrar los datos para la búsqueda de sitio. En espera de los datos de configuración."); Log.EscribeLog("No se pudo encontrar los datos para la búsqueda de sitio. En espera de los datos de configuración."); } } catch (Exception eLoadService) { Log.EscribeLog("Error al cargar el servicio: " + eLoadService.Message); } }
public DicomCStoreResponse OnCStoreRequest(DicomCStoreRequest request) { try { //public static string PathDestino = ConfigurationManager.AppSettings["PathDes"].ToString(); string PathDestino = ""; try { PathDestino = ConfigurationManager.AppSettings["PathDes"].ToString(); //Verificar Folder if (!Directory.Exists(PathDestino)) { Directory.CreateDirectory(PathDestino); } } catch (Exception ePATHDES) { Log.EscribeLog("Existe un error al leer el path de destino: " + ePATHDES.Message); } if (vchPathRep == "") { vchPathRep = PathDestino; } if (vchPathRep != "") { string studyUid = ""; string AccNum = ""; string Modality = ""; string Edad = ""; string PatientID = ""; string patienName = ""; string genero = ""; string instUid = ""; string SOPClassUid = ""; string FechaNac = ""; string UniversalServiceID = ""; string studyDescription = ""; try { studyUid = request.Dataset.Contains(DicomTag.StudyInstanceUID) ? request.Dataset.Get <string>(DicomTag.StudyInstanceUID) : ""; } catch (Exception eUI) { studyUid = ""; } try { AccNum = request.Dataset.Contains(DicomTag.AccessionNumber) ? request.Dataset.Get <string>(DicomTag.AccessionNumber) : ""; } catch (Exception eUI) { AccNum = ""; } try { Modality = request.Dataset.Contains(DicomTag.Modality) ? request.Dataset.Get <string>(DicomTag.Modality) : ""; } catch (Exception eUI) { Modality = ""; } try { Edad = request.Dataset.Contains(DicomTag.PatientAge) ? request.Dataset.Get <string>(DicomTag.PatientAge) : ""; } catch (Exception eUI) { Edad = ""; } try { FechaNac = request.Dataset.Contains(DicomTag.PatientBirthDate) ? request.Dataset.Get <string>(DicomTag.PatientBirthDate) : ""; } catch (Exception eUI) { FechaNac = ""; } try { PatientID = request.Dataset.Contains(DicomTag.PatientID) ? request.Dataset.Get <string>(DicomTag.PatientID) : ""; } catch (Exception eUI) { PatientID = ""; } try { patienName = request.Dataset.Contains(DicomTag.PatientName) ? request.Dataset.Get <string>(DicomTag.PatientName) : ""; } catch (Exception eUI) { patienName = ""; } try { genero = request.Dataset.Contains(DicomTag.PatientSex) ? request.Dataset.Get <string>(DicomTag.PatientSex) : ""; } catch (Exception eUI) { genero = ""; } try { instUid = request.SOPInstanceUID.UID; } catch (Exception eUI) { instUid = ""; int i = BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0); if (i < 0) { i = i * (-1); } instUid = i.ToString(); Log.EscribeLog("No tiene SOPInstanceUID: "); } try { SOPClassUid = request.SOPClassUID.UID; } catch (Exception eUI) { SOPClassUid = ""; } try { UniversalServiceID = request.Dataset.Contains(DicomTag.StudyID) ? request.Dataset.Get <string>(DicomTag.StudyID) : ""; } catch (Exception eUI) { UniversalServiceID = ""; } try { studyDescription = request.Dataset.Contains(DicomTag.StudyDescription) ? request.Dataset.Get <string>(DicomTag.StudyDescription) : ""; } catch (Exception eUI) { studyDescription = ""; } Console.WriteLine(instUid.ToString()); Log.EscribeLog("Leyendo: " + instUid.ToString()); Log.EscribeLog("SOPClassUID: " + instUid.ToString()); var path = Path.GetFullPath(vchPathRep); path = Path.Combine(path, studyUid); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path = Path.Combine(path, instUid) + ".dcm"; DataAccessLocal.tbl_MST_EstudioAUX mdlEstudio = new DataAccessLocal.tbl_MST_EstudioAUX(); DataAccessLocal.tbl_DET_EstudioAUX mdlDetalle = new DataAccessLocal.tbl_DET_EstudioAUX(); bool valido = false; try { if (PatientID == "") { string idPac = Guid.NewGuid().ToString(); PatientID = vchClaveSitio + idPac.Substring(1, 5).Replace("-", ""); } else { PatientID = vchClaveSitio + PatientID; } //Obtener MST mdlEstudio.id_Sitio = id_Servicio; mdlEstudio.intModalidadID = getModalidad(Modality); mdlEstudio.PatientID = PatientID.Trim() == "" ? getPatientID(mdlEstudio.id_Sitio) : PatientID; mdlEstudio.vchPatientBirthDate = FechaNac; mdlEstudio.PatientName = patienName.Replace("^^", " ").Replace("^^^", " ").Replace("^", " "); mdlEstudio.datFecha = DateTime.Now; mdlEstudio.vchgenero = genero; mdlEstudio.vchEdad = Edad == "" && FechaNac != "" ? getEdad(FechaNac) : Edad; string ValidarAcc = AccNum.Trim(); string anteriorAccNum = getAccNumber((int)mdlEstudio.id_Sitio, (int)mdlEstudio.intModalidadID, mdlEstudio.PatientID); if (anteriorAccNum == "") { if (ValidarAcc == "") { string guid = Guid.NewGuid().ToString(); ValidarAcc = vchClaveSitio + guid.Substring(0, 5).Replace("-", ""); } else { ValidarAcc = vchClaveSitio + ValidarAcc; } } else { ValidarAcc = anteriorAccNum; } if (ValidarAcc.ToUpper().Length > 16) { ValidarAcc = ValidarAcc.ToUpper().Substring(0, 16); } else { ValidarAcc = ValidarAcc.ToUpper(); } mdlEstudio.vchAccessionNumber = ValidarAcc; //mdlEstudio.StudyID = UniversalServiceID; //mdlEstudio.StudyDescription = studyDescription; //Obtener DET mdlDetalle.vchNameFile = Path.GetFileName(path); mdlDetalle.vchPathFile = path.ToString(); mdlDetalle.vchStudyInstanceUID = studyUid; mdlDetalle.datFecha = DateTime.Now; mdlDetalle.intEstatusID = 1; mdlDetalle.bitSync = false; valido = true; } catch (Exception evalidar) { valido = false; Log.EscribeLog("Existe un error al obtener el estudio: " + evalidar.Message); } try { request.Dataset.Remove(DicomTag.PatientID); request.Dataset.Remove(DicomTag.AccessionNumber); request.Dataset.Remove(DicomTag.PatientAge); if (SOPClassUid == "") { request.Dataset.Remove(DicomTag.SOPClassUID); request.Dataset.Add(new DicomCodeString(DicomTag.SOPClassUID, instUid)); } request.Dataset.Add(new DicomCodeString(DicomTag.AccessionNumber, mdlEstudio.vchAccessionNumber)); request.Dataset.Add(new DicomCodeString(DicomTag.PatientID, mdlEstudio.PatientID)); request.Dataset.Add(new DicomCodeString(DicomTag.PatientAge, mdlEstudio.PatientID)); request.File.Save(path); long length = new System.IO.FileInfo(path).Length; mdlDetalle.intSizeFile = (int)length; ConfigDataAccess.setService(id_Servicio, vchClaveSitio); if (valido) { NapoleonAUXDataAccess.setEstudio(mdlEstudio, mdlDetalle); } } catch (Exception eSEND) { Log.EscribeLog("Existe error al guardar el archivo: " + eSEND.Message); } } else { Log.EscribeLog("No se encontro el path."); } } catch (Exception e) { Console.WriteLine("Existe un error: " + e.Message); Log.EscribeLog("Existe un error: " + e.Message); } return(new DicomCStoreResponse(request, DicomStatus.Success)); }
public async Task <string> SendAdminEmailNotificationOnIDReUpload(string email, string orderNumber) { string status = string.Empty; try { ConfigDataAccess _configAccess = new ConfigDataAccess(_iconfiguration); DatabaseResponse templateResponse = await _configAccess.GetEmailNotificationTemplate(NotificationEvent.ICValidationCustomerUpload.ToString()); DatabaseResponse notifyEmailResponse = ConfigHelper.GetValueByKey(ConfigKeys.IDReUploadNotifyEmail.ToString(), _iconfiguration); if (notifyEmailResponse.ResponseCode == (int)DbReturnValue.RecordExists && notifyEmailResponse.Results != null) { var notificationMessage = MessageHelper.GetMessage((string)notifyEmailResponse.Results, "Admin", NotificationEvent.ICValidationCustomerUpload.ToString(), ((EmailTemplate)templateResponse.Results).TemplateName, _iconfiguration, email, orderNumber); DatabaseResponse notificationResponse = await _configAccess.GetConfiguration(ConfiType.Notification.ToString()); MiscHelper parser = new MiscHelper(); var notificationConfig = parser.GetNotificationConfig((List <Dictionary <string, string> >)notificationResponse.Results); LogInfo.Information("Email Message to send " + JsonConvert.SerializeObject(notificationResponse)); Publisher orderSuccessNotificationPublisher = new Publisher(_iconfiguration, notificationConfig.SNSTopic); try { status = await orderSuccessNotificationPublisher.PublishAsync(notificationMessage); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical) + "publishing :" + status); throw ex; } LogInfo.Information("Email send status : " + status + " " + JsonConvert.SerializeObject(notificationMessage)); try { DatabaseResponse notificationLogResponse = await _configAccess.CreateEMailNotificationLogForDevPurpose( new NotificationLogForDevPurpose { EventType = NotificationEvent.OrderSuccess.ToString(), Message = JsonConvert.SerializeObject(notificationMessage) }); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical) + "Email send:" + email); throw ex; } } } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical) + "IDReUpload:" + email); throw ex; } return(status); }
public async void ProcessNotification(object message) { try { Amazon.SQS.Model.Message msg = (Amazon.SQS.Model.Message)message; string queMessage = msg.Body; //LogInfo.Information("8 - bsubscription is {" + msg.MessageId + "} object"); SNSSubscription subscription = JsonConvert.DeserializeObject <SNSSubscription>(queMessage); //LogInfo.Information("8 - bsubscription is {" + subscription.MessageId + "} object"); NotificationMessage NotMessage = JsonConvert.DeserializeObject <NotificationMessage>(subscription.Message); //LogInfo.Information("9 - NotMessage is {" + NotMessage.Message +" "+ NotMessage.MessageType + "} object"); // SNSSubscription messageObject= new SNSSubscription { Message=me}; // NotificationMessage notification= JsonConvert.DeserializeObject<NotificationMessage>(messageObject.Message); if (NotMessage.MessageType == NotificationMsgType.Email.GetDescription()) { OutboundEmail _email = new OutboundEmail(); ConfigDataAccess _configAccess = new ConfigDataAccess(_iconfiguration); DatabaseResponse emailTemplate = await _configAccess.GetEmailNotificationTemplate(NotMessage.Message.messagetemplate.ToString()); EmailTemplate template = (EmailTemplate)emailTemplate.Results; var responses = await _email.SendEmail(NotMessage, _iconfiguration, template); foreach (Mandrill.Model.MandrillSendMessageResponse response in responses) { foreach (NotificationParams param in NotMessage.Message.parameters) { if (response.Email == param.emailaddress) { DatabaseResponse notificationLogResponse = await _configAccess.CreateEMailNotificationLog(new NotificationLog { Status = response.Status.ToString() == "Sent" ? 1 : 0, Email = response.Email, EmailTemplateID = template.EmailTemplateID, EmailBody = template.EmailBody, EmailSubject = template.EmailSubject, ScheduledOn = subscription.Timestamp, SendOn = DateTime.Now }); } } } } else if (NotMessage.MessageType == NotificationMsgType.SMS.GetDescription()) { OutboundSMS _SMS = new OutboundSMS(); TextMessage smsData = new TextMessage(); ConfigDataAccess _configAccess = new ConfigDataAccess(_iconfiguration); DatabaseResponse smsTemplate = await _configAccess.GetSMSNotificationTemplate(NotMessage.Message.messagetemplate.ToString()); SMSTemplates template = (SMSTemplates)smsTemplate.Results; foreach (var item in NotMessage.Message.parameters) { smsData.PhoneNumber = item.mobilenumber; smsData.SMSText = template.SMSTemplate.Replace("*|NAME|*", item.name) .Replace("*|PARAM1|*", item.param1) .Replace("*|PARAM2|*", item.param2) .Replace("*|PARAM3|*", item.param3) .Replace("*|PARAM4|*", item.param4) .Replace("*|PARAM5|*", item.param5) .Replace("*|PARAM6|*", item.param6) .Replace("*|PARAM7|*", item.param7) .Replace("*|PARAM8|*", item.param8) .Replace("*|PARAM9|*", item.param9) .Replace("*|PARAM10|*", item.param10); //LogInfo.Information("10 - SendSMS is { "+ smsData+ "}"); string response = await _SMS.SendSMSNotification(smsData, _iconfiguration); await _configAccess.CreateSMSNotificationLog(new SMSNotificationLog() { Email = NotMessage.Message.parameters.Select(x => x.emailaddress).FirstOrDefault(), Mobile = smsData.PhoneNumber, SMSTemplateID = template.SMSTemplateID, SMSText = smsData.SMSText, Status = response != "failure" ? 1 : 0, ScheduledOn = subscription.Timestamp, SendOn = DateTime.Now }); } //LogInfo.Information("10 - SendSMSLog is { " + NotMessage.Message.parameters.Select(x => x.emailaddress).FirstOrDefault() + " " + smsData.PhoneNumber + " "+ response + "}"); } } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); } }
public static string GetConfig(string config_id) { return(ConfigDataAccess.GetConfig(config_id)); }
public async Task <IActionResult> ProcessSnsNotifications([FromHeader(Name = "x-amz-sns-message-type")] string snsMessageType, [FromHeader(Name = "x-amz-sns-rawdelivery")] bool isRawDelivery, string id = "") { try { //LogInfo.Information("1 - ProcessSnsNotification started with {"+ snsMessageType + "} object"); if (string.IsNullOrEmpty(snsMessageType)) { LogInfo.Information(SNSNotification.EmptySNSTypeHeader.ToString()); return(BadRequest()); } //if (isRawDelivery) //{ // string msg = "message is raw"; // for testing pupose, //} SNSSubscription notification = new SNSSubscription(); string requestBody = ""; using (var reader = new StreamReader(Request.Body)) { requestBody = reader.ReadToEndAsync().Result; } //LogInfo.Information("2 - Now fetching Body with {" + requestBody + "} object"); var requestMessage = Amazon.SimpleNotificationService.Util.Message.ParseMessage(requestBody); //LogInfo.Information("3 - Parsing messages with {" + requestMessage + "} object"); if (!requestMessage.IsMessageSignatureValid()) { LogInfo.Information(SNSNotification.InvalidSignature.ToString()); return(BadRequest()); } //temporary storage for testing string path = ConfigHelper.GetValueByKey("SNSNotificationPath", _iconfiguration).Results.ToString(); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } System.IO.File.WriteAllText(path + $@"/notifications_{DateTime.Now.ToString("yyyyMMddHHmmssffff")}.json", requestBody); // end temp if (string.IsNullOrEmpty(snsMessageType)) { //LogInfo.Information("4 - snsMessageType is {" + snsMessageType + "} object"); return(BadRequest()); } if (snsMessageType == Amazon.SimpleNotificationService.Util.Message.MESSAGE_TYPE_SUBSCRIPTION_CONFIRMATION && requestMessage.IsSubscriptionType) { Subscriber subscriber = new Subscriber(_iconfiguration); var client = subscriber.GetAmazonSimpleNotificationServiceClient(); //LogInfo.Information("5 - before snsMessageType is {" + client + "} object"); Amazon.SimpleNotificationService.Model.ConfirmSubscriptionResponse confirmSubscriptionResponse = await client.ConfirmSubscriptionAsync(requestMessage.TopicArn, requestMessage.Token); if (confirmSubscriptionResponse.HttpStatusCode == HttpStatusCode.OK) { LogInfo.Information(SNSNotification.SubscriptionConfirmed.ToString()); } //LogInfo.Information("5.1 - before snsMessageType is {" + client + "} object"); return(Ok()); } else if (snsMessageType == Amazon.SimpleNotificationService.Util.Message.MESSAGE_TYPE_UNSUBSCRIPTION_CONFIRMATION && requestMessage.IsUnsubscriptionType) { Subscriber subscriber = new Subscriber(_iconfiguration); var client = subscriber.GetAmazonSimpleNotificationServiceClient(); Amazon.SimpleNotificationService.Model.UnsubscribeResponse confirmUnSubscriptionResponse = await client.UnsubscribeAsync(notification.TopicArn); //LogInfo.Information("6 - before snsMessageType is {" + snsMessageType + "} object"); return(Ok()); } else if (snsMessageType == Amazon.SimpleNotificationService.Util.Message.MESSAGE_TYPE_NOTIFICATION && requestMessage.IsNotificationType) { //LogInfo.Information("7 - before snsMessageType is {" + snsMessageType + "} object"); ConfigDataAccess _configAccess = new ConfigDataAccess(_iconfiguration); MiscHelper helper = new MiscHelper(); DatabaseResponse notificationConfigResponse = await _configAccess.GetConfiguration(ConfiType.Notification.ToString()); NotificationConfig snsConfig = helper.GetNotificationConfig((List <Dictionary <string, string> >)notificationConfigResponse.Results); Subscriber subscriber = new Subscriber(_iconfiguration, snsConfig.SNSTopic, snsConfig.SQS); var client = subscriber.GetAmazonSimpleNotificationServiceClient(); Action <object> notificationSqsProcessor = ProcessNotification; await subscriber.ListenAsync(notificationSqsProcessor); return(Ok()); } else { return(BadRequest()); } } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); return(Ok()); } }