コード例 #1
0
 public ActionResult Edit([Bind(Include = "ID_Книга,Название,Автор,Год_написания,Описание,Фото")] Книги книги, HttpPostedFileBase uploadImage)
 {
     if (ModelState.IsValid)
     {
         if (uploadImage == null)
         {
             FileStream fs  = System.IO.File.OpenRead(@"classic.jpg");
             byte[]     img = new byte[fs.Length];
             книги.Фото = img;
         }
         else
         {
             byte[] imageData = null;
             using (var binaryReader = new BinaryReader(uploadImage.InputStream))
             {
                 imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
             }
             книги.Фото = imageData;
         }
         db.Entry(книги).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(книги));
 }
コード例 #2
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Книги книги = db.Книги.Find(id);

            if (книги == null)
            {
                return(HttpNotFound());
            }
            if (User.Identity.IsAuthenticated)
            {
                var a = db.Отзывы.ToList().Find(o => o.Создатель == User.Identity.Name &&
                                                o.Код_книги == id);
                if (a != null)
                {
                    ViewBag.ReviewWritten = 1;
                    ViewBag.Review        = a.Содержание;
                }
                else
                {
                    ViewBag.ReviewWritten = 0;
                    ViewBag.Review        = "";
                }
            }
            return(View(книги));
        }
コード例 #3
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Книги книги = db.Книги.Find(id);

            if (книги == null)
            {
                return(HttpNotFound());
            }
            var a = new КнигиCreateViewModel();

            a.Год_выпуска = книги.Год_выпуска; a.Жанр = книги.Жанр; a.Код = книги.Код; a.Краткое_описание = книги.Краткое_описание; a.Название = книги.Название; a.Серия = книги.Серия; a.Ссылка_на_скачивание = книги.Ссылка_на_скачивание; a.сущАвтор = книги.Автор; a.Средний_рейтинг = книги.Средний_рейтинг;
            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(a));
        }
コード例 #4
0
        public ActionResult add_books(Книги books, int id_avtor)
        {
            if (ModelState.IsValid)
            {
                library_globalContext db = new library_globalContext();
                Книги  model             = new Книги();
                string filename          = Path.GetFileNameWithoutExtension(books.ImageFile_add_book.FileName);
                string extension         = Path.GetExtension(books.ImageFile_add_book.FileName);

                model.IdКниги        = db.Книги.Max(u => u.IdКниги + 1);
                model.НазваниеКниги  = books.НазваниеКниги;
                model.Описание       = books.Описание;
                model.ДатаДобавления = DateTime.Now;
                model.ейтинг         = 0;
                model.IdАвтора       = id_avtor;
                filename             = filename + DateTime.Now.ToString("ttmmssfff") + extension;
                books.ImgSrc         = "~/img/books/" + filename;
                model.ImgSrc         = filename;
                filename             = Path.Combine(Server.MapPath("~/img/books"), filename);
                books.ImageFile_add_book.SaveAs(filename);

                db.Книги.Add(model); //requires using System.Data.Entity.Migrations;
                db.SaveChanges();


                return(RedirectToAction("index", "home")); // or whatever
            }

            return(RedirectToAction("add_books", "home"));
        }
コード例 #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            Книги книги = db.Книги.Find(id);

            db.Книги.Remove(книги);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #6
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Книги книги = db.Книги.Find(id);

            if (книги == null)
            {
                return(HttpNotFound());
            }
            return(View(книги));
        }
コード例 #7
0
 public override void AfterConstruction()
 {
     base.AfterConstruction();
     Налог = this.Session.FindObject <Налог>(new BinaryOperator("Код", "НДС"), true);
     if (Налог == null)
     {
         Налог = new Налог(this.Session);
         Налог.КодSet("НДС");
     }
     ДекларацияНДС = new ДекларацияНДС(this.Session);
     ДекларацииНДС.Add(ДекларацияНДС);
     КнигаПродаж = new КнигаПродаж(this.Session);
     Книги.Add(КнигаПродаж);
     КнигаПокупок = new КнигаПокупок(this.Session);
     Книги.Add(КнигаПокупок);
     // Place your initialization code here (http://documentation.devexpress.com/#Xaf/CustomDocument2834).
 }
