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); } }
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); }
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); } }
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); } }
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)); }
public static bool PromijeniPodatkeOpazanja(string grad, _Opazanje opazanje) { return(Parking.PromijeniPodatkeOpazanja(grad, opazanje, idAplikacije)); }
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)); } }
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); } }
public bool Put(string guid, [FromBody] _Opazanje value) { return(Methods.PromijeniPodatkeOpazanja(guid, value)); }
public static bool SpremiOpazanje(string grad, ref _Opazanje opazanje, List <byte[]> slike) { return(Parking.Spremi(grad, ref opazanje, slike, idAplikacije)); }