public async Task <IActionResult> Edit(int id, [Bind("Id,Name,IsDefault,Type,DeadTime,ResponseTime,ParentId,FieldId,FieldValue,CategoryId")] SLA sLA) { if (id != sLA.Id) { return(NotFound()); } if (sLA.ParentId != null) { sLA.Type = 1; } if (ModelState.IsValid) { try { _context.Update(sLA); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SLAExists(sLA.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["CategoryId"] = new SelectList(_context.Category.AsNoTracking(), "Id", "Name", sLA.CategoryId); ViewData["FieldId"] = new SelectList(_context.Fields.AsNoTracking(), "Id", "Name", sLA.FieldId); return(View(sLA)); }
public async Task <IActionResult> PutSLA([FromRoute] int id, [FromBody] SLA sLA) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != sLA.Id && sLA.Id != 0) { return(BadRequest("SLA id wasn't found in request body, or provided IDs don't match")); } _context.Entry(sLA).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SLAExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult Create([Bind(Include = "ID,CreationDate,Name,Scope,ResolutionTimeAverage,SupportType,PriorityName,ResponseTime")] SLA sLA) { if (ModelState.IsValid) { try { slaRepo.InsertSLA(sLA); slaRepo.Save(); this.AddToastMessage("SLA", "SLA created successfully!", ToastType.Success); return(RedirectToAction("Index")); } catch (DbUpdateException sqlExc) { var sqlException = sqlExc.GetBaseException() as SqlException; if (sqlException != null) { logger.Error(sqlExc.ToString()); this.AddToastMessage("SLA", "SLA already exists, please verify.", ToastType.Error); } else { throw; } } } return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ID,CreationDate,Name,Scope,ResolutionTimeAverage,SupportType,PriorityName,ResponseTime")] SLA sLA) { if (ModelState.IsValid) { try { slaRepo.UpdateSLA(sLA); slaRepo.Save(); this.AddToastMessage("SLA", "SLA edited successfully", ToastType.Success); return(Json(new { success = true })); } catch (DbUpdateException sqlExc) { var sqlException = sqlExc.GetBaseException() as SqlException; if (sqlException != null) { logger.Error(sqlExc.ToString()); this.AddToastMessage("SLA", "SLA already exists, please verify.", ToastType.Error); } else { throw; } } } return(PartialView("PartialSLA/_editSLA", sLA)); }
public string GetSLAReport(SLA SlaData) { try { SqlParameter[] Parameters = { new SqlParameter("@StartFlightDate", SlaData.StartDate), new SqlParameter("@EndFlightDate", SlaData.EndDate), new SqlParameter("@FlightNo", SlaData.FlightNo), new SqlParameter("@AirlineSNo", SlaData.AirlineSNo), new SqlParameter("@AirportSNo", SlaData.AirportSNo), new SqlParameter("@IsImport", SlaData.Mode), }; DataSet ds = SqlHelper.ExecuteDataset(ReadConnectionString.WebConfigConnectionString, CommandType.StoredProcedure, "spSLA_GetSLA", Parameters); return(CargoFlash.Cargo.Business.Common.CompleteDStoJSONOnlyString(ds)); } catch (Exception ex)// (Exception ex) { // do something for error DataSet dsError; System.Data.SqlClient.SqlParameter[] ParametersError = { new System.Data.SqlClient.SqlParameter("@ErrorMessage", ex.Message), new System.Data.SqlClient.SqlParameter("@ProcName", "spSLA_GetSLA"), new System.Data.SqlClient.SqlParameter("@UserSNo", ((CargoFlash.Cargo.Model.UserLogin)(System.Web.HttpContext.Current.Session["UserDetail"])).UserSNo.ToString()) }; dsError = CargoFlash.SoftwareFactory.Data.SqlHelper.ExecuteDataset(CargoFlash.SoftwareFactory.Data.DMLConnectionString.WebConfigConnectionString, System.Data.CommandType.StoredProcedure, "ProcOfHandleErrors", ParametersError); throw ex; } }
public ActionResult DeleteConfirmed(decimal id) { SLA sLA = db.SLA.Find(id); db.SLA.Remove(sLA); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { SLA sLA = slaRepo.GetSLAByID(id); slaRepo.DeleteSLA(id); slaRepo.Save(); this.AddToastMessage("SLA", "SLA has been deleted.", ToastType.Success); return(Json(new { success = true })); }
public void SetSLA(string p_description) { foreach (var sl in List_SLAs) { if (sl.Description.Equals(p_description)) { Selected_SLA = sl; } } }
public BaseEntity BuildObject(Dictionary <string, object> row) { var Sla = new SLA() { Description = GetStringValue(row, DbColDescription), Value_Amnt = GetDoubleValue(row, DbColValueAmnt) }; return(Sla); }
public ActionResult Edit([Bind(Include = "SLAId,FaultType,TimeForTroubleshooting")] SLA sLA) { if (ModelState.IsValid) { db.Entry(sLA).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.FaultType = new SelectList(db.FaultTypes, "FaultTypeId", "FaultType1", sLA.FaultType); return(View(sLA)); }
// GET: SLAs public IActionResult IndexRules(int ParentId) { var sLa = new SLA { ParentId = ParentId }; ViewData["CategoryId"] = new SelectList(_context.Category, "Id", "Name"); ViewData["FieldId"] = new SelectList(_context.Fields.AsNoTracking().Include(n => n.Form).Where(f => f.Type == "select" && f.Form.Type == 0), "Id", "Name"); return(PartialView(sLa)); }
public async Task <IActionResult> PostSLA([FromBody] SLA sLA) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.SLAs.Add(sLA); await _context.SaveChangesAsync(); return(CreatedAtAction("GetSLA", new { id = sLA.Id }, sLA)); }
public ActionResult Edit([Bind(Include = "ID_SLA,ID_ALERTA,ID_SERVI_EMP,NOMBRE_SLA,IMPORTANCIA_SLA,URGENCIA_SLA,IMPACTO_SLA")] SLA sLA) { if (ModelState.IsValid) { db.Entry(sLA).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ID_ALERTA = new SelectList(db.ALERTAS, "ID_ALERTA", "ID_ALERTA", sLA.ID_ALERTA); ViewBag.ID_SERVI_EMP = new SelectList(db.SERVICIO_EMPRESA, "ID_SERVI_EMP", "ID_SERVI_EMP", sLA.ID_SERVI_EMP); return(View(sLA)); }
public void Atualizar(int id, SLA novoSLA) { var SLA = Get(id); if (SLA != null) { SLA.Nome = novoSLA.Nome; db.Entry(SLA).State = EntityState.Modified; db.SaveChanges(); } }
public Boolean EditSLA(SLA sla) { try { data.AddSLA(sla.SLAID1, sla.Name, sla.Description, double.Parse(sla.Tarif)); } catch (Exception e) { MessageBox.Show("SLA could not be edited or found."); Console.WriteLine(e); return(false); } return(true); }
// GET: SLAs/Details/5 public ActionResult Details(decimal id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SLA sLA = db.SLA.Find(id); if (sLA == null) { return(HttpNotFound()); } return(View(sLA)); }
public int Update(SLA sla) { var existingSLAConfig = context.SLA.Find(sla.ID); if (existingSLAConfig != null) { existingSLAConfig.Name = sla.Name; existingSLAConfig.Description = sla.Description; existingSLAConfig.Target = sla.Target; context.SaveChanges(); return(existingSLAConfig.ID); } return(0); }
public SLA GetSLARecord(string recordID, string UserSNo) { SqlDataReader dr = null; try { SLA c = new SLA(); SqlParameter[] Parameters = { new SqlParameter("@SNo", (recordID)), new SqlParameter("@UserID", Convert.ToInt32(UserSNo)) }; dr = SqlHelper.ExecuteReader(ReadConnectionString.WebConfigConnectionString, CommandType.StoredProcedure, "GetRecordSLA", Parameters); if (dr.Read()) { c.SNo = Convert.ToInt32(dr["SNo"]); c.SLAType = dr["SLAType"].ToString().ToUpper() == "FALSE" ? "0" : "1"; c.SLATypeTxt = dr["SLATypeTxt"].ToString(); c.AirportSNo = Convert.ToInt32(dr["AirportSNo"].ToString() == "" ? "0" : dr["AirportSNo"]); c.Text_AirportSNo = dr["AirportName"].ToString(); c.TerminalSNo = Convert.ToInt32(dr["TerminalSNo"].ToString() == "" ? "0" : dr["TerminalSNo"]); c.Text_TerminalSNo = dr["TerminalName"].ToString(); c.AirlineSNo = Convert.ToInt32(dr["AirlineSNo"].ToString() == "" ? "0" : dr["AirlineSNo"]); c.Text_AirlineSNo = dr["AirlineName"].ToString(); c.StandardName = dr["StandardName"].ToString(); c.MovementType = dr["MovementType"].ToString(); c.Text_MovementType = dr["MovementTypeTxt"].ToString().ToUpper(); c.Basis = dr["BasisValue"].ToString(); c.BasisTxt = dr["Basis"].ToString(); c.EventSNo = Convert.ToInt32(dr["EventSNo"].ToString() == "" ? "0" : dr["EventSNo"]); c.Text_EventSNo = dr["ProcessName"].ToString().ToUpper(); c.DisplayOrder = Convert.ToInt32(dr["DisplayOrder"].ToString() == "" ? "0" : dr["DisplayOrder"]); c.MinimumCutOffMins = Convert.ToInt32(dr["MinimumCutOffMins"].ToString() == "" ? "0" : dr["MinimumCutOffMins"]); c.AircraftSNo = dr["AircraftSNo"].ToString(); c.Text_AircraftSNo = dr["Text_AircraftSNo"].ToString(); c.SHCSNo = dr["SHCSNo"].ToString(); c.Text_SHCSNo = dr["Text_SHCSNo"].ToString(); c.UpdatedBy = dr["UpdatedUser"].ToString(); c.SLAAirlineSno = dr["SLAAirlineSno"].ToString(); c.Text_SLAAirlineSno = dr["Text_SLAAirlineSno"].ToString(); c.TargetPercentage = dr["TargetPercentage"].ToString(); c.MessageTypeSNo = Convert.ToInt32(dr["MessageTypeSNo"].ToString() == "" ? "0" : dr["MessageTypeSNo"]); c.Text_MessageTypeSNo = dr["Text_MessageTypeSNo"].ToString(); } dr.Close(); return(c); } catch (Exception ex)// { dr.Close(); throw ex; } }
// GET: SLAs/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SLA sLA = db.SLAs.Find(id); if (sLA == null) { return(HttpNotFound()); } ViewBag.FaultType = new SelectList(db.FaultTypes, "FaultTypeId", "FaultType1", sLA.FaultType); return(View(sLA)); }
private void btnFindSLA_Click(object sender, EventArgs e) { string slaID = cmbSLAs.Text.Split(' ')[0]; foreach (SLA item in SLAs) { if (item.SLAID1 == slaID) { SLA = item; } } lblAName.Text = SLA.Name; lblADescription.Text = SLA.Description; lblATarif.Text = SLA.Tarif; }
// GET: SLAs/Edit/5 public ActionResult Edit(decimal id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SLA sLA = db.SLA.Find(id); if (sLA == null) { return(HttpNotFound()); } ViewBag.ID_ALERTA = new SelectList(db.ALERTAS, "ID_ALERTA", "ID_ALERTA", sLA.ID_ALERTA); ViewBag.ID_SERVI_EMP = new SelectList(db.SERVICIO_EMPRESA, "ID_SERVI_EMP", "ID_SERVI_EMP", sLA.ID_SERVI_EMP); return(View(sLA)); }
public SLA Insert(SLA sla) { var profile = context.Profiles.FirstOrDefault(_ => _.ID == sla.ProfileID); if (profile != null) { var SLAObj = new SLA() { ProfileID = profile.ID, Name = sla.Name, Description = sla.Description, Target = sla.Target }; context.SLA.Add(SLAObj); context.SaveChanges(); return(SLAObj); } return(null); }
public async Task <IActionResult> Create([Bind("Id,Name,IsDefault,Type,DeadTime,ResponseTime,ParentId,FieldId,FieldValue,CategoryId")] SLA sLA, int step) { if (ModelState.IsValid) { if (sLA.Type != 0 && sLA.CategoryId != null && _context.SLAs.AsNoTracking().FirstOrDefaultAsync(s => s.CategoryId == sLA.CategoryId && s.ParentId == sLA.ParentId).Result != null) { return(new StatusCodeResult(500)); } _context.Add(sLA); await _context.SaveChangesAsync(); if (sLA.ParentId != null) { return(RedirectToAction(nameof(IndexRules), new { sLA.ParentId })); } return(RedirectToAction(nameof(IndexRules), new { ParentId = sLA.Id })); } ViewData["CategoryId"] = new SelectList(_context.Category.AsNoTracking(), "Id", "Name", sLA.CategoryId); ViewData["FieldId"] = new SelectList(_context.Fields.AsNoTracking(), "Id", "Name", sLA.FieldId); return(PartialView(sLA)); }
public IHttpActionResult Post(SLA sla ,Layer_SLA[] layersSla) { if (sla == null) { return BadRequest(); } else { //dummy // two.slaid = 2000; SLA s = new SLA(); //s.SLA_id = two.slaid; s.SLA_name = two.slaname; s.L1_Time = two.l1time; s.L2_Time = two.l2time; s.L3_Time = two.l3time; db.SLAs.Add(s); db.SaveChanges(); List<Layer> layers = new List<Layer>(); layers = db.Layers.ToList(); for(int i=two.Layer_id;i<=layers.Count;i++) { Layer_SLA LayerSla = new Layer_SLA(); LayerSla.SLAId = s.SLA_id; LayerSla.LayerId = i; db.LayerSLAs.Add(LayerSla); } db.SaveChanges(); return Ok(two); } }
public MeanTimeToRestoreModel GetAzureMeanTimeToRestore(bool getSampleData, TableStorageConfiguration tableStorageConfig, DevOpsPlatform targetDevOpsPlatform, string resourceGroup, int numberOfDays, int maxNumberOfItems) { ListUtility <MeanTimeToRestoreEvent> utility = new ListUtility <MeanTimeToRestoreEvent>(); if (getSampleData == false) { //If the user didn't specify a resource group, it comes in as null and causes havoc. Setting it as "" helps, it if (resourceGroup == null) { resourceGroup = ""; } //Pull the events from the table storage AzureTableStorageDA daTableStorage = new AzureTableStorageDA(); Newtonsoft.Json.Linq.JArray list = daTableStorage.GetTableStorageItemsFromStorage(tableStorageConfig, tableStorageConfig.TableMTTR, resourceGroup); List <AzureAlert> alerts = new List <AzureAlert>(); foreach (JToken item in list) { alerts.Add( new AzureAlert { name = item["data"]["context"]["name"].ToString(), resourceGroupName = item["data"]["context"]["resourceGroupName"].ToString(), resourceName = item["data"]["context"]["resourceName"].ToString(), status = item["data"]["status"].ToString(), timestamp = DateTime.Parse(item["data"]["context"]["timestamp"].ToString()) }); } //sort the events by timestamp alerts = alerts.OrderBy(o => o.timestamp).ToList(); //Compile the events, looking for pairs, using the ordered data, and name, resource group name and resource name List <MeanTimeToRestoreEvent> events = new List <MeanTimeToRestoreEvent>(); //Loop through first finding the activated alerts int i = 0; List <AzureAlert> startingAlerts = alerts.Where(o => o.status == "Activated").ToList(); foreach (AzureAlert item in startingAlerts) { if (item.timestamp > DateTime.Now.AddDays(-numberOfDays)) { i++; MeanTimeToRestoreEvent newEvent = new MeanTimeToRestoreEvent { Name = item.name, Resource = item.resourceName, ResourceGroup = item.resourceGroupName, StartTime = item.timestamp, Status = "inProgress", ItemOrder = i }; events.Add(newEvent); } } //Now loop through again, looking for the deactivated matching pair float maxEventDuration = 0; List <AzureAlert> endingAlerts = alerts.Where(o => o.status == "Deactivated").ToList(); foreach (MeanTimeToRestoreEvent item in events) { //Search for the next matching deactivated alert int foundItemIndex = -1; for (int j = 0; j <= endingAlerts.Count - 1; j++) { if (endingAlerts[j].name == item.Name && endingAlerts[j].resourceName == item.Resource && endingAlerts[j].resourceGroupName == item.ResourceGroup && endingAlerts[j].timestamp > item.StartTime) { item.EndTime = endingAlerts[j].timestamp; item.Status = "completed"; foundItemIndex = j; break; } } if (foundItemIndex >= 0) { //Remove the found item from the list, so we don't use it again. endingAlerts.RemoveAt(foundItemIndex); if (item.MTTRDurationInHours > maxEventDuration) { maxEventDuration = item.MTTRDurationInHours; } } } //Calculate the MTTR metric MeanTimeToRestore mttr = new MeanTimeToRestore(); List <KeyValuePair <DateTime, TimeSpan> > dateList = ConvertEventsToDateList(events); float averageMTTR = mttr.ProcessMeanTimeToRestore(dateList, numberOfDays); //Calculate the SLA metric SLA slaMetric = new SLA(); float sla = slaMetric.ProcessSLA(dateList, numberOfDays); //Filter the list for the UI, and sort the final list (May not be needed due to the initial sort on the starting alerts) List <MeanTimeToRestoreEvent> uiEvents = utility.GetLastNItems(events, maxNumberOfItems); uiEvents = uiEvents.OrderBy(o => o.StartTime).ToList(); //Finally, process the percent calculation foreach (MeanTimeToRestoreEvent item in uiEvents) { float interiumResult = ((item.MTTRDurationInHours / maxEventDuration) * 100f); item.MTTRDurationPercent = Scaling.ScaleNumberToRange(interiumResult, 0, 100, 20, 100); } //Pull together the results into a single model MeanTimeToRestoreModel model = new MeanTimeToRestoreModel { TargetDevOpsPlatform = targetDevOpsPlatform, ResourceGroup = resourceGroup, MeanTimeToRestoreEvents = uiEvents, MTTRAverageDurationInHours = averageMTTR, MTTRAverageDurationDescription = mttr.GetMeanTimeToRestoreRating(averageMTTR), NumberOfDays = numberOfDays, MaxNumberOfItems = uiEvents.Count, TotalItems = events.Count, SLA = sla, SLADescription = slaMetric.GetSLARating(sla) }; return(model); } else { //Get sample data MeanTimeToRestore mttr = new MeanTimeToRestore(); List <MeanTimeToRestoreEvent> sampleEvents = GetSampleMTTREvents(resourceGroup); List <KeyValuePair <DateTime, TimeSpan> > dateList = ConvertEventsToDateList(sampleEvents); float averageMTTR = mttr.ProcessMeanTimeToRestore(dateList, numberOfDays); SLA slaMetric = new SLA(); float sla = slaMetric.ProcessSLA(dateList, numberOfDays); MeanTimeToRestoreModel model = new MeanTimeToRestoreModel { TargetDevOpsPlatform = targetDevOpsPlatform, ResourceGroup = resourceGroup, MeanTimeToRestoreEvents = sampleEvents, MTTRAverageDurationInHours = averageMTTR, MTTRAverageDurationDescription = mttr.GetMeanTimeToRestoreRating(averageMTTR), NumberOfDays = numberOfDays, MaxNumberOfItems = sampleEvents.Count, TotalItems = sampleEvents.Count, SLA = sla, SLADescription = slaMetric.GetSLARating(sla) }; return(model); } }
public void Adicionar(SLA sla) { db.SLAs.Add(sla); db.SaveChanges(); }
public void UpdateSLA(SLA sla) { context.Set <SLA>().AddOrUpdate(sla); }
public void DeleteSLA(int SLAId) { SLA sla = context.SLAS.Find(SLAId); context.SLAS.Remove(sla); }
public void InsertSLA(SLA sla) { context.SLAS.Add(sla); }
private static bool DoesSLAContainXpath(SLA get) { if (get == null) { return false; } return DoesSLARuleContainXpath(get.Rule); }
public IHttpActionResult Put(int id,IntegratedModel newsla) { SLA sla =db.SLAs.FirstOrDefault(s => s.SLA_id == id); List<Layer_SLA> layerssla = db.LayerSLAs.Where(s => s.SLAId == id).ToList();