Beispiel #1
0
 public static bool PromijeniPodatkeOpazanja(string grad, _Opazanje opazanje, int idAplikacije)
 {
     try
     {
         using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije)))
         {
             var op = db.PARKING_OPAZANJAs.First(i => i.IDOpazanja == opazanje.IDOpazanja);
             if (op != null)
             {
                 if (op.Registracija != null)
                 {
                     op.Registracija = opazanje.Registracija;
                 }
                 if (op.Drzava != null)
                 {
                     op.Drzava = opazanje.Drzava;
                 }
                 if (op.PlacenoDo != null)
                 {
                     op.PlacenoDo = opazanje.PlacenoDo;
                 }
                 //op.Otisao = opazanje.Otisao;
                 db.SubmitChanges();
             }
             return(true);
         }
     }
     catch (Exception ex)
     {
         Sustav.SpremiGresku(grad, ex, idAplikacije, "IZMJENI OPAZANJE");
         return(false);
     }
 }
Beispiel #2
0
        public String Post(string guid, int idStavke, int kolicina, int vp, [FromBody] JObject value)
        {
            _Opazanje o     = value.ToObject <_Opazanje>();
            string    poziv = "";
            var       p     = value.GetValue("PozivNaBroj");

            if (p != null && !string.IsNullOrEmpty(p.ToString()))
            {
                poziv = p.ToString();
            }
            decimal iznos = 0;

            if (value["Slike"] != null)
            {
                List <string> slike64 = value["Slike"].ToObject <List <string> >();
                List <byte[]> slike   = new List <byte[]>();
                foreach (var s in slike64)
                {
                    try { slike.Add(Convert.FromBase64String(s)); } catch { }
                }
                Methods.DodajSlikuOpazanju(guid, o.IDOpazanja, slike);
            }
            var resp = Methods.Kazni(guid, o, idStavke, vp, kolicina, poziv, 0);

            return(resp.Item1);
        }
Beispiel #3
0
        public String Post(string guid, int idStavke, int kolicina, int vp, int tipPrintera, [FromBody] JObject value)
        {
            JToken p = null;

            try
            {
                _Opazanje o     = value.ToObject <_Opazanje>();
                string    poziv = "";
                p = value.GetValue("PozivNaBroj");

                if (p != null && !string.IsNullOrEmpty(p.ToString()))
                {
                    poziv = p.ToString();
                }

                if (value["Slike"] != null)
                {
                    List <string> slike64 = value["Slike"].ToObject <List <string> >();
                    List <byte[]> slike   = new List <byte[]>();
                    foreach (var s in slike64)
                    {
                        try { slike.Add(Convert.FromBase64String(s)); } catch { }
                    }
                    if (slike.Count > 0 && o != null && o.IDOpazanja > 0)
                    {
                        Methods.DodajSlikuOpazanju(guid, o.IDOpazanja, slike);
                    }
                }
                var resp = Methods.Kazni(guid, o, idStavke, vp, kolicina, poziv, 0);
                if (p != null && !string.IsNullOrEmpty(resp.Item3))
                {
                    return("ERROR:" + resp.Item3);
                }
                else
                {
                    return(resp.Item1);
                }
            }
            catch (Exception ex)
            {
                Methods.SpremiGresku(guid, ex, "DNEVNA KARTA CONTROLLER");
                return((p == null)? "":"ERROR:" + ex.Message);
            }
        }
Beispiel #4
0
 public int Post(string guid, [FromBody] JObject value)
 {
     try
     {
         _Opazanje     o       = value.ToObject <_Opazanje>();
         List <string> slike64 = value["Slike"].ToObject <List <string> >();
         List <byte[]> slike   = new List <byte[]>();
         foreach (var s in slike64)
         {
             try { slike.Add(Convert.FromBase64String(s)); } catch { }
         }
         bool ret = Methods.SpremiOpazanje(guid, ref o, slike);
         return((ret) ? 1 : 0);
     }
     catch (Exception ex)
     {
         Methods.SpremiGresku(guid, ex, "SPREMI OPAZANJE CONTROLLER");
         return(-1);
     }
 }
Beispiel #5
0
 public static Tuple <string, decimal, string> Kazni(string grad, _Opazanje opazanje, int idStavke, int idVrstePlacanja, int kolicina, string poziv, int tipPrintera)
 {
     return(Parking.NaplatiParking(grad, opazanje, idStavke, idVrstePlacanja, kolicina, poziv, tipPrintera, idAplikacije));
 }
