Пример #1
0
        public static void SendInfoToInsert_Client(ClientPackage cp, ref bool dobar)
        {
            string        responseData = "";
            IPEndPoint    iPEndPoint   = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 20000);
            TcpClient     client       = new TcpClient(iPEndPoint);
            NetworkStream ns           = client.GetStream();

            string poruka = "Client_Insert;" + cp.ToString();

            Byte[] data = System.Text.Encoding.ASCII.GetBytes(poruka);
            ns.Write(data, 0, data.Length);

            Int32 bytes = ns.Read(data, 0, data.Length);

            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
            if (responseData == "true")
            {
                dobar = true;
            }
            else
            {
                dobar = false;
            }
            ns.Close();
            client.Close();
        }
Пример #2
0
 public void ClientPackage_FromString_Neispravan_VrstaKonverzija(string tekst)
 {
     Assert.Throws <ArgumentNullException>(() => {
         ClientPackage cptest = new ClientPackage();
         cptest.FromString(tekst);
     });
 }
Пример #3
0
 public ActionResult SaveOrUpdate(ClientPackage model)
 {
     if (model.ClientId == 0)
     {
         TempData["msg"] = "<script>alert('Campul Client este obligatoriu!');</script>";
         return(View(model));
     }
     else
     {
         if (ModelState.IsValid)
         {
             using (MyDBContext dc = new MyDBContext())
             {
                 if (model.Id > 0) //Update
                 {
                     var original = dc.ClientPackage.Where(a => a.Id == model.Id).FirstOrDefault();
                     if (original != null)
                     {
                         dc.Entry(original).CurrentValues.SetValues(model);
                     }
                 }
                 else //Save
                 {
                     dc.ClientPackage.Add(model);
                 }
                 dc.SaveChanges();
             }
         }
         return(View("Index"));
     }
 }
Пример #4
0
 public void ClientPackage_FromString_Neispravan_DatumVrednosti(string tekst)
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => {
         ClientPackage cptest = new ClientPackage();
         cptest.FromString(tekst);
     });
 }
        public ClientPackage getLatestClient()
        {
            MemoryStream  stream  = new MemoryStream();
            ClientPackage package = new ClientPackage();

            //package.zip = File.ReadAllBytes(@"C:\1.zip");
            return(package);
        }
        public void GetNextPackageByArrayEmptyTest()
        {
            var data = new byte[] { 0, 0, 0, 0 };

            ClientPackage clientPackage = _factory.GetNextPackage(data);

            Assert.Null(clientPackage);
        }
Пример #7
0
        public void ClientPackage_ToString_Ispravan(string tekst)
        {
            ClientPackage cpctrl = new ClientPackage();

            cpctrl.Datum     = ispravanDatum;
            cpctrl.Region    = "VOJVODINA";
            cpctrl.Potrosnja = 323.23;

            Assert.AreEqual(cpctrl.ToString(), tekst);
        }
        public void SetTargetsPackageTest()
        {
            var data = _setTargetsPackage.ToByteArray();

            ClientPackage clientPackage = _factory.GetNextPackage(data);

            Assert.NotNull(clientPackage);
            Assert.AreEqual(_setTargetsPackage.Type, clientPackage.Type);
            Assert.AreEqual(_setTargetsPackage.Units.Length, ((SetTargetsPackage)clientPackage).Units.Length);
            Assert.AreEqual(data, clientPackage.ToByteArray());
        }
        public void GetRoomPackageTest()
        {
            var package = new GetRoomPackage();
            var data    = package.ToByteArray();

            ClientPackage clientPackage = _factory.GetNextPackage(data);

            Assert.NotNull(clientPackage);
            Assert.AreEqual(data, clientPackage.ToByteArray());
            Assert.AreEqual(package.Type, clientPackage.Type);
        }
Пример #10
0
        public ClientPackage AddClient(ClientPackageAdd clientPackage, int createdbyId)
        {
            var toAdd = new ClientPackage {
                CreatedById = createdbyId,
                CreatedOn   = DateTime.Now,
                Source      = clientPackage.Source,
                OnlyFiles   = clientPackage.OnlyFiles,
                PackageId   = clientPackage.PackageId
            };

            context.Add(toAdd);
            context.SaveChanges();
            return(toAdd);
        }
