Ejemplo n.º 1
0
        public async Task <ComputerDetails> GetComputerDetailsAsync(int id)
        {
            ComputerDetails result;

            using (var connection = new SqlConnection(connectionString))
            {
                await connection.OpenAsync();

                const string    queryVirtualMachinesForComputer = @"EXEC dbo.zss_MaszynyWirtualneDlaKomputer_sel @IdKomputer = @IdKomputer;";
                const string    queryComputer = @"EXEC dbo.zss_Komputer_sel @IdKomputer = @IdKomputer;";
                const string    querySoftware = @"EXEC dbo.zss_OprogramowanieDlaKomputer_sel @IdKomputer = @IdKomputer;";
                Computer        c             = connection.Query <Computer>(queryComputer, new { IdKomputer = id }).First();
                ComputerDetails cd            = new ComputerDetails
                {
                    IdKomputer      = c.IdKomputer,
                    IdMonitor       = c.IdMonitor,
                    RozmiarMonitora = c.RozmiarMonitora,
                    Procesor        = c.Procesor,
                    RAM             = c.RAM,
                    KartaGraficzna  = c.KartaGraficzna,
                    VirtualMachines = await connection.QueryAsync <VirtualMachine>(queryVirtualMachinesForComputer, new { IdKomputer = id }),
                    Software        = await connection.QueryAsync <Software>(querySoftware, new { IdKomputer = id })
                };
                return(cd);
            }
        }