Beispiel #6
0
 public static bool PromijeniPodatkeOpazanja(string grad, _Opazanje opazanje)
 {
     return(Parking.PromijeniPodatkeOpazanja(grad, opazanje, idAplikacije));
 }
Beispiel #7
0
        public static Tuple <string, decimal, string> NaplatiParking(string grad, _Opazanje opazanje, int idStavke, int idVrstePlacanja, int kolicina, string poziv, int tipPrintera, int idAplikacije)
        {
            decimal iznos;

            try
            {
                using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije)))
                {
                    //todo zone
                    RACUNI_STAVKE_OPI st = db.RACUNI_STAVKE_OPIs.First(i => i.IDOpisaStavke == idStavke && i.IDRedarstva == 4);
                    if (st == null)
                    {
                        return(new Tuple <string, decimal, string>("", 0, "Ne postoji opis stavke računa!"));
                    }

                    iznos = (decimal)st.Iznos * kolicina;
                    bool             uplatnica;
                    string           vrsta = Naplata.VrstaPlacanja(grad, idVrstePlacanja, idAplikacije, out uplatnica);
                    _PoslovniProstor pp    = PoslovniProstor.DohvatiPoslovniProstor(grad, 4, idAplikacije);

                    if (pp == null)
                    {
                        return(new Tuple <string, decimal, string>("", 0, "Niste definirali poslovni prostor!"));
                    }

                    //provjera poziva
                    if (!string.IsNullOrEmpty(poziv))
                    {
                        Tuple <string, string> kontrola = Sustav.ProvjeraPoziva(grad, poziv, st.Iznos.Value, 4, idAplikacije);

                        if (!string.IsNullOrEmpty(kontrola.Item1))
                        {
                            return(new Tuple <string, decimal, string>("", 0, kontrola.Item1));
                        }

                        poziv = kontrola.Item2;
                    }

                    _Djelatnik djel = Korisnici.DohvatiDjelatnika(grad, (int)opazanje.IDDjelatnika, idAplikacije);

                    List <_Stavka> stavke = new List <_Stavka>();

                    decimal ukupno   = (decimal)(kolicina * st.Iznos);
                    decimal osnovica = Math.Round(ukupno / ((decimal)(100 + pp.PDV) / 100), 2);
                    decimal pdv      = Math.Round(osnovica * pp.PDV / 100, 2);

                    _Stavka nova = new _Stavka(0, 0, st.IDOpisaStavke, st.NazivOpisaStavke, st.Lezarina, kolicina, (decimal)st.Iznos, pdv, osnovica, ukupno, pp.PDV, "");
                    stavke.Add(nova);

                    int blagajna = 1;

                    _Racun novi = new _Racun(0, -1, null, idVrstePlacanja, null, null, vrsta, "", (int)opazanje.IDDjelatnika, djel.ImeNaRacunu, 4, DateTime.Now, 0, 0, pdv, osnovica, ukupno,
                                             pp.PDV, djel.OIB ?? "", blagajna, "", false, "", string.IsNullOrEmpty(opazanje.Registracija)? "":opazanje.Registracija + " (" + opazanje.Drzava + ")", true, "", "", "",
                                             DateTime.Now, pp.Oznaka, poziv, "", "", opazanje.Registracija + " (" + opazanje.Drzava + ")", false, false, false, false, "", stavke, new List <_Osoba>());

                    if (opazanje.IDOpazanja == 0)
                    {
                        return(new Tuple <string, decimal, string>(Naplata.NaplatiParking(grad, novi, uplatnica, idAplikacije, tipPrintera), iznos, ""));
                    }

                    PARKING_OPAZANJA op = db.PARKING_OPAZANJAs.First(i => i.IDOpazanja == opazanje.IDOpazanja);
                    opazanje.IDLokacije = op.IDLokacije;

                    op.IDStatusa = st.IDStatusa;
                    op.Kaznjen   = true;
                    op.Iznos     = st.Iznos;

                    opazanje.IDStatusa = st.IDStatusa;

                    //ako je naplata (0) po satu preskoči ovo
                    if (st.IDStatusa != 0)
                    {
                        // TODO izbacio jer je suvišno nakon promjene?

                        /*
                         * int idPrekrsaja = DodajPostupanje(grad, opazanje, iznos, idAplikacije);//todo iznos kazne
                         *
                         * if (idPrekrsaja == -1)
                         * {
                         *  iznos = 0;
                         *  return "";
                         * }
                         */


                        novi.IDReference = op.IDOpazanja;
                    }

                    db.SubmitChanges();

                    return(new Tuple <string, decimal, string>(Naplata.NaplatiParking(grad, novi, uplatnica, idAplikacije, tipPrintera), iznos, "")); //;Naplata.NaplatiParking(grad, novi, uplatnica, idAplikacije, tipPrintera);
                    //todo dodati record u akcije
                }
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku(grad, ex, idAplikacije, "NAPLATA PARKINGA");
                iznos = 0;
                return(new Tuple <string, decimal, string>("", 0, ex.Message));
            }
        }
