Exemple #1
0
 public virtual void Info()
 {
     Book1.Info();
     Console.WriteLine("Информация о экземпляре: ");
     Console.WriteLine("    Код экземпляра: {0}\n    Дата печати:    {1}\n    Издательство: {2}",
                       ID_Exemplar, Data, Publisher);
 }
        public void GetCostOfBasket()
        {
            var bk1 = new Book1();

            Basket.Instance.AddItemToBasket(bk1);

            Assert.AreEqual(8.0, Basket.Instance.TotalCost);
        }
Exemple #3
0
        public ActionResult DeleteConfirmed(string id)
        {
            Book1 book1 = db.Books.Find(id);

            db.Books.Remove(book1);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public bool AddBook(Book1 book)
 {
     if (arrBooks.Contains(book))
     {
         return(false);
     }
     arrBooks.Add(book);
     return(true);
 }
 public bool DeleteBook(Book1 book)
 {
     if (arrBooks.Contains(book))
     {
         arrBooks.Remove(book);
         return(true);
     }
     return(false);
 }
        public void SetActiveBook(QuestionBook book)
        {
            var idx = Books.IndexOf(book);

            Book1.SetQuestionBook(Books[idx - 2 < 0 ? Books.Count + idx - 2 : idx - 2]);
            Book2.SetQuestionBook(Books[idx - 1 < 0 ? Books.Count + idx - 1 : idx - 1]);
            Book3.SetQuestionBook(book);
            Book4.SetQuestionBook(Books[(idx + 1) % Books.Count]);
            Book5.SetQuestionBook(Books[(idx + 2) % Books.Count]);
        }
Exemple #7
0
 public ActionResult Edit([Bind(Include = "Title,ISBN")] Book1 book1)
 {
     if (ModelState.IsValid)
     {
         db.Entry(book1).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(book1));
 }
Exemple #8
0
        public ActionResult Create([Bind(Include = "Title,ISBN")] Book1 book1)
        {
            if (ModelState.IsValid)
            {
                db.Books.Add(book1);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(book1));
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            try
            {
                string bookTitle  = txtTitle.Text;
                string publisher  = txtPublisher.Text;
                double price      = double.Parse(txtPrice.Text);
                int    year       = int.Parse(txtYear.Text);
                int    numOfPages = int.Parse(txtNumberPages.Text);
                iSBN = int.Parse(txtISBN.Text);
                switch (cmbBookType.SelectedIndex)
                {
                case 0:
                    double fileSize = double.Parse(txtFileSize.Text);
                    book = new EBook(bookTitle, price, publisher, year, iSBN, numOfPages, fileSize);
                    break;

                case 1:
                    EnumTextBookType textBookType = (EnumTextBookType)cmbTextBookType.SelectedItem;
                    if (cmbTextBookType.SelectedIndex == 0)    //HardCover
                    {
                        NumberOfHardCoverTextBook++;
                    }
                    else
                    {
                        NumberOfPaperTextBook++;
                    }
                    book = new TextBook(bookTitle, price, publisher, year, iSBN, numOfPages, textBookType);
                    break;

                default:
                    book = null;
                    break;
                }
                bool   result  = AddBook(book);
                string message = result ? "Added" : "Not Added";
                try
                {
                    if (result == false)
                    {
                        throw new InvalidISBNExaption();
                    }
                }
                catch (Exception exept)
                {
                    MessageBox.Show(exept.Message);
                }
                MessageBox.Show(message);
            }
            catch (Exception exept)
            {
                MessageBox.Show(exept.Message);
            }
        }
        public void AddItemToBasket()
        {
            var bk = new Book1();

            Basket.Instance.AddItemToBasket(bk);

            var cart = Basket.Instance.Items;

            Assert.AreEqual(1, cart.Count);
            Assert.AreEqual(bk.ProductCode, cart.First().Key);
        }
Exemple #11
0
        // GET: Book1/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Book1 book1 = db.Books.Find(id);

            if (book1 == null)
            {
                return(HttpNotFound());
            }
            return(View(book1));
        }
Exemple #12
0
        static void Main(string[] args)
        {
            //перадаеv данные в структуру

            /*Book book; // создаем объект типа структура Book
             * book.name = "Война и мир";
             * book.author = "Лев Толстой";
             * book.year = 1898;
             *
             * //Выведем информацию о книге book на экран
             * book.Info();*/

            Book1 book1 = new Book1("Евгений Онегин", "А.С. Пушкин", 1892);

            book1.Info();
        }