コード例 #8
0
        public BooksViewModel()
        {
            MOYABAZAEntities model = App.MOYABAZA;

            model.Книги.Load();
            Books = CollectionViewSource.GetDefaultView(model.Книги.Local);

            AddCommand = new RelayCommand((param) =>
            {
                Книги book          = new Книги();
                BooksReg readersReg = new BooksReg(model, book);
                readersReg.ShowDialog();
                if (readersReg.DialogResult == true)
                {
                    model.Книги.Local.Add(book);
                    try
                    {
                        model.SaveChanges();
                    }
                    catch (DbUpdateException e)
                    {
                        model.Книги.Local.Remove(book);
                        MessageBox.Show($"Такой книга уже существует! \n {e.Message}");
                    }
                    Books.Refresh();
                }
            },
                                          (param) => App.ActiveUser.Пользователи_Объекты.Count(uo => uo.Объекты.SName == Constants.BooksThesaurusName && uo.W == 1) != 0);

            ChangeCommand = new RelayCommand((param) =>
            {
                BooksReg readersReg = new BooksReg(model, _selectedBook);
                readersReg.ShowDialog();
                if (readersReg.DialogResult == true)
                {
                    try
                    {
                        model.SaveChanges();
                    }
                    catch (DbUpdateException e)
                    {
                        model.Entry(_selectedBook).State = EntityState.Unchanged;
                        MessageBox.Show($"Такой book уже существует! \n {e.Message}");
                    }
                    Books.Refresh();
                }
                else
                {
                    model.ChangeTracker.DetectChanges();
                    var objectContext  = ((IObjectContextAdapter)model).ObjectContext;
                    var addedRelations = objectContext
                                         .ObjectStateManager
                                         .GetObjectStateEntries(EntityState.Added)
                                         .Where(e => e.IsRelationship)
                                         .Select(
                        e => new
                    {
                        B = objectContext.GetObjectByKey((EntityKey)e.CurrentValues[1]),
                        A = objectContext.GetObjectByKey((EntityKey)e.CurrentValues[0])
                    });
                    foreach (var r in addedRelations)
                    {
                        objectContext
                        .ObjectStateManager
                        .ChangeRelationshipState <Книги>(r.B as Книги, r.A, (b2) => b2.Авторы, EntityState.Detached);
                    }

                    var removedRelations = objectContext
                                           .ObjectStateManager
                                           .GetObjectStateEntries(EntityState.Deleted)
                                           .Where(e => e.IsRelationship)
                                           .Select(
                        e => new
                    {
                        B = objectContext.GetObjectByKey((EntityKey)e.OriginalValues[1]),
                        A = objectContext.GetObjectByKey((EntityKey)e.OriginalValues[0])
                    });
                    foreach (var r in removedRelations)
                    {
                        objectContext
                        .ObjectStateManager
                        .ChangeRelationshipState <Книги>(r.B as Книги, r.A, (b2) => b2.Авторы, EntityState.Unchanged);
                    }
                    //TODO: Исправить удаление экземпляра книги по кнопке отмена

                    model.Entry(_selectedBook).State = EntityState.Unchanged;
                }
            },
                                             (param) => App.ActiveUser.Пользователи_Объекты.Count(uo => uo.Объекты.SName == Constants.BooksThesaurusName && uo.E == 1) != 0 && param != null);

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

                    try
                    {
                        if (deletedBook.Экземпляры_книги.Count != 0)
                        {
                            throw new DbUpdateException("У книги есть экземпляры!!!!");
                        }
                        model.Книги.Local.Remove(deletedBook);
                        model.SaveChanges();
                    }
                    catch (DbUpdateException ex)
                    {
                        model.Книги.Local.Add(deletedBook);
                        Books.MoveCurrentTo(deletedBook);
                        Books.Refresh();
                        MessageBox.Show($"Произошла ошибка при удалении данных: {Environment.CommandLine}{ex.Message}", "Ошибка!", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            },
                                             (param) => App.ActiveUser.Пользователи_Объекты.Count(uo => uo.Объекты.SName == Constants.BooksThesaurusName && uo.D == 1) != 0 && param != null);

            Books.Filter = FilterFunction;
        }
コード例 #9
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(книги));
        }
コード例 #10
0
 public BooksReg(MOYABAZAEntities model, Книги book)
 {
     InitializeComponent();
     DataContext = new BooksRegViewModel(model, book);
 }