Beispiel #8
0
        public static bool Spremi(string grad, ref _Opazanje opazanje, List <byte[]> slike, int idAplikacije)
        {
            try
            {
                using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije)))
                {
                    #region LOKACIJA

                    Lokacije lok = new Lokacije();

                    lok.Lat  = (decimal)opazanje.Latitude;
                    lok.Long = (decimal)opazanje.Longitude;
                    lok.RegistracijskaPlocica  = opazanje.Registracija == null ? null : opazanje.Registracija.Replace("-", "").Replace(" ", "").ToUpper();
                    lok.DatumVrijeme           = ((DateTime)opazanje.Vrijeme);
                    lok.IDDjelatnika           = opazanje.IDDjelatnika;
                    lok.IDNacinaPozicioniranja = 3;
                    lok.IDTerminala            = opazanje.IDTerminala ?? 0;
                    lok.CellTowerID            = null;
                    lok.SignalStrength         = null;
                    lok.HDOP   = 0;
                    lok.Brzina = 0;
                    //todo lok.Punjac = false;

                    db.Lokacijes.InsertOnSubmit(lok);
                    db.SubmitChanges();

                    #endregion


                    //if (slike != null)
                    //{
                    //    Prekrsaj.DodajSliku(grad, lok.IDLokacije, slike, idAplikacije);
                    //}

                    PARKING_OPAZANJA po = new PARKING_OPAZANJA();

                    int id = 1;

                    if (db.PARKING_OPAZANJAs.Any())
                    {
                        id = db.PARKING_OPAZANJAs.Max(i => i.IDOpazanja) + 1;
                    }

                    po.IDOpazanja   = id;
                    po.IDLokacije   = lok.IDLokacije;
                    po.IDSektora    = opazanje.IDSektora;
                    po.IDZone       = db.PARKING_SEKTORIs.First(i => i.IDSektora == po.IDSektora).IDZone;
                    po.IDDjelatnika = (int)opazanje.IDDjelatnika;
                    po.IDStatusa    = opazanje.IDStatusa;
                    po.Registracija = opazanje.Registracija.Replace("-", "").Replace(" ", "").ToUpper();
                    po.Drzava       = opazanje.Drzava;
                    po.Vrijeme      = opazanje.Vrijeme;
                    po.Latitude     = opazanje.Latitude;
                    po.Longitude    = opazanje.Longitude;
                    po.Kaznjen      = opazanje.Kaznjen;

                    po.Otisao    = false; // nema smisla spremati opažanje za vozilo koje je otišlo"?
                    po.PlacenoDo = null;  //todo provjera plaćenosti ako je placeno zabilježiti do kada

                    db.PARKING_OPAZANJAs.InsertOnSubmit(po);
                    db.SubmitChanges();

                    if (slike != null)
                    {
                        DodajSlikuOpazanju(grad, id, slike, idAplikacije);
                    }

                    opazanje.IDOpazanja = id;
                    opazanje.IDLokacije = lok.IDLokacije;
                    opazanje.IDZone     = po.IDZone;

                    return(true);
                }
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku(grad, ex, idAplikacije, "SPREMI OPAZANJE");
                return(false);
            }
        }
Beispiel #9
0
 public bool Put(string guid, [FromBody] _Opazanje value)
 {
     return(Methods.PromijeniPodatkeOpazanja(guid, value));
 }
Beispiel #10
0
 public static bool SpremiOpazanje(string grad, ref _Opazanje opazanje, List <byte[]> slike)
 {
     return(Parking.Spremi(grad, ref opazanje, slike, idAplikacije));
 }