public List <DailyAlertEntity> SearchDailyAlerts(DailyAlertSearchCriteria searchCriteria)
        {
            List <DailyAlertEntity> alertsList = new List <DailyAlertEntity>();

            string sqlCommand = "dbo.pSearchDailyAlerts";

            try
            {
                Database db = DatabaseFactory.CreateDatabase("HilltopDatabase");

                using (DbCommand cmd = db.GetStoredProcCommand(sqlCommand))
                {
                    AddSearchParametersToCommand(db, cmd, searchCriteria);
                    using (IDataReader dataReader = db.ExecuteReader(cmd))
                    {
                        while (dataReader.Read())
                        {
                            alertsList.Add(PopulateAlertFromDataReader(dataReader));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string exceptionMessages = string.Empty;
                ExceptionHelper.GetInnerExceptions(ex, out exceptionMessages);

                string message = "Search Daily Alerts failed at the data access layer"
                                 + Environment.NewLine + exceptionMessages;
                throw new Exception(message);
            }
            return(alertsList);
        }
        public List <DailyAlertEntity> SearchDailyAlerts(DailyAlertSearchCriteria searchCriteria)
        {
            List <DailyAlertEntity> list = new DailyAlertsDAL().SearchDailyAlerts(searchCriteria);

            if (list != null && list.Count > 0)
            {
                return(list.OrderByDescending(a => a.SortIndex).ThenByDescending(a => a.MaxUseNumeric).ToList());
            }
            return(list);
        }
Exemplo n.º 3
0
        private DailyAlertSearchCriteria GetRmoaAlertsSearchCriteria()
        {
            DateTime startDate = GetStartDate(txtRmoaStartDate.Text);
            DailyAlertSearchCriteria searchCriteria = new DailyAlertSearchCriteria();

            searchCriteria.StartDate = startDate;
            if (string.IsNullOrEmpty(txtRmoaStartDate.Text))
            {
                txtRmoaStartDate.Text = String.Format("{0:dd/M/yyyy}", startDate);
            }
            else if (!startDate.Equals(DateTime.Parse(txtRmoaStartDate.Text)))
            {
                txtRmoaStartDate.Text = String.Format("{0:dd/M/yyyy}", startDate);
            }
            searchCriteria.EndDate = ((DateTime)searchCriteria.StartDate).AddDays(6);
            if (cbxMyAlerts.Checked)
            {
                searchCriteria.Username = HttpContext.Current.User.Identity.Name;
            }
            return(searchCriteria);
        }
        private void AddSearchParametersToCommand(Database db, DbCommand cmd, DailyAlertSearchCriteria searchCriteria)
        {
            AddStringValueAsParameter(db, cmd, "@IncludeAll", searchCriteria.IgnoreAll);

            if (searchCriteria.StartDate != null && searchCriteria.StartDate.HasValue)
            {
                db.AddInParameter(cmd, "@StartDate", DbType.DateTime, searchCriteria.StartDate.Value);
            }
            if (searchCriteria.EndDate != null && searchCriteria.EndDate.HasValue)
            {
                db.AddInParameter(cmd, "@EndDate", DbType.DateTime, searchCriteria.EndDate.Value);
            }

            AddStringValueAsParameter(db, cmd, "@ConsentID", searchCriteria.ConsentID);

            AddStringValueAsParameter(db, cmd, "@Username", searchCriteria.Username);

            AddStringValueAsParameter(db, cmd, "@Type", searchCriteria.Type);

            AddStringValueAsParameter(db, cmd, "@ActivityNumber", searchCriteria.ActivityNumber);
        }
Exemplo n.º 5
0
        private DailyAlertSearchCriteria GetAllAlertsSearchCriteria()
        {
            DailyAlertSearchCriteria searchCriteria = new DailyAlertSearchCriteria();

            if (!string.IsNullOrEmpty(txtStartDate.Text))
            {
                searchCriteria.StartDate = DateTime.Parse(txtStartDate.Text);
            }
            else
            {
                searchCriteria.StartDate = DateTime.Today.AddDays(-7 - (int)DateTime.Today.DayOfWeek + (int)DayOfWeek.Monday);
                txtStartDate.Text        = string.Format("{0:dd/M/yyyy}", searchCriteria.StartDate);
                txtRmoaStartDate.Text    = String.Format("{0:dd/M/yyyy}", searchCriteria.StartDate);
            }
            if (!string.IsNullOrEmpty(txtEndDate.Text))
            {
                searchCriteria.EndDate = DateTime.Parse(txtEndDate.Text);
            }
            else
            {
                searchCriteria.EndDate = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek + (int)DayOfWeek.Sunday);
                txtEndDate.Text        = String.Format("{0:dd/M/yyyy}", searchCriteria.EndDate);
            }
            if (cbxIncludeIgnored.Checked)
            {
                searchCriteria.IgnoreAll = "Yes";
            }
            if (cbkMyAllAlerts.Checked)
            {
                searchCriteria.Username = HttpContext.Current.User.Identity.Name;
            }

            if (!string.IsNullOrEmpty(ddlAllConsents.Text))
            {
                searchCriteria.ConsentID = ddlAllConsents.Text;
            }
            return(searchCriteria);
        }
        public DailyAlertEntity CreateFromCSV(DailyAlertEntity alert)
        {
            // First check to see if record already exists
            DailyAlertSearchCriteria searchCriteria = new DailyAlertSearchCriteria();

            searchCriteria.ConsentID      = alert.ConsentID;
            searchCriteria.Type           = alert.Type;
            searchCriteria.ActivityNumber = alert.ActivityNumber;
            searchCriteria.StartDate      = alert.RunDate.Date;
            searchCriteria.EndDate        = alert.RunDate.Date;
            searchCriteria.IgnoreAll      = "es";

            List <DailyAlertEntity> alerts = SearchDailyAlerts(searchCriteria);

            if (alerts == null || alerts.Count == 0)
            {
                alert = new DailyAlertsDAL().CreateFromCSV(alert);
            }
            else
            {
                Log.Warn("Alert already exists for ConsentID:[" + alert.ConsentID + "] Type:[" + alert.Type + "] Activity Number:[" + alert.ActivityNumber + "] RunDate:[" + alert.RunDate.ToShortDateString() + "]");
            }
            return(alert);
        }