Exemple #13
0
        public void printStructInfo()
        {
            Books Book1;        /* 声明 Book1,类型为 Book */
            Books Book2;        /* 声明 Book2,类型为 Book */

            /* book 1 详述 */
            Book1.title   = "C Programming";
            Book1.author  = "Nuha Ali";
            Book1.subject = "C Programming Tutorial";
            Book1.book_id = 6495407;

            /* book 2 详述 */
            Book2.title   = "Telecom Billing";
            Book2.author  = "Zara Ali";
            Book2.subject = "Telecom Billing Tutorial";
            Book2.book_id = 6495700;

            /* 打印 Book1 信息 */
            Console.WriteLine("Book 1 title : {0}", Book1.title);
            Console.WriteLine("Book 1 author : {0}", Book1.author);
            Console.WriteLine("Book 1 subject : {0}", Book1.subject);
            Console.WriteLine("Book 1 book_id :{0}", Book1.book_id);

            /* 打印 Book2 信息 */
            Console.WriteLine("Book 2 title : {0}", Book2.title);
            Console.WriteLine("Book 2 author : {0}", Book2.author);
            Console.WriteLine("Book 2 subject : {0}", Book2.subject);
            Console.WriteLine("Book 2 book_id : {0}", Book2.book_id);

//             Books Book1 = new Books(); /* 声明 Book1,类型为 Book */
//             Books Book2 = new Books(); /* 声明 Book2,类型为 Book */

            /* book 1 详述 */
            Book1.getValues("C Programming",
                            "Nuha Ali", "C Programming Tutorial", 6495407);

            /* book 2 详述 */
            Book2.getValues("Telecom Billing",
                            "Zara Ali", "Telecom Billing Tutorial", 6495700);

            /* 打印 Book1 信息 */
            Book1.display();

            /* 打印 Book2 信息 */
            Book2.display();
        }
Exemple #14
0
        public void CanCreateABook2()
        {
            Books2 Book1;

            Book1.Title     = "Boom";
            Book1.PageCount = 200;
            Book1.Author    = "Rene Rios";
            Book1.BookId    = new Guid();
            Book1.Subject   = "SciFi";

            Assert.IsNotNull(Book1);

            StringAssert.Contains("Title: Boom\nPage Count: 200\nAuthor: Rene Rios", Book1.MakeSingleLine());

            //Structs cannot inherit
            //Structs can have interfaces
            //Structs can only have private and public members
            //Structs only have default constructor that cannot be modified.
        }
        public void GetCostOfBasketForMultipleItems()
        {
            var bk1 = new Book1();

            Basket.Instance.AddItemToBasket(bk1);
            Basket.Instance.AddItemToBasket(bk1); // Book not eligible for discount

            var bk2 = new Book2();

            Basket.Instance.AddItemToBasket(bk2);

            // 2 books eligiable for discount
            // 2 * 8 = £16 * 0.95 = £15.2

            // 1 book not eligible for discount
            // 1 * 8 = £8

            // Total Cost: £15.2 + £8 = £23.2
            Assert.AreEqual(23.2, Basket.Instance.TotalCost);
        }
        public void AddMultipleItemsToBasket()
        {
            var bk1 = new Book1();

            Basket.Instance.AddItemToBasket(bk1);
            Basket.Instance.AddItemToBasket(bk1);

            var bk2 = new Book2();

            Basket.Instance.AddItemToBasket(bk2);

            var cart = Basket.Instance.Items;

            Assert.AreEqual(2, cart.Count); // 2 unique records in the cart

            Assert.IsTrue(cart.TryGetValue(bk1.ProductCode, out Stack <IStockItem> bk1Count));
            Assert.AreEqual(2, bk1Count.Count); // x2 of book1

            Assert.IsTrue(cart.TryGetValue(bk2.ProductCode, out Stack <IStockItem> bk2Count));
            Assert.AreEqual(1, bk2Count.Count); // x1 of book2
        }
