예제 #1
0
 private void InsertCircleUsingOneCommand(Cirlce c)
 {
     /*
      * SCOPE_IDENTITY – это системная функция,
      * которая возвращает последнее значение
      * идентификатора, вставленного в любую таблицу
      * в текущем сеансе в той же области.
      */
     //    https://info-comp.ru/programmirovanie/557-functions-ms-sql-identity-and-scope-identity.html
     using (var cmd = new SqlCommand(@"
         INSERT INTO Circle (Radius) 
         VALUES (@Radius) 
         declare @Id_Circle int
         set @Id_Circle =    SCOPE_IDENTITY()
         INSERT INTO Figure (Id_Circle,Name) 
         VALUES (@Id_Circle,@Name) "
                                     , _connection))
     {
         cmd.Parameters.Add("@Radius", SqlDbType.Float);
         cmd.Parameters["@Radius"].Value = c.Radius;
         cmd.Parameters.Add("@Name", SqlDbType.NVarChar);
         cmd.Parameters["@Name"].Value = c.Name;
         cmd.ExecuteNonQuery();
     }
 }
예제 #2
0
        public int UpdateCircle(Cirlce c)
        {
            _connection.Open();
            using (var cmd = new SqlCommand(@"
                             declare @IdCircle int
                             set @IdCircle=(select Id_Circle from Figure
                             WHERE Id=@Id)

                            UPDATE Figure
                            SET  Name   = @name
                            WHERE Id=@Id

                            UPDATE Circle 
                            SET Radius = @radius
                            WHERE Id=@IdCircle", _connection))
            {
                cmd.Parameters.Add("@Id", SqlDbType.Int);
                cmd.Parameters["@Id"].Value = c.Id;
                cmd.Parameters.Add("@name", SqlDbType.NVarChar);
                cmd.Parameters["@name"].Value = c.Name;
                cmd.Parameters.Add("@radius", SqlDbType.Float);
                cmd.Parameters["@radius"].Value = c.Radius;
                return(cmd.ExecuteNonQuery());
            }
        }
예제 #3
0
 private int InsertCircle(Cirlce c)
 {
     using (var cmd = new SqlCommand(@"
         INSERT INTO Circle (Radius) 
        OUTPUT INSERTED.Id
         VALUES (@Radius) ", _connection))
     {
         cmd.Parameters.Add("@Radius", SqlDbType.Float);
         cmd.Parameters["@Radius"].Value = c.Radius;
         return((int)cmd.ExecuteScalar());
     }
 }
예제 #4
0
 private void InsertBaseClassFigureAfterCircle(Cirlce c, int id)
 {
     using (var cmd = new SqlCommand(@"
         INSERT INTO Figure (Id_Circle,Name) 
         VALUES (@Id_Circle,@Name) ", _connection))
     {
         //cmd.Parameters.AddRange(new[]
         //{
         //    new SqlParameter("@Id_Circle", SqlDbType.Int).Value = id,
         //    new SqlParameter("@Name", SqlDbType.NVarChar).Value = "234",
         //});
         cmd.Parameters.Add("@Id_Circle", SqlDbType.Int);
         cmd.Parameters["@Id_Circle"].Value = id;
         cmd.Parameters.Add("@Name", SqlDbType.NVarChar);
         cmd.Parameters["@Name"].Value = c.Name;
         cmd.ExecuteNonQuery();
     }
 }
        public bool Run()
        {
            try
            {
                ////Circle Work
                this.Printer.Writeline("////////////Work with rectangles////////////");
                Cirlce circle1 = new Cirlce(new Point(1, 1), new Point(2, 1));
                this.Printer.Writeline($"cirlse ==> {circle1}");
                Cirlce circle2 = new Cirlce(new Point(-1, 1), new Point(-1, 2));
                this.Printer.Writeline($"Intersection of Two Circles {circle1} AND {circle2}");
                foreach (Point point in circle1.Intersection(circle2))
                {
                    this.Printer.Writeline(point.ToString());
                }

                circle1.Move(1, 3);
                this.Printer.Writeline($"cirlse after move(1,3) ==> {circle1}");
                circle1.ChangeSize(new Point(-1, 1), new Point(-1, 5));
                this.Printer.Writeline($"cirlse after changeSize(-1, 1),(-1, 5) ==> {circle1}");
                this.Printer.Writeline($"Biggest between {circle1},{circle2} ===> {circle1.Biggest(circle2)}");
                this.Printer.Writeline($"Least between {circle1},{circle2} ===> {circle1.Least(circle2)}");
                ////Circle Work
                ////Rectangle Work
                this.Printer.Writeline("////////////Work with rectangles////////////");
                Rectagle rectangle1 = new Rectagle(new Point(1, 1), new Point(2, -3));
                this.Printer.Writeline($"rectangre ==> {rectangle1}");
                Rectagle rectangle2 = new Rectagle(new Point(-1, 1), new Point(5, -3));
                this.Printer.Writeline($"Intersection of Two Rectangles {rectangle1} AND {rectangle2} ==> {rectangle1.Intersection(rectangle2)}");

                rectangle1.Move(1, 3);
                this.Printer.Writeline($"rectangle after move(1,3) ==> {rectangle1}");
                rectangle1.ChangeSize(new Point(-1, 1), new Point(2, -2));
                this.Printer.Writeline($"rectangle1 after changeSize(-1, 1),(-1, 5) ==> {rectangle1}");
                this.Printer.Writeline($"Biggest between {rectangle1},{rectangle2} ===> {rectangle1.Biggest(rectangle2)}");
                this.Printer.Writeline($"Least between {rectangle1},{rectangle2} ===> {rectangle1.Least(rectangle2)}");
                ////Rectangle Work
                this.Printer.Writeline("////////////Work with Derictories////////////");
                ShowerDirectory showerDirectory = new ShowerDirectory();
                Stopwatch       myTimer         = new Stopwatch();
                myTimer.Start();
                showerDirectory.SymmetricalDifference();
                showerDirectory.Intersection();
                showerDirectory.ExpectDirectory();
                WriterToConsole writerToConsole = new WriterToConsole(showerDirectory);
                WriterToExcel   writerToExcel   = new WriterToExcel(showerDirectory);
                //writerToConsole.SymmetricalDifference();
                //writerToConsole.Intersection();
                //writerToConsole.ExpectDirectory();
                //writerToExcel.SymmetricalDifference();
                //writerToExcel.Intersection();
                //writerToExcel.ExpectDirectory();
                myTimer.Stop();
                this.Printer.Writeline($"time taken: {+myTimer.Elapsed}");
                ListsComparer a = new ListsComparer();
                a.CompareAndPrintUniqueValues();
                //ExcelTest ecxel = new ExcelTest();
                //ecxel.Write();
                return(true);
            }

            catch (Exception e)
            {
                this.Printer.Writeline(e.Message);
                Console.ReadKey();
                return(false);
            }
        }
예제 #6
0
 public void CreateCircle(Cirlce c)
 {
     _connection.Open();
     InsertCircleUsingOneCommand(c);
 }