Esempio n. 1
0
        public async Task <IActionResult> Create(User user)
        {
            if (String.IsNullOrEmpty(user.Email) && String.IsNullOrWhiteSpace(user.Email))
            {
                ModelState.AddModelError("Email", "Поле не может быть пустым.");
            }
            else if (String.IsNullOrEmpty(user.FName) && String.IsNullOrWhiteSpace(user.FName))
            {
                ModelState.AddModelError("FName", "Поле фамилия не может быть пустым.");
            }
            else if (String.IsNullOrEmpty(user.MName) && String.IsNullOrWhiteSpace(user.MName))
            {
                ModelState.AddModelError("MName", "Поле имя не может быть пустым.");
            }

            if (ModelState.IsValid)
            {
                User isUniqueEmail = null;

                try
                {
                    isUniqueEmail = await _usersGRUD.FirstOrDefaultByEmailAsync(user);

                    if (isUniqueEmail == null)
                    {
                        await _usersGRUD.AddAsync(user);

                        await _usersGRUD.SaveChanges();

                        _logger.InfoGrud(DateTime.Now, "User", "Create", "Add", String.Format("{0} {1} {2} {3}", user.Email, user.FName, user.MName, user.LName));

                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("Email", "Поле email уже содержиться в базе данных.");
                    }
                }
                catch (Exception ex)
                {
                    _logger.ErrorMessage(ex.Message);
                    return(BadRequest());
                }
            }

            return(View(user));
        }