Exemple #17
0
        public static void Main(string[] args)
        {
            var dsx = Book1.GetDataSet();

            //dsx
            var x = ExcelReaderFactory.CreateOpenXmlReader(
                File.OpenRead("Book1.xlsx")
                );

            // http://stackoverflow.com/questions/3365641/the-value-of-the-local-or-argument-x-is-unobtainable-at-this-time
            //      ds	The value of the local or argument 'ds' is unobtainable at this time.	System.Data.DataSet
            var ds = x.AsDataSet();

            var dsxml = StringConversionsForDataSet.ConvertToString(ds);

            var dxmlds = StringConversionsForDataSet.ConvertFromString(dsxml);

            foreach (System.Data.DataTable z in ds.Tables)
            {
                Console.WriteLine(
                    ScriptCoreLib.Library.StringConversionsForDataTable.ConvertToString(
                        z
                        )
                    );
            }

            // -		(new System.Linq.SystemCore_EnumerableDebugView(x.AsDataSet().Tables)).Items[0]	{Sheet1}	object {System.Data.DataTable}



            //#if DEBUG
            //            DesktopFormsExtensions.Launch(
            //                () => new ApplicationControl()
            //            );
            //#else
            //            RewriteToUltraApplication.AsProgram.Launch(typeof(Application));
            //#endif
        }
        /// <summary>
        /// This Method is a javascript callable method.
        /// </summary>
        /// <param name="e">A parameter from javascript.</param>
        /// <param name="y">A callback to javascript.</param>
        public Task <DataSet> GetDataTable()
        {
            var dt = Book1.GetDataSet();

            return(dt.AsResult());
        }
