public DailyAlertEntity CreateFromCSV(DailyAlertEntity alert) { string sqlCommand = "dbo.pCreateDailyAlerts"; try { Database db = DatabaseFactory.CreateDatabase("HilltopDatabase"); using (DbCommand cmd = db.GetStoredProcCommand(sqlCommand)) { AddCreateCSVParametersToCommand(db, cmd, alert); db.AddOutParameter(cmd, "@AlertID", DbType.Int32, 4); db.ExecuteNonQuery(cmd); alert.ID = int.Parse(db.GetParameterValue(cmd, "@AlertID").ToString()); } } catch (Exception ex) { string exceptionMessages = string.Empty; ExceptionHelper.GetInnerExceptions(ex, out exceptionMessages); string message = "Create Daily Alert failed at the data access layer" + Environment.NewLine + exceptionMessages; throw new Exception(message); } return(alert); }
protected void gvRmoaAlerts_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e) { //DailyAlertEntity alertToUpdate = gvRmoaAlerts.Rows[e.RowIndex].DataItem as DailyAlertEntity; DailyAlertEntity alertToUpdate = new DailyAlertEntity(); alertToUpdate.ID = int.Parse(txtID.Text); TextBox txtComments = (TextBox)gvRmoaAlerts.Rows[e.RowIndex].FindControl("txtRmoaComments"); alertToUpdate.Comment = txtComments.Text; DropDownList ddlStatus = (DropDownList)gvRmoaAlerts.Rows[e.RowIndex].FindControl("ddlRmoaStatus"); alertToUpdate.Status = ddlStatus.Text; alertToUpdate.Username = HttpContext.Current.User.Identity.Name; try { new DailyAlertBLL().UpdateForRmoa(alertToUpdate); Response.Redirect(Request.Url.AbsoluteUri); } catch (Exception ex) { errorMessages.CssClass = "error"; errorMessages.Text = ex.Message; currTabNo.Text = "0"; } }
public DailyAlertEntity UpdateForRmoa(DailyAlertEntity alert) { string sqlCommand = "dbo.pUpdateDailyAlerts"; try { Database db = DatabaseFactory.CreateDatabase("HilltopDatabase"); using (DbCommand cmd = db.GetStoredProcCommand(sqlCommand)) { AddUpdateRmoaParametersToCommand(db, cmd, alert); db.ExecuteNonQuery(cmd); } } catch (Exception ex) { string exceptionMessages = string.Empty; ExceptionHelper.GetInnerExceptions(ex, out exceptionMessages); string message = "Update Daily Alert failed at the data access layer" + Environment.NewLine + exceptionMessages; throw new Exception(message); } return(alert); }
private DailyAlertEntity PopulateAlertFromDataReader(IDataReader dataReader) { DailyAlertEntity alert = new DailyAlertEntity(); alert.ID = GetInt("ID", dataReader); alert.ServiceProvider = GetString("ServiceProvider", dataReader); alert.ConsentID = GetString("ConsentID", dataReader); alert.ActivityNumber = GetString("ActivityNumber", dataReader); alert.WaterUseType = GetString("Type", dataReader); alert.Meters = GetString("Meters", dataReader); alert.Type = GetString("Type", dataReader); alert.Limit = GetString("Limit", dataReader); alert.MaxUse = GetString("MaxUse", dataReader); alert.Comment = GetString("Comment", dataReader); alert.Ignore = GetIntValue("Ignore", dataReader); alert.IgnoreReason = GetString("IgnoreReason", dataReader); alert.Status = GetString("Status", dataReader); alert.Username = GetString("Username", dataReader); alert.PercentOverLimit = GetString("PercentOverLimit", dataReader); alert.MaxAvDate = GetDateTime("MaxAvDate", dataReader); alert.RunDate = GetDateTime("RunDate", dataReader); alert.LastModifiedDate = GetDateTime("LastModifiedDate", dataReader); alert.FirstNCDate = GetNullableDateTime("FirstNCDate", dataReader); alert.LastNCDate = GetNullableDateTime("LastNCDate", dataReader); return(alert); }
public DailyAlertEntity UpdateForRmoa(DailyAlertEntity alert) { if (alert.Status.Equals("Not Set")) { throw new Exception("Status cannot be set to 'Not Set'"); } return(new DailyAlertsDAL().UpdateForRmoa(alert)); }
private void AddUpdateRmoaParametersToCommand(Database db, DbCommand cmd, DailyAlertEntity alert) { db.AddInParameter(cmd, "@ID", DbType.Int32, alert.ID); db.AddInParameter(cmd, "@Ignore", DbType.Int32, alert.Ignore); db.AddInParameter(cmd, "@Status", DbType.String, alert.Status); db.AddInParameter(cmd, "@Comment", DbType.String, alert.Comment); db.AddInParameter(cmd, "@Username", DbType.String, alert.Username); }
private void AddCreateCSVParametersToCommand(Database db, DbCommand cmd, DailyAlertEntity alert) { db.AddInParameter(cmd, "@ServiceProvider", DbType.String, alert.ServiceProvider); db.AddInParameter(cmd, "@ConsentID", DbType.String, alert.ConsentID); db.AddInParameter(cmd, "@ActivityNumber", DbType.String, alert.ActivityNumber); db.AddInParameter(cmd, "@Meters", DbType.String, alert.Meters); db.AddInParameter(cmd, "@Type", DbType.String, alert.Type); db.AddInParameter(cmd, "@Limit", DbType.String, alert.Limit); db.AddInParameter(cmd, "@MaxUse", DbType.String, alert.MaxUse); db.AddInParameter(cmd, "@PercentOverLimit", DbType.String, alert.PercentOverLimit); db.AddInParameter(cmd, "@DateofHighestOverage", DbType.DateTime, alert.MaxAvDate); db.AddInParameter(cmd, "@DateofEarliestNoncompliance", DbType.DateTime, alert.FirstNCDate); db.AddInParameter(cmd, "@DateofLatestNoncompliance", DbType.DateTime, alert.LastNCDate); db.AddInParameter(cmd, "@Ignore", DbType.Int32, alert.Ignore); db.AddInParameter(cmd, "@Rundate", DbType.Date, alert.RunDate); }
// RMOA Tab grid protected void gvRmoaAlerts_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow && gvRmoaAlerts.EditIndex == e.Row.RowIndex) { DropDownList ddlStatus = (DropDownList)e.Row.FindControl("ddlRmoaStatus"); if (string.IsNullOrEmpty(ddlStatus.SelectedValue)) { ddlStatus.DataTextField = "Description"; ddlStatus.DataValueField = "Description"; ddlStatus.DataSource = new DailyAlertBLL().GetDailyAlertsStatus(); ddlStatus.DataBind(); string selectedStatus = DataBinder.Eval(e.Row.DataItem, "Status").ToString(); if (!string.IsNullOrEmpty(selectedStatus)) { ddlStatus.Items.FindByValue(selectedStatus).Selected = true; } } DailyAlertEntity alertToUpdate = (DailyAlertEntity)e.Row.DataItem; txtID.Text = alertToUpdate.ID.ToString(); } }
public List <DailyAlertEntity> SetIgnoreFlag(List <DailyAlertEntity> alerts) { List <DailyAlertEntity> returnAlerts = new List <DailyAlertEntity>(); List <ConsentIgnoreEntity> ignoreList = GetCurrentIgnoreList(); if (alerts != null && alerts.Count > 0) { foreach (DailyAlertEntity dae in alerts) { DailyAlertEntity toAdd = dae; if (ignoreList.Exists(e => e.ConsentID.Equals(toAdd.ConsentID))) { toAdd.Ignore = 1; } else { toAdd.Ignore = 0; } returnAlerts.Add(toAdd); } } return(returnAlerts); }
/* * Service Provider,ConsentID or Water Group,Activity Number,Meters,Type,Limit,Max Use,Percent Over Limit,Date of Highest Overage,Date of Earliest Non-compliance,Date of Latest Non-compliance * WaterCheck,CRC991620.5,CRC991620.5-1,L35/0855-M1 + L35/0906-M1,Take Rate,90.0 l/s,91.9 l/s,2.1%,23-Jan-2019 11:30:00,23-Jan-2019 00:00:00,26-Jan-2019 09:15:00 * WaterCheck,CRC990501.2,CRC990501.2-1,M35/11240-M1 + M35/11241-M1 + M35/11242-M1,Take Rate,51.8 l/s,63.3 l/s,22.4%,25-Jan-2019 12:30:00,24-Jan-2019 11:15:00,26-Jan-2019 11:30:00 * * */ public List <DailyAlertEntity> GetFileAlerts() { List <DailyAlertEntity> alerts = new List <DailyAlertEntity>(); var fileStream = new FileStream(GetFileNameWithLocation(), FileMode.Open, FileAccess.Read); using (var streamReader = new StreamReader(fileStream, Encoding.UTF8)) { string line = streamReader.ReadLine(); // Header line ignore while ((line = streamReader.ReadLine()) != null) { if (!string.IsNullOrEmpty(line) && !line.Contains(REPORT_END)) { var values = line.Split(','); if (values.Length == FIELD_COUNT) { DailyAlertEntity alert = new DailyAlertEntity(); alert.ServiceProvider = values[INDEX_SERVP]; alert.ConsentID = values[INDEX_CONSNT]; alert.ActivityNumber = values[INDEX_ACTNO]; alert.Meters = values[INDEX_METERS]; alert.Type = values[INDEX_TYPE]; alert.Limit = values[INDEX_LIMIT]; alert.MaxUse = values[INDEX_MAXUSE]; alert.PercentOverLimit = values[INDEX_PEROVR]; alert.MaxAvDate = DateTime.Parse(values[INDEX_HUSEDT]); alert.FirstNCDate = DateTime.Parse(values[INDEX_ENCDT]); alert.LastNCDate = DateTime.Parse(values[INDEX_LNCDT]); alert.RunDate = this.RunDate.Date; alerts.Add(alert); } } } } return(alerts); }
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); }