Ejemplo n.º 2
0
    public string InsertComputerDetails(ComputerDetails computerInfo)
    {
        string        Message;
        SqlConnection con = new SqlConnection("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=TietokoneKauppa;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

        con.Open();
        SqlCommand cmd = new SqlCommand("insert into Tietokoneet(GPU_ID,CPU_ID,MOBO_ID,RAM_ID,RAMamount,Case_ID,PSU_ID) values(@GPUID,@CPUID,@MOBOID,@RAMID,@RAMamount,@CASEID,@PSUID)", con);

        cmd.Parameters.AddWithValue("@GPUID", computerInfo.GPUID);
        cmd.Parameters.AddWithValue("@CPUID", computerInfo.CPUID);
        cmd.Parameters.AddWithValue("@MOBOID", computerInfo.MOBOID);
        cmd.Parameters.AddWithValue("@RAMID", computerInfo.RAMID);
        cmd.Parameters.AddWithValue("@RAMamount", computerInfo.RAMamount);
        cmd.Parameters.AddWithValue("@CASEID", computerInfo.CASEID);
        cmd.Parameters.AddWithValue("@PSUID", computerInfo.PSUID);


        int result = cmd.ExecuteNonQuery();

        if (result == 1)
        {
            Message = "Details inserted successfully";
        }
        else
        {
            Message = "Details not inserted successfully";
        }
        con.Close();
        return(Message);
    }
Ejemplo n.º 3
0
        public void AddComputer(ComputerDetails c)
        {
            using (var connection = new SqlConnection(connectionString))
            {
                try
                {
                    //Queries - procedures
                    string addComputer = @"EXEC dbo.zss_AddKomputer_ins @IdMonitor = @IdMonitor, @Procesor = @Procesor,
                                        @RAM = @RAM, @KartaGraficzna = @KartaGraficzna;";

                    string addVirtualMachinesForComputer = @"EXEC zss_MaszynaWirtualnaKomputer_ins
                                                        @IdKomputer = @IdKomputer,
                                                        @IdMaszynaWirtualna = @IdMaszynaWirtualna;";

                    string addSoftwareForComputer = @"EXEC zss_OprogramowanieKomputerow_ins 
                                                    @IdKomputer = @IdKomputer,
                                                    @IdOprogramowanie = @IdOprogramowanie;";

                    int idKomputer = connection.Query <Computer>(addComputer,
                                                                 new
                    {
                        c.IdMonitor,
                        c.Procesor,
                        c.RAM,
                        c.KartaGraficzna
                    }).First().IdKomputer;

                    foreach (var item in c.VirtualMachines)
                    {
                        connection.Execute(addVirtualMachinesForComputer, new { IdKomputer = idKomputer, item.IdMaszynaWirtualna });
                    }

                    foreach (var item in c.Software)
                    {
                        connection.Execute(addSoftwareForComputer, new { IdKomputer = idKomputer, item.IdOprogramowanie });
                    }
                }
                catch (InvalidOperationException e)
                {
                    Console.WriteLine(e.Message);
                    connection.Close();
                }
            }
        }
Ejemplo n.º 4
0
        public long sendComputerDetails()
        {
            SendComputerDetailsRequest request         = new SendComputerDetailsRequest();
            ComputerDetails            computerDetails = new ComputerDetails();
            RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\isecurity");

            if (key.ValueCount != 0)
            {
                //computerDetails.serverId = long.Parse(key.GetValue("serverId").ToString());
                computerDetails.localId = long.Parse(key.GetValue("localId").ToString());
                key.Close();
            }
            else
            {
                computerDetails.localId = DateTime.Now.Ticks / 1000;
            }
            computerDetails.localUserName = Environment.UserName;
            computerDetails.computerName  = Environment.MachineName;
            string hostName = Dns.GetHostName();
            string myIP     = Dns.GetHostByName(hostName).AddressList[0].ToString();

            computerDetails.ip      = myIP;
            request.ComputerDetails = computerDetails;
            SendComputerDetailsResponse response;

            try
            {
                response = client.SendComputerDetails(request);
                key      = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\isecurity");
                key.SetValue("serverId", response.ComputerDetails.serverId);
                key.SetValue("localId", response.ComputerDetails.localId);
                key.Close();
            }
            catch (Exception ex)
            {
                return(0);
            }
            return(response.ComputerDetails.serverId);
        }
Ejemplo n.º 5
0
        public void EditComputer(ComputerDetails c)
        {
            using (var connection = new SqlConnection(connectionString))
            {
                try
                {
                    // FIRST: update the computer
                    string updateComputer =
                        @"EXEC dbo.zss_Komputer_upd 
                        @IdMonitor = @IdMonitor,
                        @Procesor = @Procesor,
                        @RAM = @RAM,
                        @KartaGraficzna = @KartaGraficzna,
                        @IdKomputer = @IdKomputer;";
                    connection.Execute(updateComputer, new { c.IdMonitor, c.Procesor, c.RAM, c.KartaGraficzna, c.IdKomputer });

                    // SECOND: we delete all virtual machines that weren't chosen during the edit of the computer
                    // we create a temp table to use it later as a parameter for our dbo.zss_DeleteMaszynaWirtualnaKomputer_del stored procedure
                    DataTable virtualMachines = new DataTable();
                    virtualMachines.Columns.Add("IdMaszynaWirtualna", typeof(Int32));
                    virtualMachines.Columns.Add("Nazwa", typeof(string));

                    foreach (var item in c.VirtualMachines)
                    {
                        virtualMachines.Rows.Add(item.IdMaszynaWirtualna, item.Nazwa);
                    }

                    string deleteVirtualMachineComputer = @"EXEC dbo.zss_DeleteMaszynaWirtualnaKomputer_del @IdKomputer = @IdKomputer, @MaszynyWirtualne = @MaszynyWirtualne;";
                    connection.Execute(deleteVirtualMachineComputer,
                                       new { c.IdKomputer, MaszynyWirtualne = virtualMachines.AsTableValuedParameter("dbo.MaszynaWirtualnaTableType") });

                    // THIRD: we delete all software that wasn't chosen during the edit of the computer
                    // we create a temp table to use it later as a parameter for our dbo.zss_DeleteOprogramowanieKomputerow_del stored procedure

                    DataTable software = new DataTable();
                    software.Columns.Add("IdOprogramowanie", typeof(Int32));
                    software.Columns.Add("Nazwa", typeof(string));

                    foreach (var item in c.Software)
                    {
                        software.Rows.Add(item.IdOprogramowanie, item.Nazwa);
                    }

                    string deleteComputerSoftware = @"EXEC dbo.zss_DeleteOprogramowanieKomputerow_del @IdKomputer = @IdKomputer, @Oprogramowanie = @Oprogramowanie";
                    connection.Execute(deleteComputerSoftware, new { c.IdKomputer, Oprogramowanie = software.AsTableValuedParameter("dbo.OprogramowanieTableType") });

                    // FOURTH: We add missing virtual machines
                    string addVirtualMachineComputers = @"EXEC dbo.zss_MaszynaWirtualnaKomputer_ins
                                                        @IdKomputer = @IdKomputer,
                                                        @IdMaszynaWirtualna = @IdMaszynaWirtualna;";

                    foreach (var item in c.VirtualMachines)
                    {
                        connection.Execute(addVirtualMachineComputers, new { c.IdKomputer, item.IdMaszynaWirtualna });
                    }

                    // FIFTH: We add missing software
                    string addComputerSoftware = @"EXEC dbo.zss_OprogramowanieKomputerow_ins
                                                    @IdKomputer = @IdKomputer,
                                                    @IdOprogramowanie = @IdOprogramowanie;";

                    foreach (var item in c.Software)
                    {
                        connection.Execute(addComputerSoftware, new { c.IdKomputer, item.IdOprogramowanie });
                    }
                }
                catch (InvalidOperationException e)
                {
                    Console.WriteLine(e.Message);
                    connection.Close();
                }
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Create a new ComputerDetails object.
 /// </summary>
 /// <param name="machineName">Initial value of MachineName.</param>
 /// <param name="operatingSystem">Initial value of OperatingSystem.</param>
 /// <param name="operatingSystemVersion">Initial value of OperatingSystemVersion.</param>
 /// <param name="status">Initial value of Status.</param>
 public static ComputerDetails CreateComputerDetails(string machineName, string operatingSystem, string operatingSystemVersion, string status)
 {
     ComputerDetails computerDetails = new ComputerDetails();
     computerDetails.MachineName = machineName;
     computerDetails.OperatingSystem = operatingSystem;
     computerDetails.OperatingSystemVersion = operatingSystemVersion;
     computerDetails.Status = status;
     return computerDetails;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// There are no comments for ComputerDetails in the schema.
 /// </summary>
 public void AddToComputerDetails(ComputerDetails computerDetails)
 {
     base.AddObject("ComputerDetails", computerDetails);
 }
        public IActionResult EditComputer([FromBody] ComputerDetails c)
        {
            _provider.EditComputer(c);

            return(CreatedAtRoute("GetComputer", new { id = c.IdKomputer }, c));
        }