//DELETE: api/Alertas/1 public HttpResponseMessage Delete(int id) { HttpResponseMessage answer = null; AlertResponse response = new AlertResponse(); try { int rowCount = AlertDataDb.alertDelete(id); if (rowCount > 0) { response.Code = 1; response.Message = "Eliminado"; } else { response.Code = 0; response.Message = "Error al eliminar"; } answer = Request.CreateResponse(response); } catch (Exception ex) { response.Code = -1; response.Message = ex.ToString(); answer = Request.CreateResponse(response); } return(answer); }
//PUT: api/Alertas/ public HttpResponseMessage Put([FromBody] Alertas values) { HttpResponseMessage answer = null; AlertResponse response = new AlertResponse(); try { int rowCount = AlertDataDb.alertUpdate(values); if (rowCount > 0) { response.Code = 1; response.Message = "Actualizado"; } else { response.Code = 0; response.Message = "No actualizado"; } answer = Request.CreateResponse(response); } catch (Exception ex) { response.Code = -1; response.Message = ex.ToString(); answer = Request.CreateResponse(response); } return(answer); }
public async Task <HttpResponseMessage> CreateAsync(MT_Alert AMD) { Db = con.SurgeryCenterDb(AMD.Slug); AlertResponse Response = new AlertResponse(); try { UniqueID = con.GetUniqueKey(); AMD.Alert_Unique_ID = UniqueID; AMD.Alert_Create_Date = con.ConvertTimeZone(AMD.Alert_TimeZone, Convert.ToDateTime(AMD.Alert_Create_Date)); AMD.Alert_Modify_Date = con.ConvertTimeZone(AMD.Alert_TimeZone, Convert.ToDateTime(AMD.Alert_Modify_Date)); DocumentReference docRef = Db.Collection("MT_Alert").Document(UniqueID); WriteResult Result = await docRef.SetAsync(AMD); if (Result != null) { Response.Status = con.StatusSuccess; Response.Message = con.MessageSuccess; Response.Data = AMD; } else { Response.Status = con.StatusNotInsert; Response.Message = con.MessageNotInsert; Response.Data = null; } } catch (Exception ex) { Response.Status = con.StatusFailed; Response.Message = con.MessageFailed + ", Exception : " + ex.Message; } return(ConvertToJSON(Response)); }
//POST: api/Alertas public HttpResponseMessage Post([FromBody] Alertas values) { HttpResponseMessage answer = null; AlertResponse response = new AlertResponse(); try { int index = AlertDataDb.alertAdd(values); if (index > 0) { response.Code = 1; response.Message = "Guardado"; } else { response.Code = 0; response.Message = "No guardado"; } answer = Request.CreateResponse(response); } catch (Exception ex) { response.Code = -1; response.Message = ex.ToString(); answer = Request.CreateResponse(response); } return(answer); }
//[Authorize(Roles ="SAdmin")] public async Task <HttpResponseMessage> GetDeletedList(MT_Alert AMD) { Db = con.SurgeryCenterDb(AMD.Slug); AlertResponse Response = new AlertResponse(); try { List <MT_Alert> AnesList = new List <MT_Alert>(); Query docRef = Db.Collection("MT_Alert").WhereEqualTo("Alert_Is_Deleted", true).WhereEqualTo("Alert_Create_By", AMD.Alert_Create_By); QuerySnapshot ObjQuerySnap = await docRef.GetSnapshotAsync(); if (ObjQuerySnap != null) { foreach (DocumentSnapshot Docsnapshot in ObjQuerySnap.Documents) { AnesList.Add(Docsnapshot.ConvertTo <MT_Alert>()); } Response.DataList = AnesList.OrderBy(o => o.Alert_Name).ToList(); } Response.Status = con.StatusSuccess; Response.Message = con.MessageSuccess; } catch (Exception ex) { Response.Status = con.StatusFailed; Response.Message = con.MessageFailed + ", Exception : " + ex.Message; } return(ConvertToJSON(Response)); }
//[Authorize(Roles = "Admin")] public async Task <HttpResponseMessage> GetAsync(MT_Alert AMD) { Db = con.SurgeryCenterDb(AMD.Slug); AlertResponse Response = new AlertResponse(); try { MT_Alert Inci = new MT_Alert(); Query docRef = Db.Collection("MT_Alert").WhereEqualTo("Alert_Unique_ID", AMD.Alert_Unique_ID).WhereEqualTo("Alert_Is_Deleted", false); QuerySnapshot ObjQuerySnap = await docRef.GetSnapshotAsync(); if (ObjQuerySnap != null) { Response.Data = ObjQuerySnap.Documents[0].ConvertTo <MT_Alert>(); } Response.Status = con.StatusSuccess; Response.Message = con.MessageSuccess; } catch (Exception ex) { Response.Status = con.StatusFailed; Response.Message = con.MessageFailed + ", Exception : " + ex.Message; } return(ConvertToJSON(Response)); }
public async Task <HttpResponseMessage> Remove(MT_Alert AMD) { Db = con.SurgeryCenterDb(AMD.Slug); AlertResponse Response = new AlertResponse(); try { DocumentReference docRef = Db.Collection("MT_Alert").Document(AMD.Alert_Unique_ID); WriteResult Result = await docRef.DeleteAsync(); if (Result != null) { Response.Status = con.StatusSuccess; Response.Message = con.MessageSuccess; Response.Data = null; } else { Response.Status = con.StatusNotDeleted; Response.Message = con.MessageNotDeleted; Response.Data = null; } } catch (Exception ex) { Response.Status = con.StatusFailed; Response.Message = con.MessageFailed + ", Exception : " + ex.Message; } return(ConvertToJSON(Response)); }
//GET: api/Alertas public HttpResponseMessage Get() { HttpResponseMessage answer = null; AlertResponse response = new AlertResponse(); try { using (DataSet data = AlertDataDb.alertGetAll()) { if (data != null) { response.Code = 1; response.Message = "Ok"; if (data.Tables[0].Rows.Count > 0) { Alertas[] list = new Alertas[data.Tables[0].Rows.Count]; for (int i = 0; i < data.Tables[0].Rows.Count; i++) { Alertas obj = new Alertas(); obj.id = Convert.ToInt32(data.Tables[0].Rows[i][0]); obj.nombre_recordatorio = Convert.ToString(data.Tables[0].Rows[i][1]); obj.hora_de_recordatorio = Convert.ToString(data.Tables[0].Rows[i][2]); obj.monto = Convert.ToInt32(data.Tables[0].Rows[i][3]); obj.repetir = Convert.ToInt32(data.Tables[0].Rows[i][4]); obj.id_usuario = Convert.ToInt32(data.Tables[0].Rows[i][5]); list[i] = obj; } response.Values = list; } answer = Request.CreateResponse(response); } else { response.Code = -1; response.Message = "mmm algo ha salido mal"; answer = Request.CreateResponse(response); } } } catch (Exception ex) { response.Code = -1; response.Message = ex.ToString(); answer = Request.CreateResponse(response); } return(answer); }
private static IEnumerable <TriggeredEvent> ProcessRanges(AlertResponse currentAlerts, IEnumerable <Data.Models.AlertType> alertTypes, IEnumerable <Data.Models.CapturedPC> capturedPCs, IEnumerable <Data.Models.Recording> recordings, IEnumerable <Data.Models.Country> countries) { var events = new List <TriggeredEvent>(); foreach (var alert in currentAlerts.Ranges) { if (alert.Time_Ranges.Count() > 1) { for (int i = 0; i < alert.Time_Ranges.Count(); i++) { events.Add(new TriggeredEvent { Event_Type = "Range", Alert_Type = alertTypes.FirstOrDefault(x => x.Id == alert.Alert_Type_Id)?.Name, Computer_Name = capturedPCs.FirstOrDefault(x => x.Id == alert.Capture_PC_Id)?.Name, Recording_Name = recordings.FirstOrDefault(x => x.Id == alert.Recording_Id)?.Name, Event_Date = alert.Time_Ranges.ElementAt(i).Start.ToShortDateString(), Event_Time = alert.Time_Ranges.ElementAt(i).Start.ToShortTimeString(), Is_Active = alert.Currently_In_Alert_State.ToString(), Duration = alert.Time_Spent_In_Alert_State.ToString(), Country = countries.FirstOrDefault(x => x.CountryCode == capturedPCs.FirstOrDefault(y => y.Id == alert.Capture_PC_Id).CountryCode).CountryName }); } continue; } events.Add(new TriggeredEvent { Event_Type = "Range", Alert_Type = alertTypes.FirstOrDefault(x => x.Id == alert.Alert_Type_Id)?.Name, Computer_Name = capturedPCs.FirstOrDefault(x => x.Id == alert.Capture_PC_Id)?.Name, Recording_Name = recordings.FirstOrDefault(x => x.Id == alert.Recording_Id)?.Name, Event_Date = alert.Time_Ranges.ElementAt(0).Start.ToShortDateString(), Event_Time = alert.Time_Ranges.ElementAt(0).Start.ToShortTimeString(), Is_Active = alert.Currently_In_Alert_State.ToString(), Duration = alert.Time_Spent_In_Alert_State.ToString(), Country = countries.FirstOrDefault(x => x.CountryCode == capturedPCs.FirstOrDefault(y => y.Id == alert.Capture_PC_Id).CountryCode).CountryName }); } return(events); }
private static IEnumerable <TriggeredEvent> ProcessEvents(AlertResponse currentAlerts, IEnumerable <Data.Models.AlertType> alertTypes, IEnumerable <Data.Models.CapturedPC> capturedPCs, IEnumerable <Data.Models.Recording> recordings, IEnumerable <Data.Models.Country> countries) { var events = new List <TriggeredEvent>(); foreach (var alert in currentAlerts.Events) { if (alert.Timestamps.Count > 1) { for (int i = 0; i < alert.Timestamps.Count; i++) { events.Add(new TriggeredEvent { Event_Type = "Event", Alert_Type = alertTypes.FirstOrDefault(x => x.Id == alert.Alert_Type_Id)?.Name, Computer_Name = capturedPCs.FirstOrDefault(x => x.Id == alert.Capture_PC_Id)?.Name, Recording_Name = recordings.FirstOrDefault(x => x.Id == alert.Recording_Id)?.Name, Event_Date = alert.Timestamps.ElementAt(i).ToShortDateString(), Event_Time = alert.Timestamps.ElementAt(i).ToShortTimeString(), Time_Between = alert.Average_Time_Between_Events.ToString(), Country = countries.FirstOrDefault(x => x.CountryCode == capturedPCs.FirstOrDefault(y => y.Id == alert.Capture_PC_Id).CountryCode).CountryName }); } continue; } events.Add(new TriggeredEvent { Event_Type = "Event", Alert_Type = alertTypes.FirstOrDefault(x => x.Id == alert.Alert_Type_Id)?.Name, Computer_Name = capturedPCs.FirstOrDefault(x => x.Id == alert.Capture_PC_Id)?.Name, Recording_Name = recordings.FirstOrDefault(x => x.Id == alert.Recording_Id)?.Name, Event_Date = alert.Timestamps.ElementAt(0).ToShortDateString(), Event_Time = alert.Timestamps.ElementAt(0).ToShortTimeString(), Time_Between = alert.Average_Time_Between_Events.ToString(), Country = countries.FirstOrDefault(x => x.CountryCode == capturedPCs.FirstOrDefault(y => y.Id == alert.Capture_PC_Id).CountryCode).CountryName }); } return(events); }
//[Authorize(Roles ="SAdmin")] public async Task <HttpResponseMessage> GetAlertListFilterWithSCPO(MT_Alert AMD) { Db = con.SurgeryCenterDb(AMD.Slug); AlertResponse Response = new AlertResponse(); try { List <MT_Alert> AnesList = new List <MT_Alert>(); MT_Alert Alert = new MT_Alert(); Query docRef = Db.Collection("MT_Alert").WhereEqualTo("Alert_Is_Deleted", false).WhereEqualTo("Alert_Is_Active", true).OrderBy("Alert_Name"); QuerySnapshot ObjQuerySnap = await docRef.GetSnapshotAsync(); if (ObjQuerySnap != null) { foreach (DocumentSnapshot Docsnapshot in ObjQuerySnap.Documents) { Alert = Docsnapshot.ConvertTo <MT_Alert>(); if (AMD.Alert_Surgery_Physician_Id == Alert.Alert_Surgery_Physician_Id) { AnesList.Add(Alert); } else if (Alert.Alert_Surgery_Physician_Id == "0") { AnesList.Add(Alert); } } Response.DataList = AnesList.OrderBy(o => o.Alert_Name).ToList(); } Response.Status = con.StatusSuccess; Response.Message = con.MessageSuccess; } catch (Exception ex) { Response.Status = con.StatusFailed; Response.Message = con.MessageFailed + ", Exception : " + ex.Message; } return(ConvertToJSON(Response)); }
public HttpResponseMessage getAlerts(string securityToken, int schoolId) { AlertResponse response = null; if (IsValid(securityToken)) { ISchool school = new SchoolService(this._dbContext); response = new AlertResponse { Status = "OK" }; response.Alerts = school.GetAlerts(schoolId); CurrentLoggerProvider.Info(string.Format("Retrieved ipmortant links. Count = {0}", response.Alerts != null ? response.Alerts.Count() : 0)); } else { response = new AlertResponse { Status = "Error", ErrorCode = "ERR1001", ErrorMessage = "Invalid or expired token" }; CurrentLoggerProvider.Info(string.Format("Invalid Request. School Id: {0}", schoolId)); } return(Request.CreateResponse(HttpStatusCode.OK, response)); }
private static AlertResponse ProcessAlertsWithFilters(AlertResponse currentAlerts, RequestFilters filters) { if (filters.EventType.HasValue) { if (filters.EventType == EventType.Event) { currentAlerts.Ranges = new List <AlertRange>(); } if (filters.EventType == EventType.Range) { currentAlerts.Events = new List <AlertEvent>(); } } if (filters.AlertTypeId.HasValue) { currentAlerts.Events = currentAlerts.Events.Where(x => x.Alert_Type_Id == filters.AlertTypeId); currentAlerts.Ranges = currentAlerts.Ranges.Where(x => x.Alert_Type_Id == filters.AlertTypeId); } if (filters.CapturedPCId.HasValue) { currentAlerts.Events = currentAlerts.Events.Where(x => x.Capture_PC_Id == filters.CapturedPCId); currentAlerts.Ranges = currentAlerts.Ranges.Where(x => x.Capture_PC_Id == filters.CapturedPCId); } if (filters.RecordingId.HasValue) { currentAlerts.Events = currentAlerts.Events.Where(x => x.Recording_Id == filters.RecordingId); currentAlerts.Ranges = currentAlerts.Ranges.Where(x => x.Recording_Id == filters.RecordingId); } return(currentAlerts); }
public async Task <HttpResponseMessage> UpdateAsync(MT_Alert AMD) { Db = con.SurgeryCenterDb(AMD.Slug); AlertResponse Response = new AlertResponse(); try { Dictionary <string, object> initialData = new Dictionary <string, object> { { "Alert_Name", AMD.Alert_Name }, { "Alert_Modify_Date", con.ConvertTimeZone(AMD.Alert_TimeZone, Convert.ToDateTime(AMD.Alert_Modify_Date)) } }; DocumentReference docRef = Db.Collection("MT_Alert").Document(AMD.Alert_Unique_ID); WriteResult Result = await docRef.UpdateAsync(initialData); if (Result != null) { Response.Status = con.StatusSuccess; Response.Message = con.MessageSuccess; Response.Data = AMD; } else { Response.Status = con.StatusNotUpdate; Response.Message = con.MessageNotUpdate; Response.Data = null; } } catch (Exception ex) { Response.Status = con.StatusFailed; Response.Message = con.MessageFailed + ", Exception : " + ex.Message; } return(ConvertToJSON(Response)); }
public void SendMail(AlertResponse response, NotificationTitleType type, decimal percentange = 0) { Notification n = new Notification(); n.Id = ObjectId.GenerateNewId(); n.Style = NotificationStyles.INFO.ToString(); n.AccountId = response.Id; n.CreatedAt = DateTime.UtcNow; if (type == NotificationTitleType.PRICE_ABOWE || type == NotificationTitleType.PRICE_BELOW) { n.Message = string.Format("Exchange: {4}{0}Market: {5}{0}{0}Above Price: {1}{0}Saved Price: {2}{0}Below Price: {3}{0}{0}Current Price:{7}{0}{0}Date: {6:dd.MM.yyyy HH:mm} UTC", Environment.NewLine, response.Alert.AboveValue, response.Alert.SavedValue, response.Alert.BelowValue, response.Exchange.ExchangeName, response.Market.Code, DateTime.UtcNow, response.Market.Ticker.Last); } else if (type == NotificationTitleType.PERCENTANGE_ABOWE || type == NotificationTitleType.PERCENTANGE_BELOW) { n.Message = string.Format("Exchange: {4}{0}Market: {5}{0}Above Percent: % {1:0.00}{0}Saved Price: {2}{0}Below Percent: % {3:0.00}{0}{0}Current Price:{8}{0}Percentange:% {7:0.00}{0}{0}Date: {6:dd.MM.yyyy HH:mm} UTC", Environment.NewLine, response.Alert.AboveValue, response.Alert.SavedValue, response.Alert.BelowValue, response.Exchange.ExchangeName, response.Market.Code, DateTime.UtcNow, percentange, response.Market.Ticker.Last); } n.Title = response.Market.Code + " is " + type.ToString(); n.Type = NotificationTypes.EMAIL.ToString(); n.Repeat = 1; string displayName; if (string.IsNullOrEmpty(response.Name) && string.IsNullOrEmpty(response.Surname)) { displayName = response.Email; } else { displayName = string.Format("{0} {1}", response.Name, response.Surname); } Response mailResponse = MailBL.GetInstance().SendMail(response.Email, n.Title, n.Message, displayName); if (mailResponse.IsSuccess) { n.CompletedAt = DateTime.UtcNow; n.Status = NotificationStatus.SENT.ToString(); n.StatusMessage = mailResponse.Message; } else { n.Status = NotificationStatus.HASERROR.ToString(); n.StatusMessage = mailResponse.Message; } AccountBL.GetInstance().AddNotification(n); Console.WriteLine(n.Title + "---" + DateTime.Now); }
public Task SendMailAsync(AlertResponse response, NotificationTitleType type, decimal percentange = 0) => Task.Run(() => SendMail(response, type, percentange));