Пример #11
0
        public void ClientPackage_FromString_Ispravan(string tekst)
        {
            ClientPackage cpctrl = new ClientPackage();

            cpctrl.Datum     = ispravanDatum;
            cpctrl.Region    = "VOJVODINA";
            cpctrl.Potrosnja = 323.23;
            ClientPackage cptest = new ClientPackage();

            cptest.FromString(tekst);
            Assert.AreEqual(cpctrl.Datum, cptest.Datum);
            Assert.AreEqual(cpctrl.Region, cptest.Region);
            Assert.AreEqual(cpctrl.Potrosnja, cptest.Potrosnja);
        }
        public void GetNextPackageEmptyTest()
        {
            var data = new byte[] { 0, 0, 0, 0 };

            ClientPackage clientPackage = null;

            using (var stream = new MemoryStream(data))
            {
                Console.WriteLine(stream.Length);
                clientPackage = _factory.GetNextPackage(stream);
            }

            Assert.Null(clientPackage);
        }
Пример #13
0
        public void SendPackage(ClientPackage package)
        {
            var data = package.ToByteArray();

            try
            {
                _stream.BeginWrite(data, 0, data.Length, SendCallback, package);
            }
            catch (NullReferenceException e)
            {
            }
            catch (IOException e)
            {
            }
        }
        public void ExitFromRoomPackageTest()
        {
            var package = new ExitFromRoomPackage
            {
                RoomId = 1
            };
            var data = package.ToByteArray();

            ClientPackage clientPackage = _factory.GetNextPackage(data);

            Assert.NotNull(clientPackage);
            Assert.AreEqual(data, clientPackage.ToByteArray());
            Assert.AreEqual(package.Type, clientPackage.Type);
            Assert.AreEqual(package.RoomId, ((ExitFromRoomPackage)clientPackage).RoomId);
        }
Пример #15
0
        public void activeSP([FromBody] ClientPackage forSP) //remember
        {
            db.Configuration.ProxyCreationEnabled = false;

            // string sp = "Activate Service Package";
            DateTime Now = DateTime.Now;

            //refiloeknowsbest
            Sale sales = new Sale();

            sales.ClientID = forSP.Sale.ClientID;
            //sales.Decription = activeSP;     // this is where the sale type is specific
            sales.Payment = forSP.Sale.Payment;

            //sales.SaleType = type id of activate

            sales.PaymentTypeID = forSP.Sale.PaymentTypeID;
            sales.StatusID      = 2;
            sales.Date          = Now;
            //sales.Description = sp;
            db.Sales.Add(sales);
            db.SaveChanges();

            int SaleID = db.Sales.Where(zz => zz.ClientID == forSP.Sale.ClientID && zz.SaleTypeID == forSP.Sale.SaleTypeID).Select(zz => zz.SaleID).LastOrDefault();

            //ading to client sdjfnjvn thingy
            ClientPackage CP = new ClientPackage();

            CP.SaleID     = SaleID;
            CP.PackageID  = forSP.ServicePackage.PackageID;
            CP.Date       = Now;
            CP.ExpiryDate = Now.AddMonths(forSP.ServicePackage.Duration);
            db.ClientPackages.Add(CP);
            db.SaveChanges();

            //**********instance for the service package*****************
            int loop = forSP.ServicePackage.Quantity;

            for (int j = 0; j <= loop; j++)
            {
                PackageInstance addInstance = new PackageInstance();
                addInstance.PackageID = CP.PackageID;
                addInstance.SaleID    = SaleID;
                addInstance.StatusID  = 1;
                db.PackageInstances.Add(addInstance);
                db.SaveChanges();
            }
        }
Пример #16
0
 public ActionResult SaveOrUpdate(int id)
 {
     if (id != -1) //update
     {
         using (MyDBContext dc = new MyDBContext())
         {
             var pack = dc.ClientPackage.Where(a => a.Id == id).Include(x => x.User).Include(x => x.User.UserDetails).FirstOrDefault();
             return(View(pack));
         }
     }
     else // create
     {
         ClientPackage pack = new ClientPackage();
         pack.Id = -1;
         return(View(pack));
     }
 }
