示例#1
0
        public Brojilo SearchId(int id)
        {
            Brojilo br = null;

            br = ReadCounterFromXml(id);
            return(br);
        }
示例#2
0
        public IActionResult Brojilo(int PrikljucakID)
        {
            BrojiloVM brojilo = new BrojiloVM();

            if (_context.Brojilo.FirstOrDefault(x => x.PrikljucakID == PrikljucakID) != null)
            {
                Brojilo b = _context.Brojilo.FirstOrDefault(x => x.PrikljucakID == PrikljucakID);
                brojilo.StaroStanjeJeftina = b.StaroStanjeJeftina;

                brojilo.StatoStanjeSkupa      = b.StaroStanjeSkupa;
                brojilo.TrenutnoStanjeJeftina = b.TrenutnoStanjeJeftina;;
                brojilo.TrenutnoStanjeSkupa   = b.TrenutnoStanjeSkupa;
                brojilo.Datum        = DateTime.Now;
                brojilo.PrikljucakID = PrikljucakID;
                brojilo.BrojiloID    = b.Id;

                return(PartialView("Brojilo", brojilo));
            }
            else
            {
                brojilo.StaroStanjeJeftina    = 0;
                brojilo.StatoStanjeSkupa      = 0;
                brojilo.TrenutnoStanjeJeftina = 0;
                brojilo.TrenutnoStanjeSkupa   = 0;
                brojilo.PrikljucakID          = PrikljucakID;
                brojilo.Datum     = DateTime.Now;
                brojilo.BrojiloID = 0;
                return(PartialView("Brojilo", brojilo));
            }
        }
示例#3
0
        /// <summary>
        /// //////////////////////////////
        /// </summary>
        /// <returns></returns>
        public double GetPotrosnja(int id)
        {
            double cena = 0;

            Brojilo counter = ReadCounterFromXml(id);

            do
            {
                foreach (var keyValuePair in WorkerLB.workers)
                {
                    if (keyValuePair.Value.Free)
                    {
                        keyValuePair.Value.Free = false;
                        IWorkerService workerChannel = getChannelToWorker(keyValuePair.Value);
                        try
                        {
                            cena = workerChannel.GetPrice(counter.Potrosnja);
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                        }
                        //  Thread.Sleep(5000);
                        keyValuePair.Value.Free = true;
                        return(cena);
                    }
                }
            } while (true);
        }
示例#4
0
        public bool ChangeEntyty(Brojilo counterNew, Brojilo counterOld)
        {
            CustomPrincipal principal = Thread.CurrentPrincipal as CustomPrincipal;

            if (principal.IsInRole(Permissions.addentity.ToString()) || principal.IsInRole(Permissions.modify.ToString()))
            {
                List <Brojilo> couters = ReadXMLCounters();
                foreach (var item in couters)
                {
                    if (item.Id == counterOld.Id)
                    {
                        item.Id        = counterNew.Id;
                        item.Potrosnja = counterNew.Potrosnja;
                        item.Ime       = counterNew.Ime;
                        item.Prezime   = counterNew.Prezime;
                    }
                }
                SaveCountersToXml(couters);
                if (principal.IsInRole(Permissions.modify.ToString()))
                {
                    Audit.AuthorizationSuccess(principal.Identity.Name, Permissions.modify.ToString());
                }
                else
                {
                    Audit.AuthorizationSuccess(principal.Identity.Name, Permissions.modify.ToString());
                }
            }
            return(true);
        }
示例#5
0
        private void button_Search(object sender, RoutedEventArgs e)
        {
            if (tb_id1.Text == "")
            {
                MessageBox.Show("Molim vas unesite ID brojila");
                return;
            }

            br = proxy.SearchId(Convert.ToInt32(tb_id1.Text));
            if (br != null)
            {
                if (type == EnumType.Operator)
                {
                    tbID.Text         = br.Id;
                    tb_potrsnja.Text  = br.Potrosnja;
                    tb_ime.Text       = br.Ime;
                    tb_prz.Text       = br.Prezime;
                    tb_ime.IsReadOnly = true;
                    tb_prz.IsReadOnly = true;
                }
                else
                {
                    tbID.Text        = br.Id;
                    tb_ime.Text      = br.Ime;
                    tb_prz.Text      = br.Prezime;
                    tb_potrsnja.Text = br.Potrosnja;
                }
            }
            else
            {
                MessageBox.Show("Zao nam je ovaj id ne postoji u bazi !!!");
                tb_id1.Text = "";
            }
        }
