public async Task <IActionResult> Create([Bind("PlcModelID,Name,IsEnable,CpuType,Ip,Rack,Slot")] PlcModel plcModel) { if (ModelState.IsValid) { _context.Add(plcModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(plcModel)); }
public async Task <IActionResult> Create([Bind("Id,Data,PlcName,IndexValue,GazValue")] IndexModel indexModel) { if (ModelState.IsValid) { _context.Add(indexModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(indexModel)); }
public async Task <IActionResult> Create([Bind("UserId,UserName,Password,Nume,Prenume,Rol,IsEnable")] TrackingUser trackingUser) { if (ModelState.IsValid) { _context.Add(trackingUser); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(trackingUser)); }
public async Task <IActionResult> Create([Bind("DefectID,PlcModelID,TimpStartDefect,TimpStopDefect,IntervalStationare,MotivStationare,DefectFinalizat")] Defect defect) { if (ModelState.IsValid) { _context.Add(defect); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["PlcModelID"] = new SelectList(_context.Plcs, "PlcModelID", "Name", defect.PlcModelID); return(View(defect)); }
public async Task <IActionResult> Create([Bind("TagID,Name,Value,Adress,DataType,PlcModelID")] TagModel tagModel) { if (ModelState.IsValid) { _context.Add(tagModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["PlcModelID"] = new SelectList(_context.Plcs, "PlcModelID", "Name", tagModel.PlcModelID); return(View(tagModel)); }
public async Task <IActionResult> Create([Bind("ProbaModelId,DataPrelevare,SiglaFurnizor,Sarja,Diametru,Calitate,NumarCuptor,TipTratamentTermic,TipCapBara,Tipproba,UserName,ObservatiiOperator,DataPreluare,DataRaspunsCalitate,NumeUtilizatorCalitate,RezultatProba,KV1,KV2,KV3,Temperatura,DuritateHB,ObservatiiCalitate")] ProbaModel probaModel) { // Salvez in ViewBag userName si Rol pentru a folosi in View ViewBag.UserName = HttpContext.Session.GetString("UserName"); ViewBag.Rol = HttpContext.Session.GetString("Rol"); // Daca nu e logat redirectionez la Pagina de Login if (ViewBag.UserName == null) { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { probaModel.DataPrelevare = DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss"); _context.Add(probaModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(probaModel)); }
private void DoWork(object sender, ElapsedEventArgs e) { _timer.Stop(); _timer.Interval = ReadingTimeInterval; // logic IsRunnungBackgroundService = true; LastTimeRunBackgroundWork = DateTime.Now; try { // Foreach Plc Refresh tag values and write them to DbContext foreach (PlcModel plc in _plcService.ListPlcs) { // Remake enable plc at every minute _plcService.RemakeEnablePlc(plc); // Return if plc is not enable if (plc.IsEnable) { // Add defect Service logic if (_defectService.IsAvailableDefectService) // if it is enable defectService { _defectService.LogicBrackDowns(_context, plc, _plcService, _reportService); // Add defect to Sql list } var _cancelTasks = new CancellationTokenSource(); var task = Task.Run(() => { if (_plcService.IsConnectedPlc(plc)) // IsConnected also try to reconnect plc if it is available, and disable plc if it has pingrequestsfail grater than a nr { _plcService.RefreshTagValues(plc); // Refresh value from Plc // _plcService.UpdateDbContextTagsValue(_context, plc.TagsList); // Write to DbContext Tag Values } }, _cancelTasks.Token); if (!task.Wait(TimeSpan.FromSeconds(0.25))) { _cancelTasks.Cancel(); // Daca nu mai raspunde in timp util se opreste Task } } } // Write Async to DbContext var _cancelTasks2 = new CancellationTokenSource(); var task2 = Task.Run(async() => { // Save changes to DbContext await _context.SaveChangesAsync(); }, _cancelTasks2.Token); if (!task2.Wait(TimeSpan.FromSeconds(0.2))) { _cancelTasks2.Cancel(); // Daca nu mai raspunde in timp util se opreste Task } } catch (InvalidOperationException exCollection) { // log _logger.LogInformation("{data}<=>{Messege}<=>{error}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), "Log error InvalidOperation din DoWork din TimedService: ", exCollection.Message); } catch (AggregateException exAgreg) { // log _logger.LogInformation("{data}<=>{Messege}<=>{error}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), "Log error Agregate din DoWork din TimedService: ", exAgreg.Message); } catch (Exception ex) { // log _logger.LogInformation("{data}<=>{Messege}<=>{error}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), "Log error din DoWork din TimedService: ", ex.Message); } // log _logger.LogInformation("{data}<=>{Messege}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), "Doing din while, din DoWork Async TimedService"); try { _timer.Start(); } catch (ObjectDisposedException ex) { _logger.LogInformation("{data}<=>{Messege}<=>{error}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), "Log error ObjectDisposedException din DoWork din TimedService Timer disposed: ", ex.Message); } }