コード例 #1
0
 public ActionResult Edit([Bind(Include = "Код,ФИО_автора,Краткая_биография")] Авторы авторы)
 {
     if (ModelState.IsValid)
     {
         db.Entry(авторы).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Details",routeValues: new { id = авторы.Код });
     }
     return View(авторы);
 }
コード例 #2
0
 public ActionResult Edit(int? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     Авторы авторы = db.Авторы.Find(id);
     if (авторы == null)
     {
         return HttpNotFound();
     }
     return View(авторы);
 }
コード例 #3
0
        public ActionResult Create([Bind(Include = "Код,ФИО_автора,Краткая_биография")] Авторы авторы, int parameter = 0)
        {
            if (ModelState.IsValid)
            {
                if (авторы.Краткая_биография == null) { авторы.Краткая_биография = "Нету"; }
                db.Авторы.Add(авторы);
                db.SaveChanges();
                if(parameter != 0)
                {
                    return RedirectToAction("Edit", "Книги",new { id = parameter });
                }
                return RedirectToAction("Create","Книги");
            }

            return View(авторы);
        }
コード例 #4
0
        public AuthorsViewModel()
        {
            MOYABAZAEntities model = App.MOYABAZA;

            model.Авторы.Load();
            Authors = CollectionViewSource.GetDefaultView(model.Авторы.Local);

            AddModeCommand = new RelayCommand(
                (param) =>
            {
                SelectedAuthor = null;
                EditAllowed    = true;
            },
                (param) => App.ActiveUser.Пользователи_Объекты.Count(uo => uo.Объекты.SName == Constants.AuthorThesaurusName && uo.W == 1) != 0);

            ChangeModeCommand = new RelayCommand(
                (param) =>
            {
                EditAllowed ^= true;
            },
                (param) => App.ActiveUser.Пользователи_Объекты.Count(uo => uo.Объекты.SName == Constants.AuthorThesaurusName && uo.E == 1) != 0 && param != null);

            SaveCommand = new RelayCommand(
                (param) =>
            {
                if (SelectedAuthor != null)
                {
                    if (FName != String.Empty && SName != String.Empty && TName != String.Empty)        //Изменение существующего города
                    {
                        try
                        {
                            SelectedAuthor.Имя      = FName;
                            SelectedAuthor.Фамилия  = SName;
                            SelectedAuthor.Отчество = TName;
                            model.SaveChanges();
                            Authors.Refresh();
                            EditAllowed = false;
                        }
                        catch (Exception e)
                        {
                            MessageBox.Show($"Такой город уже существует! \n {e.Message}");
                        }
                    }
                    else
                    {
                        MessageBox.Show("ФИО не может быть пустым!");
                        FName = SelectedAuthor.Имя;
                        SName = SelectedAuthor.Фамилия;
                        TName = SelectedAuthor.Отчество;
                    }
                }
                else
                {
                    if (FName != String.Empty && SName != String.Empty && TName != String.Empty)        //Добавление нового города
                    {
                        Авторы author = new Авторы();
                        try
                        {
                            author.Имя      = FName;
                            author.Фамилия  = SName;
                            author.Отчество = TName;
                            model.Авторы.Local.Add(author);
                            model.SaveChanges();
                            EditAllowed = false;
                            FName       = String.Empty;
                            SName       = String.Empty;
                            TName       = String.Empty;
                        }
                        catch (DbUpdateException e)
                        {
                            model.Авторы.Local.Remove(author);
                            MessageBox.Show($"Такой автор уже существует! \n {e.Message}");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Название не может быть пустым!");
                    }
                }
            },
                (param) => App.ActiveUser.Пользователи_Объекты.Count(uo => uo.Объекты.SName == Constants.AuthorThesaurusName && (uo.E == 1 || uo.R == 1)) != 0 && Convert.ToBoolean(param) == true);

            DeleteCommand = new RelayCommand(
                (param) =>
            {
                if (MessageBox.Show("Уверен?", "Назад дороги не будет", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No) == MessageBoxResult.Yes)
                {
                    var deletedAuthor = _selectedAuthor;

                    try
                    {
                        if (deletedAuthor.Книги.Count != 0)
                        {
                            throw new DbUpdateException("В авторе есть книги!!!!");
                        }
                        model.Авторы.Local.Remove(deletedAuthor);
                        model.SaveChanges();
                    }
                    catch (DbUpdateException ex)
                    {
                        model.Авторы.Local.Add(deletedAuthor);
                        Authors.MoveCurrentTo(deletedAuthor);
                        Authors.Refresh();
                        MessageBox.Show($"Произошла ошибка при удалении данных: {Environment.CommandLine}{ex.Message}", "Ошибка!", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            },
                (param) => App.ActiveUser.Пользователи_Объекты.Count(uo => uo.Объекты.SName == Constants.AuthorThesaurusName && uo.D == 1) != 0 && param != null);
            Authors.Filter = FilterFunction;
        }
コード例 #5
0
        public ActionResult Edit(КнигиCreateViewModel книги)
        {
            if (ModelState.IsValid)
            {
                Книги новКнига = new Книги();
                новКнига.Код      = книги.Код;
                новКнига.Название = книги.Название;
                if (книги.Серия == null)
                {
                    новКнига.Серия = "Нет серии";
                }
                else
                {
                    новКнига.Серия = книги.Серия;
                }
                if (книги.Жанр == null)
                {
                    новКнига.Жанр = "Неопределён";
                }
                else
                {
                    новКнига.Жанр = книги.Жанр;
                }
                if (книги.Краткое_описание == null)
                {
                    новКнига.Краткое_описание = "Нету";
                }
                else
                {
                    новКнига.Краткое_описание = книги.Краткое_описание;
                }
                if (книги.Ссылка_на_скачивание == null)
                {
                    новКнига.Ссылка_на_скачивание = "Нету";
                }
                else
                {
                    новКнига.Ссылка_на_скачивание = книги.Ссылка_на_скачивание;
                }
                новКнига.Год_выпуска     = книги.Год_выпуска;
                новКнига.Средний_рейтинг = книги.Средний_рейтинг;
                if (книги.новАвтор != null)
                {
                    if (книги.новАвтор.Trim(' ') != "")
                    {
                        Авторы a = new Авторы();
                        a.ФИО_автора        = книги.новАвтор;
                        a.Краткая_биография = "Нету";
                        db.Авторы.Add(a);
                        db.SaveChanges();
                        новКнига.Автор = db.Entry(a).Entity.Код;
                    }
                }
                else
                {
                    новКнига.Автор = книги.сущАвтор;
                }

                db.Entry(новКнига).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            List <Авторы> m = new List <Авторы>();

            m.AddRange(db.Авторы);
            m.RemoveAt(0);
            m.Sort(delegate(Авторы x, Авторы y)
            {
                return(x.ФИО_автора.CompareTo(y.ФИО_автора));
            });
            m.Insert(0, db.Авторы.ToList().ElementAt(0));
            ViewBag.сущАвтор = new SelectList((m), "Код", "ФИО_автора");
            return(View(книги));
        }