示例#6
0
        public bool AddEntyty(Brojilo brojilo)
        {
            CustomPrincipal principal = Thread.CurrentPrincipal as CustomPrincipal;

            /// audit both successfull and failed authorization checks
            if (principal.IsInRole(Permissions.addentity.ToString()))
            {
                if (!File.Exists("Baza.xml"))
                {
                    XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
                    xmlWriterSettings.Indent = true;
                    xmlWriterSettings.NewLineOnAttributes = true;
                    using (XmlWriter xmlWriter = XmlWriter.Create("Baza.xml", xmlWriterSettings))
                    {
                        xmlWriter.WriteStartDocument();
                        xmlWriter.WriteStartElement("Brojila");

                        xmlWriter.WriteStartElement("Brojilo");
                        xmlWriter.WriteElementString("Id", brojilo.Id);
                        xmlWriter.WriteElementString("Ime", brojilo.Ime);
                        xmlWriter.WriteElementString("Prezime", brojilo.Prezime);
                        xmlWriter.WriteElementString("Potrosnja", brojilo.Potrosnja);
                        xmlWriter.WriteEndElement();

                        xmlWriter.WriteEndElement();
                        xmlWriter.WriteEndDocument();
                    }
                }
                else
                {
                    XDocument xDocument         = XDocument.Load("Baza.xml");
                    XElement  root              = xDocument.Element("ArrayOfBrojilo");
                    IEnumerable <XElement> rows = root.Descendants("Brojilo");
                    XElement firstRow           = rows.First();
                    firstRow.AddBeforeSelf(
                        new XElement("Brojilo",
                                     new XElement("Id", brojilo.Id),
                                     new XElement("Ime", brojilo.Ime),
                                     new XElement("Prezime", brojilo.Prezime),
                                     new XElement("Potrosnja", brojilo.Potrosnja)
                                     ));
                    xDocument.Save("Baza.xml");

                    Audit.AuthorizationSuccess(principal.Identity.Name, Permissions.addentity.ToString());
                    return(true);
                }
            }
            else
            {
                Audit.AuthorizationFailed(principal.Identity.Name, Environment.MachineName, "nema pravo pristupa");
            }
            Console.WriteLine("Zavrsio sam sa upisivanjem podataka u fajl.");
            return(true);
        }
