Esempio n. 1
0
        //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);
        }
Esempio n. 2
0
        //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);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        //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);
        }
Esempio n. 5
0
        //[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));
        }
Esempio n. 6
0
        //[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));
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        //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);
        }
Esempio n. 11
0
        //[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));
        }
Esempio n. 12
0
        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);
        }
Esempio n. 14
0
        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));
        }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
 public Task SendMailAsync(AlertResponse response, NotificationTitleType type, decimal percentange = 0) => Task.Run(() => SendMail(response, type, percentange));