Exemple #19
0
        /// <summary>
        /// This is a javascript application.
        /// </summary>
        /// <param name="page">HTML document rendered by the web server which can now be enhanced.</param>
        public Application(IApp page)
        {
            // 1e40:01:01 RewriteToAssembly error: System.MissingMethodException: Method not found: 'Void ScriptCoreLib.JavaScript.DOM.IWindow.add_onframe(System.Action`1<Int32>)'.

#if chrome_works_again
            #region AtFormCreated
            FormStyler.AtFormCreated =
                s =>
            {
                s.Context.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;

                var x = new ChromeTCPServerWithFrameNone.HTML.Pages.AppWindowDrag().AttachTo(s.Context.GetHTMLTarget());
            };
            #endregion


            // chrome 31 wont load view-source
            // chrome 33 shows black window. nice.
            #region ChromeTCPServer
            dynamic self               = Native.self;
            dynamic self_chrome        = self.chrome;
            object  self_chrome_socket = self_chrome.socket;

            if (self_chrome_socket != null)
            {
                chrome.Notification.DefaultTitle = "Droplet";
                //chrome.Notification.DefaultIconUrl = new HTML.Images.FromAssets.Preview().src;

                ChromeTCPServer.TheServerWithStyledForm.Invoke(
                    AppSource.Text,
                    AtFormCreated: FormStyler.AtFormCreated
                    );

                return;
            }
            #endregion
#endif


            #region clouds
            new WebGLClouds.HTML.Pages.Default().With(
                layout =>
            {
                layout.body.AttachTo(page.clouds);

                new WebGLClouds.Application(layout);
            }
                );
            #endregion



            page.header.style.backgroundColor = "";

            page.header.css.style.transition      = "background-color 200ms linear";
            page.header.css.style.backgroundColor = "rgba(255, 255, 0, 0)";
            //page.header.css.style.backgroundColor = "rgba(255, 255, 0, 0.2)";

            page.header.css.hover.style.backgroundColor = "rgba(255, 255, 0, 1.0)";

            Native.window.onframe +=
                delegate
            {
                if (Native.document.body.scrollTop == 0)
                {
                    page.header.css.style.backgroundColor = "rgba(255, 255, 0, 0)";
                }
                else
                {
                    page.header.css.style.backgroundColor = "rgba(0, 0, 0, 0.3)";
                }
            };

            var oo = new List <THREE.Object3D>();

            var window = Native.window;

            var camera = new THREE.PerspectiveCamera(
                45,
                page.header.clientWidth / (double)page.header.clientHeight,
                1,
                2000
                );
            camera.position.z = 400;

            // scene

            var scene = new THREE.Scene();

            var ambient = new THREE.AmbientLight(0x101030);
            scene.add(ambient);

            var directionalLight = new THREE.DirectionalLight(0xffeedd);
            directionalLight.position.set(0, 0, 1);
            scene.add(directionalLight);

            var renderer = new THREE.WebGLRenderer();

            //renderer.domElement.AttachToDocument();
            renderer.domElement.AttachTo(page.header);
            renderer.setSize(page.header.clientWidth, page.header.clientHeight);
            //renderer.setSize(window.Width, window.Height);
            //renderer.domElement.style.SetLocation(0, 0);


            var mouseX = 0;
            var mouseY = 0;
            var st     = new Stopwatch();
            st.Start();

            Native.window.onframe +=
                delegate
            {
                oo.WithEach(
                    x =>
                    x.rotation.y = st.ElapsedMilliseconds * 0.001
                    );


                camera.position.x += (mouseX - camera.position.x) * .05;
                camera.position.y += (-mouseY - camera.position.y) * .05;

                camera.lookAt(scene.position);

                renderer.render(scene, camera);
            };

            Native.window.onresize +=
                delegate
            {
                camera.aspect = page.header.clientWidth / (double)page.header.clientHeight;

                camera.updateProjectionMatrix();

                //renderer.setSize(window.Width, window.Height);
                renderer.setSize(page.header.clientWidth, page.header.clientHeight);
            };



            var data = Book1.GetDataSet();

            #region bind
            Func <string, IHTMLElement, DataGridView> bind =
                (DataMember, c) =>
            {
                var g = new DataGridView
                {
                    BackgroundColor = Color.Transparent,


                    // does this work?
                    DefaultCellStyle = new DataGridViewCellStyle
                    {
                        SelectionBackColor = Color.Black,
                        SelectionForeColor = Color.Yellow,

                        //BackColor = Color.Transparent
                        //BackColor = Color.FromArgb(0x05, 0, 0, 0)
                        BackColor = Color.FromArgb(0x3f, 255, 255, 255)
                    },

                    ColumnHeadersDefaultCellStyle = new DataGridViewCellStyle
                    {
                        BackColor = Color.FromArgb(0x8f, 255, 255, 255)
                    },


                    SelectionMode       = DataGridViewSelectionMode.FullRowSelect,
                    AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill,

                    // do we have a test for this?
                    AllowUserToAddRows = false,

                    //AllowUserToDeleteRows = false,

                    RowHeadersVisible = false,


                    // cannot hide column headers yet
                    // script: error JSC1000: No implementation found for this native method, please implement [System.Windows.Forms.DataGridView.set_ColumnHeadersVisible(System.Boolean)]
                    //ColumnHeadersVisible = false,

                    DataSource = data,
                    DataMember = DataMember,
                };

                // this should be the one that maximizes itself onto the parent which is supposed to be absolute in size
                //g.GetHTMLTarget().With(
                //    div =>
                //    {
                //        //div.style.reset();

                //        // no scrollbars, thanks
                //        div.style.overflow = IStyle.OverflowEnum.hidden;
                //        (div.style as dynamic).zIndex = "";

                //        div.style.position = IStyle.PositionEnum.relative;
                //        div.style.left = "";
                //        div.style.top = "";
                //        div.style.right = "";
                //    }
                //);

                c.style.position = IStyle.PositionEnum.relative;
                c.style.height   = "20em";

                c.Clear();
                g.AttachControlTo(c);

                return(g);
            };
            #endregion


            bind("Assets", page.assets);
            bind("Transactions", page.transactions).ReadOnly = true;

            // script: error JSC1000: No implementation found for this native method, please implement [System.Data.DataTableCollection.get_Item(System.String)]
            var data_Assets       = data.Tables["Assets"];
            var data_Transactions = data.Tables["Transactions"];


            #region data_Assets_NewRow
            Action <DataRow> data_Assets_NewRow =
                SourceRow =>
            {
                var r = new Random();

                new sack_of_gold2().Source.Task.ContinueWithResult(
                    o =>
                {
                    o.position.y = -80;
                    scene.add(o);
                    oo.Add(o);

                    o.position.x         = r.Next(-250, 250);
                    o.position.z         = r.Next(-400, 200);
                    (o as dynamic).scale = new THREE.Vector3(0.5, 0.5, 0.5);

                    data_Assets.RowDeleting +=
                        (sender, e) =>
                    {
                        if (SourceRow != e.Row)
                        {
                            return;
                        }

                        scene.remove(o);
                        oo.Remove(o);

                        data_Transactions.Rows.Add(
                            "now", "item removed -" + SourceRow["Net worth"]
                            );
                    };
                }
                    );
            };
            #endregion


            data_Assets.Rows.AsEnumerable().WithEach(data_Assets_NewRow);

            // "X:\jsc.svn\examples\javascript\DropFileIntoSQLite\DropFileIntoSQLite.sln"
            // X:\jsc.svn\examples\javascript\DragDataTableIntoCSVFile\DragDataTableIntoCSVFile\Application.cs
            #region ondragstart
            page.header.ondragstart +=
                e =>
            {
                data_Assets.Rows.AsEnumerable().FirstOrDefault().With(
                    SourceRow =>
                {
                    // x:\jsc.svn\examples\javascript\dropfileintosqlite\dropfileintosqlite\application.cs

                    data_Assets.Rows.Remove(SourceRow);
                    //data_Assets.Rows.RemoveAt(0);


                    var clipboard = new DataTable();

                    clipboard.Columns.AddRange(
                        Enumerable.ToArray(
                            from x in data_Assets.Columns.AsEnumerable()
                            select new DataColumn {
                        ColumnName = x.ColumnName
                    }
                            )
                        );

                    clipboard.Rows.Add(
                        Enumerable.ToArray(
                            from x in data_Assets.Columns.AsEnumerable()
                            select SourceRow[x]
                            )
                        );

                    e.dataTransfer.effectAllowed = "copy";

                    var clipboard_string = StringConversionsForDataTable.ConvertToString(clipboard);
                    e.dataTransfer.setData(typeof(DataTable).Name, clipboard_string);
                }
                    );
            };
            #endregion


            // X:\jsc.svn\market\javascript\Abstractatech.JavaScript.FileStorage\Abstractatech.JavaScript.FileStorage\Application.cs
            var dz = new DropZone();


            var TimerHide = new ScriptCoreLib.JavaScript.Runtime.Timer(
                delegate
            {
                dz.body.Orphanize();
            }
                );

            #region ondragover
            Action <DragEvent> ondragover =
                evt =>
            {
                evt.stopPropagation();
                evt.preventDefault();


                if (evt.dataTransfer.types.Contains(typeof(DataTable).Name.ToLower()))
                {
                    evt.dataTransfer.dropEffect = "copy";     // Explicitly show this is a copy.

                    dz.body.AttachTo(Native.document.documentElement);
                    dz.bglayer.style.transition      = "background-color 500ms linear";
                    dz.bglayer.style.backgroundColor = "rgba(0,0,0, 0.7)";

                    TimerHide.Stop();
                }
            };

            Native.Document.body.ondragover += ondragover;
            dz.Container.ondragover         += ondragover;
            #endregion



            dz.Container.ondragleave +=
                evt =>
            {
                //Console.WriteLine("ondragleave");

                //Console.WriteLine(" dz.Container.ondragleave");
                TimerHide.StartTimeout(90);

                evt.stopPropagation();
                evt.preventDefault();
            };

            Native.window.onblur +=
                delegate
            {
                data_Transactions.Rows.Add(
                    //"now", "item added +" + SourceRow["Net worth"]
                    "now", "blur"
                    );
            };

            Native.window.onfocus +=
                delegate
            {
                data_Transactions.Rows.Add(
                    //"now", "item added +" + SourceRow["Net worth"]
                    "now", "focus"
                    );
            };

            data_Assets_NewRow +=
                SourceRow =>
            {
                data_Transactions.Rows.Add(
                    //"now", "item added +" + SourceRow["Net worth"]
                    "now", "item added"
                    );
            };

            data_Assets.TableNewRow +=
                (sender, e) =>
            {
                data_Assets_NewRow(e.Row);
            };


            #region ondrop
            dz.Container.ondrop +=
                evt =>
            {
                //Console.WriteLine("ondrop");

                TimerHide.StartTimeout(90);

                evt.stopPropagation();
                evt.preventDefault();

                if (evt.dataTransfer.items != null)
                {
                    // X:\jsc.svn\examples\javascript\DragDataTableIntoCSVFile\DragDataTableIntoCSVFile\Application.cs

                    evt.dataTransfer.items.AsEnumerable().Where(
                        x =>

                        x.type.ToLower() ==

                        // let jsc type system sort it out?
                        // how much reflection does jsc give us nowadays?
                        typeof(DataTable).Name.ToLower()

                        ).WithEach(
                        async xx =>
                    {
                        // http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dfnReturnLink-0
                        var DataTable_xml = await xx.getAsString();

                        var DataTable = StringConversionsForDataTable.ConvertFromString(DataTable_xml);

                        DataTable.Rows.AsEnumerable().WithEach(
                            SourceRow =>
                        {
                            data_Assets.Rows.Add(
                                Enumerable.ToArray(
                                    from x in data_Assets.Columns.AsEnumerable()
                                    select SourceRow[x]
                                    )
                                );
                        }
                            );
                    }
                        );
                }
            };
            #endregion
        }