Пример #17
0
        public void SetUp()
        {
            calcPack      = new CalculationPackage(ispravanDatum, 245.16, VrstaProracuna.MINIMALNI);
            ispravanDatum = new DateTime(2020, 10, 28, 22, 45, 59);
            ch            = new Calculation();
            ClientPackage cp = new ClientPackage();

            cp.Datum     = ispravanDatum;
            cp.Potrosnja = 256.36;
            cp.Region    = "VOJVODINA";
            ispravnalista.Add(cp);
            cp           = new ClientPackage();
            cp.Datum     = new DateTime(2020, 6, 15, 15, 59, 59);
            cp.Potrosnja = 3636.36;
            cp.Region    = "MACVA";
            ispravnalista.Add(cp);
        }
Пример #18
0
        public async void Process()
        {
            byte[] data = new byte[1024];

            try
            {
                do
                {
                    int len = await _stream.ReadAsync(data, 0, data.Length, _tokenSource.Token);

                    byte[] buffer = new byte[len];
                    Array.Copy(data, buffer, len);
                    using (var stream = new MemoryStream(buffer))
                    {
                        ClientPackage package = null;
                        do
                        {
                            package = _packageFactory.GetNextPackage(stream);
                            if (package != null)
                            {
                                var handler = PackageHandler.GetPackageHandler(this, package);
                                if (handler != null)
                                {
                                    handler.HandlePackage();
                                }
                                else
                                {
                                    Logger.Warn($"Package handler for package {package.Type} are not found! Client {ClientId}");
                                }
                            }
                        } while (package != null);
                    }
                } while (_tcpClient.Connected && !_tokenSource.IsCancellationRequested);
            }
            catch (IOException)
            {
                Logger.Info($"Disconnect client {ClientId} by exception");
                Disconnect();
            }
            catch (TaskCanceledException)
            {
                Logger.Info($"Disconnect client {ClientId} by exception");
                Disconnect();
            }
        }
Пример #19
0
        public ActionResult Delete(ClientPackage model)
        {
            using (MyDBContext dc = new MyDBContext())
            {
                var v = dc.ClientPackage.Where(a => a.Id == model.Id).FirstOrDefault();
                if (v != null)
                {
                    var userRel = dc.UserRelationship.Where(x => x.ClientPackageId == model.Id).ToList();
                    foreach (var rel in userRel)
                    {
                        dc.UserRelationship.Remove(rel);
                    }


                    dc.ClientPackage.Remove(v);
                    dc.SaveChanges();
                }
            }
            return(View("Index"));
        }
Пример #20
0
        private void downloadLatestSetupFile()
        {
            //if (!_downloadingSetupInProgress)
            //{
            //_downloadingSetupInProgress = true;
            Logger.Instance.Info("downloading new installation from server");
            ClientPackage installationPack = ConnectionManager.Proxy.getLatestClient();

            Logger.Instance.Info("Download Complete");
            frmMain.ClientSetupDownloadLocation = string.Format(@"{0}\{1}", ClientUtils.TEMP_DIR, installationPack.binName);
            Logger.Instance.Info(string.Format("Saving msi to {0}", frmMain.ClientSetupDownloadLocation));
            Shared.Utils.SaveBinaryToFile(frmMain.ClientSetupDownloadLocation, installationPack.bin);
            Logger.Instance.Info("Saving msi completed successfully");
            //_downloadingSetupInProgress = false;
            _downloadCompleteEvent.Set();
            if (OnFinishedDownloading != null)
            {
                OnFinishedDownloading();
            }
            //}
        }
Пример #21
0
        public void InstallClientPackage(ClientPackage package)
        {
            string folder = "wwwroot/lib/" + package.Package.Name;

            if (string.IsNullOrWhiteSpace(package.OnlyFiles))
            {
                Process.Start("git.exe", $"clone {package.Source} {folder}");
                var process = new Process();
                process.StartInfo.FileName  = "git.exe";
                process.StartInfo.Arguments = $"clone {package.Source} {folder}";
                process.Start();
                process.WaitForExit();
                Directory.Delete(folder + "/.git");
            }
            else
            {
                using (var client = new WebClient())
                {
                    string baseAddr = package.Source;
                    if (baseAddr.EndsWith(".git"))
                    {
                        baseAddr = baseAddr.Substring(0, baseAddr.Length - 4);
                    }
                    baseAddr = baseAddr
                               .Replace("https://github.com", "https://raw.githubusercontent.com");
                    if (!baseAddr.EndsWith("/"))
                    {
                        baseAddr += "/";
                    }
                    client.BaseAddress = baseAddr;

                    foreach (var file in package.OnlyFiles.Replace(", ", ",").Split(','))
                    {
                        string location = $"{folder}/{file}";
                        Directory.CreateDirectory(Path.GetDirectoryName(location));
                        client.DownloadFile($"master/{file}", location);
                    }
                }
            }
        }