示例#7
0
        public Brojilo SearchId(int id)
        {
            Brojilo br = null;

            try
            {
                br = factory.SearchId(id);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(br);
        }
示例#8
0
        public bool ChangeEntyty(Brojilo counterNew, Brojilo counterOld)
        {
            bool result = false;

            try
            {
                result = factory.ChangeEntyty(counterNew, counterOld);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(result);
        }
示例#9
0
        public bool AddEntyty(Brojilo counter)
        {
            bool result = false;

            try
            {
                result = factory.AddEntyty(counter);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(result);
        }
示例#10
0
        public Brojilo ReadCounterFromXml(int id)
        {
            Brojilo        br = null;
            List <Brojilo> deserializedList = new List <Brojilo>();

            deserializedList = ReadXMLCounters();
            try {
                br = deserializedList.Single(r => r.Id == id.ToString());
            }
            catch (Exception e)
            {
                return(br);
            }
            return(br);
        }
示例#11
0
        static void Main(string[] args)
        {
            ChannelFactory <ILoadBalancerService> factory = new ChannelFactory <ILoadBalancerService>(typeof(ILoadBalancerService).ToString());

            ILoadBalancerService proxy = factory.CreateChannel();
            Brojilo br = new Brojilo("123", "Niki", "Velickovic", "666");
            double  x;
            int     t = 0;

            //  while (t < 3)
            {
                x = proxy.Process_Id(666);
                t++;
                Console.WriteLine("{0} poziv = {1}", t, x);
            }
            Console.ReadKey();
        }
示例#12
0
        public IActionResult Racuni(int PrikljucakId)
        {
            List <Racun> racuni  = new List <Racun>();
            Brojilo      brojilo = _context.Brojilo.FirstOrDefault(x => x.PrikljucakID == PrikljucakId);

            ViewData["dug"] = 0;

            if (brojilo != null)
            {
                racuni          = _context.Racun.Where(x => x.BrojiloID == brojilo.Id).ToList();
                ViewData["dug"] = _context.Dugovanja.SingleOrDefault(x => x.BrojiloID == brojilo.Id).Ukupno;
            }



            return(View("Racuni", racuni));
        }
示例#13
0
 private void AddEntity(object sender, RoutedEventArgs e)
 {
     if ((tbID.Text == "" || tbIme.Text == "" || tbPrz.Text == "" || tbPot.Text == ""))
     {
         MessageBox.Show("Molim vas popunite sva polja pre dodavanja entiteta!");
         return;
     }
     try
     {
         Brojilo br = new Brojilo(tbID.Text, tbIme.Text, tbPrz.Text, tbPot.Text);
         proxy.AddEntyty(br);
         MessageBox.Show("Dodavanje  entiteta uspesno zavrseno");
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
示例#14
0
        private void ok_b_Click(object sender, RoutedEventArgs e)
        {
            if (tbID.Text == "" || tb_ime.Text == "" || tb_prz.Text == "" || tb_potrsnja.Text == "")
            {
                MessageBox.Show("Molim vas da unesete sve parametre za promenu brojila");
                return;
            }


            if ((tbID.Text != "") && (tb_ime.Text != "") && (tb_prz.Text != "") && (tb_potrsnja.Text != ""))
            {
                Brojilo br2 = new Brojilo(tbID.Text, tb_ime.Text, tb_prz.Text, tb_potrsnja.Text);
                if (proxy.ChangeEntyty(br2, br))
                {
                    MessageBox.Show("Uspesno ste izmenili brojilo");
                }
                else
                {
                    MessageBox.Show("Nisam uspeo da izmeniti entitet");
                }
            }
        }
示例#15
0
        public IActionResult SnimiBrojilo(BrojiloVM brojilo)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Prikazi", new { KlijentID = _context.Prikljucak.FirstOrDefault(x => x.Id == brojilo.PrikljucakID).KlijentID }));
            }
            Brojilo b = new Data.Models.Brojilo();

            if (_context.Brojilo.FirstOrDefault(x => x.Id == brojilo.BrojiloID) != null)
            {
                b = _context.Brojilo.FirstOrDefault(x => x.Id == brojilo.BrojiloID);
                b.StaroStanjeJeftina    = b.TrenutnoStanjeJeftina;
                b.StaroStanjeSkupa      = b.TrenutnoStanjeSkupa;
                b.TrenutnoStanjeJeftina = brojilo.TrenutnoStanjeJeftina;
                b.TrenutnoStanjeSkupa   = brojilo.TrenutnoStanjeSkupa;
                _context.Brojilo.Update(b);
                _context.SaveChanges();

                CijenaKwh cijena = _context.Cijena.FirstOrDefault();

                Racun racun = new Racun();
                racun.Potrosnja_jeftina = brojilo.TrenutnoStanjeJeftina - brojilo.StaroStanjeJeftina;
                racun.Potrosnja_Skupa   = brojilo.TrenutnoStanjeSkupa - brojilo.StatoStanjeSkupa;
                racun.BrojiloID         = brojilo.BrojiloID;
                racun.Ukupno            = racun.Potrosnja_jeftina * cijena.CijenaKwHJeftina + racun.Potrosnja_Skupa * cijena.CijenaKwhSkupa;
                racun.Mjesec            = DateTime.Now.Month.ToString();
                racun.CijenaId          = cijena.Id;
                if (_context.Dugovanja.FirstOrDefault(x => x.BrojiloID == brojilo.BrojiloID) != null)
                {
                    racun.Dug = _context.Dugovanja.FirstOrDefault(x => x.BrojiloID == brojilo.BrojiloID).Ukupno;

                    Dugovanja d = _context.Dugovanja.FirstOrDefault(x => x.BrojiloID == brojilo.BrojiloID);
                    d.RacuniUkupno = d.RacuniUkupno + racun.Ukupno;
                    d.Ukupno       = d.RacuniUkupno - d.Uplata;
                    _context.Dugovanja.Update(d);
                    _context.SaveChanges();
                }
                else
                {
                    Dugovanja dug = new Dugovanja();
                    dug.BrojiloID    = brojilo.BrojiloID;
                    dug.RacuniUkupno = _context.Racun.Where(x => x.BrojiloID == brojilo.BrojiloID).Select(x => x.Ukupno).Sum() + racun.Ukupno;
                    dug.Uplata       = 0;
                    dug.Ukupno       = dug.RacuniUkupno - dug.Uplata;

                    _context.Dugovanja.Add(dug);
                    _context.SaveChanges();

                    racun.Dug = _context.Racun.Where(x => x.BrojiloID == brojilo.BrojiloID).Select(x => x.Ukupno).Sum();
                }

                _context.Racun.Add(racun);
                _context.SaveChanges();

                return(RedirectToAction("Prikazi", new { KlijentID = _context.Prikljucak.FirstOrDefault(x => x.Id == brojilo.PrikljucakID).KlijentID }));
            }
            else
            {
                b.StaroStanjeJeftina    = brojilo.TrenutnoStanjeJeftina;
                b.StaroStanjeSkupa      = brojilo.TrenutnoStanjeSkupa;
                b.TrenutnoStanjeJeftina = brojilo.TrenutnoStanjeJeftina;
                b.TrenutnoStanjeSkupa   = brojilo.TrenutnoStanjeSkupa;
                b.PrikljucakID          = brojilo.PrikljucakID;
                b.Datum = brojilo.Datum;
                _context.Brojilo.Add(b);
                _context.SaveChanges();
                Brojilo bro = _context.Brojilo.FirstOrDefault(x => x.PrikljucakID == brojilo.PrikljucakID);


                CijenaKwh cijena = _context.Cijena.FirstOrDefault();

                Racun racun = new Racun();
                racun.Potrosnja_jeftina = brojilo.TrenutnoStanjeJeftina - brojilo.StaroStanjeJeftina;
                racun.Potrosnja_Skupa   = brojilo.TrenutnoStanjeSkupa - brojilo.StatoStanjeSkupa;
                racun.BrojiloID         = bro.Id;
                racun.Ukupno            = racun.Potrosnja_jeftina * cijena.CijenaKwHJeftina + racun.Potrosnja_Skupa * cijena.CijenaKwhSkupa;
                racun.Mjesec            = DateTime.Now.Month.ToString();
                racun.CijenaId          = cijena.Id;
                racun.Dug = 0;
                Dugovanja dug = new Dugovanja();
                dug.BrojiloID    = bro.Id;
                dug.RacuniUkupno = _context.Racun.Where(x => x.BrojiloID == brojilo.BrojiloID).Select(x => x.Ukupno).Sum() + racun.Ukupno;
                dug.Uplata       = 0;
                dug.Ukupno       = dug.RacuniUkupno - dug.Uplata;
                _context.Dugovanja.Add(dug);
                _context.SaveChanges();


                _context.Racun.Add(racun);
                _context.SaveChanges();
                return(RedirectToAction("Prikazi", new { KlijentID = _context.Prikljucak.FirstOrDefault(x => x.Id == brojilo.PrikljucakID).KlijentID }));
            }
        }