Example #1
0
        public IActionResult OnPost()
        {
            AccOperatorValidator validator = new AccOperatorValidator(accOperatorData);
            ValidationResult validationResult = validator.Validate(NewAccOperator);
            if (!validationResult.IsValid)
            {
                return Page();
            }

            if (LinesChecked.Count == 0)
            {
                NoLineSelected = true;
                return Page();
            }

            foreach (var checkedLine in LinesChecked)
            {
                Console.WriteLine(checkedLine + " checked");
                logger.LogInformation(checkedLine + " checked");
                
                Line line = lines.Value.FirstOrDefault(l => l.DisplayName == checkedLine);
                AddOperatorForLine(line);
            }

            TempData["addingResult"] = JsonSerializer.Serialize(addingResult);
            return RedirectToPage("./AddingResult");
        }
Example #2
0
        private void AddOperatorForLine(Line line)
        {
            if (line == null)
            {
                LogAndShowMessage("Line was null.");
                return;
            }

            NewAccOperator.Line = line.LineName;

            AccOperatorValidator validator = new AccOperatorValidator(accOperatorData);
            ValidationResult validationResult = validator.Validate(NewAccOperator);
            if (!validationResult.IsValid)
            {
                LogAndShowMessage("B³¹d przy dodawaniu operatora");
                foreach (var failure in validationResult.Errors)
                {
                    LogAndShowMessage($"Niew³aœciwie wype³nione pole: {failure.PropertyName}. {failure.ErrorMessage}");
                }
            }
            else
            {
                try
                {
                    accOperatorData.AddOperator(line, NewAccOperator);
                    //accOperatorData.Commit(); - Commit przeniesiony na AccOperatorManager.Core: OracleAccOperatorData()
                    LogAndShowMessage($"Operator {NewAccOperator.Operatorid} dodany na liniê {line.DisplayName}");
                }
                catch (Exception ex)
                {
                    //todo: Dorobiæ/przerobiæ metodê aby w bloku catch messages logowaæ nie jako info tylko jako b³êdy
                    if (ex?.InnerException?.Message?.Contains("ORA-00001") ?? false)
                    {
                        accOperatorData.ChangeOperatorPassword(line, NewAccOperator);
                        LogAndShowMessage($"Ju¿ istnieje operator o takim OperatorID na linii {line.LineName}, zmienono has³o operatorowi na: {NewAccOperator.Name}");
                    }
                    else
                    {
                        LogAndShowMessage(ex?.InnerException?.Message ?? ex.Message);
                    }
                }
            }
        }