Пример #22
0
        public static PackageHandler GetPackageHandler(Client client, ClientPackage package)
        {
            switch (package.Type)
            {
            case ClientPackageType.Ping:
                return(new PingPackageHandler(client, package));

            case ClientPackageType.Login:
                return(new LoginPackageHandler(client, package));

            case ClientPackageType.GetRoom:
                return(new GetRoomPackageHandler(client, package));

            case ClientPackageType.SetTargets:
                return(new SetTargetsPackageHandler(client, package));

            case ClientPackageType.ExitFromRoom:
                return(new ExitFromRoomPackageHandler(client, package));
            }

            return(null);
        }
Пример #23
0
        private dynamic getInstancePackage(ClientPackage service)
        {
            List <dynamic> dymanicinstances = new List <dynamic>();

            //int Total = 0;
            foreach (PackageInstance pack in service.PackageInstances)
            {
                dynamic dynamicInstancePackage = new ExpandoObject();
                dynamicInstancePackage.PackageID = pack.PackageID;
                dynamicInstancePackage.Date      = pack.Date;
                dynamicInstancePackage.SaleID    = pack.SaleID;
                dynamicInstancePackage.StatusID  = pack.StatusID;
                InstanceStatu stat = db.InstanceStatus.Where(zz => zz.StatusID == pack.StatusID).FirstOrDefault();
                dynamicInstancePackage.Status = stat.Status;
                //if (stat.Status == "Active")
                //    Total++;

                //dynamicInstancePackage.TotalAvailable = Total;

                dymanicinstances.Add(dynamicInstancePackage);
            }

            return(dymanicinstances);
        }
Пример #24
0
 public GetRoomPackageHandler(Client client, ClientPackage package) : base(client, package)
 {
 }
Пример #25
0
 public LoginPackageHandler(Client client, ClientPackage package) : base(client, package)
 {
 }
Пример #26
0
 public ExitFromRoomPackageHandler(Client client, ClientPackage package) : base(client, package)
 {
 }
Пример #27
0
 protected PackageHandler(Client client, ClientPackage package)
 {
     Client  = client;
     Package = package;
 }
