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));
 }
Exemple #2
0
        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());
        }
Exemple #3
0
 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"));
 }
Exemple #4
0
 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"));
        }
Exemple #7
0
        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;
         }
     }
 }
Exemple #9
0
        public BaseEntity BuildObject(Dictionary <string, object> row)
        {
            var Sla = new SLA()
            {
                Description = GetStringValue(row, DbColDescription),
                Value_Amnt  = GetDoubleValue(row, DbColValueAmnt)
            };

            return(Sla);
        }
Exemple #10
0
 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));
        }
Exemple #12
0
        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));
        }
Exemple #13
0
 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));
 }
Exemple #14
0
        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();
            }
        }
Exemple #15
0
 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);
 }
Exemple #16
0
        // 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);
        }
Exemple #18
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;
            }
        }
Exemple #19
0
        // 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));
        }
Exemple #20
0
        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;
        }
Exemple #21
0
        // 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));
        }
Exemple #24
0
        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);
            }
            
        }
Exemple #25
0
        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);
            }
        }
Exemple #26
0
        public void Adicionar(SLA sla)
        {
            db.SLAs.Add(sla);

            db.SaveChanges();
        }
Exemple #27
0
 public void UpdateSLA(SLA sla)
 {
     context.Set <SLA>().AddOrUpdate(sla);
 }
Exemple #28
0
        public void DeleteSLA(int SLAId)
        {
            SLA sla = context.SLAS.Find(SLAId);

            context.SLAS.Remove(sla);
        }
Exemple #29
0
 public void InsertSLA(SLA sla)
 {
     context.SLAS.Add(sla);
 }
Exemple #30
0
 private static bool DoesSLAContainXpath(SLA get)
 {
     if (get == null)
     {
         return false;
     }
     return DoesSLARuleContainXpath(get.Rule);
 }
Exemple #31
0
 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();