Пример #28
0
        static void Main(string[] args)
        {
            /*---------------------------------------------------------------------------------------------------------------------------
            * KOMUNIKACIJA DATA ACCESS KOMPONENTE SA CALCULATION HANDLER KOMPONENTOM
            *--------------------------------------------------------------------------------------------------------------------------*/

            CalculationHandlerCommunication clh = new CalculationHandlerCommunication();
            List <CalculationPackage>       cp  = new List <CalculationPackage>();
            var th1 = new Thread(() => CalculationHandlerCommunication.ReceiveMessage());

            th1.IsBackground = true;
            th1.Start();

            /*--------------------------------------------------------------------------------------------------------------------------
             * KOMUNIKACIJA DATA ACCESS KOMPONENTE SA BAZOM PODATAKA, UBACITI GDE TREBA
             * -------------------------------------------------------------------------------------------------------------------------*/
            /*
             * var th2 = new Thread(() => DataBaseCommunication.AskForList(*DATUM ZA KOJI SE TRAZI *,*REFERENCA LISTE U KOJU DA VRATI PODATKE*));
             * th2.IsBackground = true;
             * th2.Start();
             */

            /*--------------------------------------------------------------------------------------------------------------------------
            * KOMUNIKACIJA DATA ACCESS KOMPONENTE SA KLIJENTOM
            *-------------------------------------------------------------------------------------------------------------------------*/

            DateTime      datumuporuci;
            int           sekunde = 0, minuti = 0, sati = 0, dani = 0, meseci = 0, godine = 0;
            string        region = "";
            int           vrstaporuke;
            double        vrednostpotrosnje;
            ClientPackage clientPackage = new ClientPackage();
            TcpListener   server        = null;

            //List<CalculationPackage> lista;
            try
            {
                Int32     port      = 13000;
                IPAddress localAddr = IPAddress.Parse("127.0.0.1");
                server = new TcpListener(localAddr, port);
                // Start listening for client requests.
                server.Start();
                // Buffer for reading data
                Byte[] bytes = new Byte[256];
                String data  = null;
                // Enter the listening loop.
                while (true)
                {
                    Console.Write("Waiting for a connection... ");
                    // Perform a blocking call to accept requests.
                    TcpClient client = server.AcceptTcpClient();
                    Console.WriteLine("Connected!");
                    data = null;
                    // Get a stream object for reading and writing
                    NetworkStream stream = client.GetStream();
                    int           i;
                    // Loop to receive all the data sent by the client.
                    while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
                    {
                        // Translate data bytes to a ASCII string.
                        data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
                        Console.WriteLine("Received: {0}", data);

                        string[] parametri = data.Split(';');
                        if (Int32.TryParse(parametri[0], out vrstaporuke) == false)
                        {
                            continue;
                        }
                        //--------------------------------------------------------
                        //VRSTA PORUKE KADA KORISNIK DODAJE OBJEKAT U BAZU PODATAKA
                        //--------------------------------------------------------
                        else if (vrstaporuke == 1)
                        {
                            region = parametri[1];
                            string[] datumpodaci = parametri[2].Split('/');
                            Int32.TryParse(datumpodaci[0], out sekunde);
                            Int32.TryParse(datumpodaci[1], out minuti);
                            Int32.TryParse(datumpodaci[2], out sati);
                            Int32.TryParse(datumpodaci[3], out dani);
                            Int32.TryParse(datumpodaci[4], out meseci);
                            Int32.TryParse(datumpodaci[5], out godine);
                            datumuporuci      = new DateTime(godine, meseci, dani, sati, minuti, sekunde);
                            vrednostpotrosnje = Double.Parse(parametri[3]);
                            //PUNJENJE IZVUCENIH PODATAKA U FORMU
                            clientPackage.Datum     = datumuporuci;
                            clientPackage.Potrosnja = vrednostpotrosnje;
                            clientPackage.Region    = region;
                            bool dobar        = false;
                            var  porukathread = new Thread(() => DataBaseCommunication.SendInfoToInsert_Client(clientPackage, ref dobar));
                            porukathread.Start();
                            if (dobar)
                            {
                                bytes = System.Text.Encoding.ASCII.GetBytes("WRITTEN");
                                stream.Write(bytes, 0, bytes.Length);
                            }
                            else
                            {
                                bytes = System.Text.Encoding.ASCII.GetBytes("NOTWRITTEN");
                                stream.Write(bytes, 0, bytes.Length);
                            }
                        }
                        //--------------------------------------------------------
                        //VRSTA PORUKE KADA KORISNIK TRAZI LISTU PODATAKA IZ BAZE
                        //--------------------------------------------------------
                        else
                        {
                            string[] datumpodaci = parametri[2].Split('/');
                            Int32.TryParse(datumpodaci[0], out dani);
                            Int32.TryParse(datumpodaci[1], out meseci);
                            Int32.TryParse(datumpodaci[2], out godine);
                            sekunde      = 0;
                            minuti       = 0;
                            sati         = 0;
                            datumuporuci = new DateTime(godine, meseci, dani, sati, minuti, sekunde);
                            string odgovorporuka = "";
                            var    porukathread  = new Thread(() => DataBaseCommunication.AskForList(datumuporuci, ref odgovorporuka, true));

                            bytes = System.Text.Encoding.ASCII.GetBytes(odgovorporuka);
                            stream.Write(bytes, 0, bytes.Length);
                        }
                    }

                    // Shutdown and end connection
                    client.Close();
                }
            }
            catch (SocketException e)
            {
                Console.WriteLine("SocketException: {0}", e);
            }
            finally
            {
                // Stop listening for new clients.
                server.Stop();
            }

            Console.WriteLine("\nHit enter to continue...");
            Console.Read();
        }
Пример #29
0
 public PingPackageHandler(Client client, ClientPackage package) : base(client, package)
 {
 }
Пример #30
0
 public SetTargetsPackageHandler(Client client, ClientPackage package) : base(client, package)
 {
 }