public static List <_Racun> DohvatiRacuneZaFiskalizaciju(string grad, int idRedarstva, out int broj, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { var rac = from r in db.RACUNIs join d in db.Djelatniks on r.IDDjelatnika equals d.IDDjelatnika where r.JIR == "" && r.IDRedarstva == idRedarstva && (r.IDVrstePlacanja != 4 && r.IDVrstePlacanja != 5) //ne fiskaliziram transakcijski racun select new _Racun(r.IDRacuna, r.IDReference, r.IDZakljucenja, r.IDVrstePlacanja, r.IDVrsteKartice, r.IDBanke, Naplata.VrstaPlacanja(grad, r.IDVrstePlacanja, idAplikacije), Naplata.VrstaBanke(grad, r.IDBanke, idAplikacije), r.IDDjelatnika, d.ImeNaRacunu, r.IDRedarstva, r.Datum, r.RB, r.Godina, r.PDV, r.Osnovica, r.Ukupno, r.PDVPosto, r.OIB, r.Blagajna, r.BrojRacuna, r.Storniran, r.Orginal, r.Napomena, r.Uplacen, r.JIR, r.ZKI, r.UUID, r.DatumPreuzimanja, r.PoslovniProstor, r.PozivNaBroj, r.BrojOdobrenja, Naplata.VrstaKartice(grad, r.IDVrsteKartice, idAplikacije), Naplata.RegistracijaRacuna(grad, r.IDReference, r.IDRedarstva, idAplikacije), r.Prenesen, r.Rate, d.Blagajna, false, "", null, null); broj = rac.Count(); return(rac.ToList()); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "DOHVATI RACUN"); broj = 0; return(null); } }
//Ocijenjivanje prijevoznika public async Task <IActionResult> OcijeniPrijevoznika(int IdPrijevoz, int Ocjena, string OpisUsluge, bool IdeNaplata, int IdRazlog, DateTime RokIzvrsenjaNaplate) { var prijevoz = _context.Prijevoz.Where(p => p.Id == IdPrijevoz).FirstOrDefault(); prijevoz.OcjenaPrijevoznika = Ocjena; prijevoz.OpisUslugePrijevoznika = OpisUsluge; _context.Prijevoz.Update(prijevoz); if (IdeNaplata) { VrstaNaplate vrstaNaplate = _context.VrstaNaplate.Where(v => v.Vrsta == "prijevozniku").FirstOrDefault(); Naplata naplataPrijevozniku = new Naplata { IdVrstaNaplate = vrstaNaplate.Id, IdPrijevoz = IdPrijevoz, IdRazlog = IdRazlog, RokIzvrsenjaNaplate = RokIzvrsenjaNaplate }; _context.Add(naplataPrijevozniku); } await _context.SaveChangesAsync(); ViewData["IdRazlog"] = new SelectList(_context.RazlogNaplate, "Id", "Razlog"); string urlString = "Details/" + prijevoz.Id.ToString(); return(RedirectToAction(urlString)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,IdRazlog,IdVrstaNaplate,IdPrijevoz,RokIzvrsenjaNaplate")] Naplata naplata) { if (id != naplata.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(naplata); await _context.SaveChangesAsync(); TempData[Constants.Message] = $"Ažuriranje uspješno obavljeno"; TempData[Constants.ErrorOccurred] = false; } catch (DbUpdateConcurrencyException) { if (!NaplataExists(naplata.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["IdPrijevoz"] = new SelectList(_context.Prijevoz, "Id", "Id", naplata.IdPrijevoz); ViewData["IdRazlog"] = new SelectList(_context.RazlogNaplate, "Id", "Razlog", naplata.IdRazlog); ViewData["IdVrstaNaplate"] = new SelectList(_context.VrstaNaplate, "Id", "Vrsta", naplata.IdVrstaNaplate); return(View(naplata)); }
public bool Storno(string grad, int idKorisnkika) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { RACUNI dv = db.RACUNIs.OrderByDescending(i => i.IDRacuna).First(i => i.IDRedarstva == 4); if (dv.Storniran) { return(false); } string brrac; _Racun racun = Naplata.DohvatiRacun(grad, dv.IDRacuna, true, idAplikacije); racun.IDDjelatnika = idKorisnkika; racun.DatumVrijeme = DateTime.Now; racun.OIB = db.Djelatniks.First(i => i.IDDjelatnika == idKorisnkika).OIB; racun.Operater = db.Djelatniks.First(i => i.IDDjelatnika == idKorisnkika).ImeNaRacunu; racun.Orginal = racun.BrojRacuna; racun.Storniran = true; racun.Osnovica = racun.Osnovica * -1; racun.Ukupno = racun.Ukupno * -1; racun.PDV = racun.PDV * -1; //racun.Blagajna = racun.Blagajna; //racun.DatumPreuzimanja = racun.DatumPreuzimanja; racun.Godina = DateTime.Now.Year; //racun.IDRedarstva = 4; //racun.IDReference = racun.IDReference; //racun.IDVrste = racun.IDVrste; //racun.Napomena = racun.Napomena; //racun.NazivVrste = racun.NazivVrste; //racun.Osobe = racun.Osobe; //racun.OznakaPP = racun.OznakaPP; //racun.PDVPosto = racun.PDVPosto; //racun.PozivNaBr = racun.PozivNaBr; int id = Naplata.StornirajRacun(grad, racun, 0, null, null, out brrac, idAplikacije); if (id == -1) { return(false); } return(true); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "NAPLATA PARKINGA S UREĐAJA"); return(false); } }
public static void Fiskaliziraj(string grad, int idRacuna, int idRedarstva, int idAplikacije) { try { _Racun racun = Naplata.DohvatiRacunLight(grad, idRacuna, idAplikacije); _FiskalOdgovor fo; _PoslovniProstor pp = PoslovniProstor.DohvatiPoslovniProstor(grad, idRedarstva, idAplikacije); if (pp.IDFisklaizacije == null) { return; } bool demo = grad == "Lokacije"; using (FiskalServiceClient sc = new FiskalServiceClient()) { List <_RacunPDV> obrpdv = new List <_RacunPDV>(); obrpdv.Add(new _RacunPDV { Iznos = racun.PDV, Osnovica = racun.Osnovica, Stopa = racun.PDVPosto }); string vpk = Naplata.VrstaPlacanjaKratica(grad, racun.IDVrste, idAplikacije); fo = sc.FiskalizirajRacunSVE(pp.IDVlasnikaFiskal.Value, pp.IDFisklaizacije.Value, racun.Blagajna, racun.Godina, racun.RedniBroj, racun.OIB, racun.DatumVrijeme, racun.Ukupno, obrpdv, new _RacunPDV(), 0, Convert.ToChar(vpk), demo, false); sc.Close(); } if (fo != null) { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { RACUNI r = db.RACUNIs.First(i => i.IDRacuna == idRacuna); r.JIR = fo.Jir; r.ZKI = fo.Zki; r.UUID = fo.Uuid; db.SubmitChanges(); } } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "FISKALIZACIJA RAČUNA"); } }
public string Naplati(string grad, int idNaloga, int idStatusa, int idDjelatnika, int idVrstePlacanja, _Osoba osoba, decimal iznos, string poziv, out int idRacuna) { try { string vrsta = Naplata.VrstaPlacanja(grad, idVrstePlacanja, idAplikacije); _PoslovniProstor pp = PoslovniProstor.DohvatiPoslovniProstor(grad, 2, idAplikacije); _Djelatnik djel = Korisnici.DohvatiDjelatnika(grad, idDjelatnika, idAplikacije); decimal osnovica = Math.Round(iznos / ((decimal)(100 + pp.PDV) / 100), 2); decimal pdv = Math.Round(osnovica * pp.PDV / 100, 2); osnovica = iznos - pdv; decimal ukupno = iznos; List <_Stavka> stavke = new List <_Stavka>(); using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { RACUNI_STAVKE_OPI st = db.RACUNI_STAVKE_OPIs.First(i => i.IDStatusa == 3 && i.IDRedarstva == 2 && i.Obrisan == false); _Stavka nova = new _Stavka(0, 0, st.IDOpisaStavke, st.NazivOpisaStavke, st.Lezarina, 1, iznos, pdv, osnovica, ukupno, pp.PDV, ""); stavke.Add(nova); List <_Osoba> osobe = new List <_Osoba>(); if (!string.IsNullOrEmpty(osoba.Ime) || !string.IsNullOrEmpty(osoba.Prezime) || !string.IsNullOrEmpty(osoba.BrojDokumenta) || !string.IsNullOrEmpty(osoba.OIB) || !string.IsNullOrEmpty(osoba.Napomena) || !string.IsNullOrEmpty(osoba.Mjesto) || !string.IsNullOrEmpty(osoba.Posta) || !string.IsNullOrEmpty(osoba.Ulica)) { osobe.Add(osoba); } string oznakaPP; int blagajna = Naplata.Blagajna(grad, idNaloga, out oznakaPP, idAplikacije); //definirano na vozilu if (string.IsNullOrEmpty(oznakaPP)) { oznakaPP = pp.Oznaka; } _Racun novi = new _Racun(0, idNaloga, null, idVrstePlacanja, null, null, vrsta, "", idDjelatnika, djel.ImeNaRacunu, 2, DateTime.Now, 0, 0, pdv, osnovica, ukupno, pp.PDV, djel.OIB ?? "", blagajna == -1 ? 1 : blagajna, "", false, "", "", true, "", "", "", DateTime.Now, oznakaPP, poziv, "", "", "", false, false, false, false, "", stavke, osobe); string brrac, pozivna; return(Naplata.NaplatiPauk(grad, novi, idStatusa, out idRacuna, out brrac, out pozivna, idAplikacije)); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "NAPLATA S UREĐAJA"); idRacuna = -1; return(""); } }
public async Task <IActionResult> Create([Bind("Id,IdRazlog,IdVrstaNaplate,IdPrijevoz,RokIzvrsenjaNaplate")] Naplata naplata) { if (ModelState.IsValid) { _context.Add(naplata); await _context.SaveChangesAsync(); TempData[Constants.Message] = $"Naplata dodana."; TempData[Constants.ErrorOccurred] = false; return(RedirectToAction(nameof(Index))); } ViewData["IdPrijevoz"] = new SelectList(_context.Prijevoz, "Id", "Id", naplata.IdPrijevoz); ViewData["IdRazlog"] = new SelectList(_context.RazlogNaplate, "Id", "Razlog", naplata.IdRazlog); ViewData["IdVrstaNaplate"] = new SelectList(_context.VrstaNaplate, "Id", "Vrsta", naplata.IdVrstaNaplate); return(View(naplata)); }
public string Naplati(string grad, int idKorisnika, int kolicina) { try { int idVrstePlacanja = 1; string vrsta = Naplata.VrstaPlacanja(grad, idVrstePlacanja, idAplikacije); _PoslovniProstor pp = PoslovniProstor.DohvatiPoslovniProstor(grad, 4, idAplikacije); if (pp == null) { return("Niste definirali poslovni prostor!"); } _Djelatnik djel = Korisnici.DohvatiDjelatnika(grad, idKorisnika, idAplikacije); using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { List <_Stavka> stavke = new List <_Stavka>(); RACUNI_STAVKE_OPI st = db.RACUNI_STAVKE_OPIs.First(i => i.IDRedarstva == 4 && i.Obrisan == false && i.IDStatusa == null); decimal ukupno = (decimal)(kolicina * st.Iznos); _Stavka nova = new _Stavka(0, 0, st.IDOpisaStavke, st.NazivOpisaStavke, st.Lezarina, kolicina, (decimal)st.Iznos, 0, 0, ukupno, pp.PDV, ""); stavke.Add(nova); List <_Osoba> osobe = new List <_Osoba>(); int blagajna = 1; _Racun novi = new _Racun(0, -1, null, idVrstePlacanja, null, null, vrsta, "", idKorisnika, djel.ImeNaRacunu, 4, DateTime.Now, 0, 0, 0, 0, ukupno, pp.PDV, djel.OIB ?? "", blagajna, "", false, "", "", true, "", "", "", DateTime.Now, pp.Oznaka, "", "", "", "", false, false, false, false, "", stavke, osobe); return(Naplata.NaplatiParking(grad, novi, false, idAplikacije)); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "NAPLATA PARKINGA S UREĐAJA"); return(""); } }
//public static string IspisKopijeRacunaParking(string grad, int idRacuna, int idAplikacije) //{ // try // { // using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) // { // _Racun racun = Naplata.DohvatiRacun(grad, idRacuna, idAplikacije); // if (racun == null) // { // return ""; // } // return Ispis.RacunParking(grad, racun, false, idAplikacije); // } // } // catch (Exception ex) // { // Sustav.SpremiGresku(grad, ex, idAplikacije, "KOPIJA RACUNA"); // return ""; // } //} public static string IspisKopijeRacunaParking(string grad, int idRacuna, int idAplikacije, int tipPrintera) { try { _Racun racun = Naplata.DohvatiRacun(grad, idRacuna, true, idAplikacije); if (racun == null) { return(""); } bool info; Naplata.VrstaPlacanja(grad, racun.IDVrste, idAplikacije, out info); return(Ispis.RacunParking(grad, racun, info, idAplikacije, tipPrintera)); } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "KOPIJA RACUNA"); return(""); } }
/*:: POZIVI ::*/ public static bool Placeni(string grad, DateTime datumOd, DateTime datumDo, out string poruka, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { #region PODACI var rac = db.RACUNIs.Where(r => r.Datum >= datumOd && r.Datum <= datumDo && r.IDVrstePlacanja != 4 && r.IDVrstePlacanja != 5); // && r.Prenesen == false if (!rac.Any()) { PovijestPrijenosa(grad, new List <int>(), "Nema ne prenesenih računa za odabrani datum!", "", true, idAplikacije); poruka = "Nema ne prenesenih računa za odabrani datum!"; return(true); } List <_StavkeP> stavke = new List <_StavkeP>(); List <_VrstaPla> vrstea = new List <_VrstaPla>(); //treba grupirati kartice u jedno i odgode ako ih bude trebalo List <_VrstaPla> vrste = new List <_VrstaPla>(); foreach (var r in rac.GroupBy(i => i.IDVrstePlacanja)) { vrstea.Add(new _VrstaPla(Convert.ToChar(Naplata.VrstaPlacanjaKratica(grad, r.Key, idAplikacije)), "", r.Sum(i => i.Ukupno).ToString("n2")));//.Replace(".", ",") } foreach (var r in vrstea.GroupBy(i => i.vp_tip)) { decimal ukupno = 0; foreach (var u in r) { ukupno += Convert.ToDecimal(u.vp_iznos); } vrste.Add(new _VrstaPla(r.Key, "", ukupno.ToString("n2").Replace(".", ""))); } foreach (var r in rac.GroupBy(i => i.PDVPosto)) { stavke.Add(new _StavkeP(r.Key.ToString("n1").Replace(".", ""), "0,0", r.Sum(i => i.Osnovica).ToString().Replace(".", "").Replace(",0000", ",00"), "0,0", "0,0", "0,0", r.Sum(i => i.PDV).ToString().Replace(".", "").Replace(",0000", ",00"), "0,0", "0,0", "0,0", "0,0", "0,0", "0,0")); } string pp = db.POSLOVNI_PROSTORs.First(i => i.IDRedarstva == 2).Oznaka; _Placeni plac = new _Placeni(new _Zaglavlje("", pp, datumOd.ToString("dd.MM.yyyy"), "", ""), stavke, vrste); #endregion #region POZIV string datum = DateToString(DateTime.Now); string metoda = "/sale/dailysales/create"; string tip = "POST"; string signature = CalculateSignature(tip, "/rest/api/v1" + metoda, datum); string adresa = metoda + "?username="******"&date=" + datum + "&signature=" + signature; string response = MakeRequest(url + adresa, plac, tip, "application/json", typeof(string)); #endregion if (response.Contains("uspješno spremljena")) { try { List <int> preneseni = rac.Select(i => i.IDRacuna).ToList(); //and idvrste placanja != 4,5 foreach (var r in rac) { r.Prenesen = true; db.SubmitChanges(); } PovijestPrijenosa(grad, preneseni, response, JsonConvert.SerializeObject(plac), true, idAplikacije); poruka = "Svi računi za odabrani datum su uspješno preneseni!"; return(true); } catch (Exception ex) { PovijestPrijenosa(grad, rac.Select(i => i.IDRacuna).ToList(), response, JsonConvert.SerializeObject(plac), false, idAplikacije); poruka = "Došlo je do greške prilikom prijenosa računa, računi su preneseni ali nisu označeni kao preneseni!"; Posalji.Email(grad, poruka, "GREŠKA PRIJENOS - " + grad.Replace("PROMETNIK_", "").Replace("_", " "), new List <string> { "*****@*****.**" }, null, false, idAplikacije); Sustav.SpremiGresku(grad, ex, idAplikacije, "PRIJENOS RACUNA U RAČUNOVODSTVO"); return(false); } } Sustav.SpremiGresku(grad, new Exception(response), idAplikacije, "PRIJENOS RACUNA U RAČUNOVODSTVO"); PovijestPrijenosa(grad, rac.Select(i => i.IDRacuna).ToList(), response, JsonConvert.SerializeObject(plac), false, idAplikacije); poruka = "Došlo je do greške prilikom prijenosa računa!"; return(false); } } catch (Exception ex) { PovijestPrijenosa(grad, new List <int>(), "", "", false, idAplikacije); Sustav.SpremiGresku(grad, ex, idAplikacije, "PRIJENOS RACUNA U RAČUNOVODSTVO"); poruka = "Došlo je do greške prilikom prijenosa računa!"; return(false); } }
/* * public static JArray PretraziPrekrsaje(string grad, string registracija, int filter, int idDjelatnika, DateTime datum, int idRedarstva, int index, int count) * { * bool nalogpauku, obavijesti, upozorenja; * obavijesti = (filter & 0x01) != 0; * upozorenja = (filter & 0x02) != 0; * nalogpauku = (filter & 0x04) != 0; * * if (count <= 0) count = int.MaxValue; * bool contains = false; * if (registracija != null && registracija.StartsWith("~")) * { * contains = true; * registracija = registracija.Replace("~", ""); * } * if (registracija == null) * { * registracija = ""; * } * else registracija = registracija.Replace("-", "").Replace(" ", "").ToUpper().Replace("Č", "C").Replace("Ć", "C").Replace("Ž", "Z").Replace("Š", "S").Replace("Đ", "D"); * * try * { * JArray prekrsaji = new JArray(); * using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) * { * var prek = from p in db.Prekrsajis * join l in db.Lokacijes on p.IDLokacije equals l.IDLokacije * join d in db.Djelatniks on p.IDDjelatnika equals d.IDDjelatnika * join t in db.Terminalis on l.IDTerminala equals t.IDTerminala into term * from tt in term.DefaultIfEmpty() * join i in db.PredlosciIspisas on p.IDPredloskaIspisa equals i.IDPRedloska into predlozak * from ii in predlozak.DefaultIfEmpty() * join o in db.OpisiPrekrsajas on p.IDSkracenogOpisa equals o.IDOpisa into opis * from oo in opis.DefaultIfEmpty() * join r in db.PopisPrekrsajas on p.IDPrekrsaja equals r.IDPrekrsaja into popis * from rr in popis.DefaultIfEmpty() * join n in db.NaloziPaukus on p.IDNaloga equals n.IDNaloga into nalozi * from nn in nalozi.DefaultIfEmpty() * join s in db.StatusPaukas on nn.IDStatusa equals s.IDStatusa into statusi * from ss in statusi.DefaultIfEmpty() * join v in db.RazloziNepodizanjaVozilas on nn.IDRazloga equals v.IDRazloga into raz * from vv in raz.DefaultIfEmpty() * join z in db.Pauks on p.IDNaloga equals z.IDNaloga into pau * from zz in pau.DefaultIfEmpty() * join x in db.VozilaPaukas on nn.IDVozila equals x.IDVozila into voz * from xx in voz.DefaultIfEmpty() * join b in db.RACUNIs on nn.IDRacuna equals b.IDRacuna into rac * from bb in rac.DefaultIfEmpty() * join q in db.RACUNIs on p.IDRacuna equals q.IDRacuna into racP * from qq in racP.DefaultIfEmpty() * where (!string.IsNullOrEmpty(registracija) ? ((!contains) ? p.RegistracijskaPlocica.Replace("-", "").Replace(" ", "").ToUpper().Replace("Č", "C").Replace("Ć", "C").Replace("Ž", "Z").Replace("Š", "S").Replace("Đ", "D") == registracija * : p.RegistracijskaPlocica.Replace("-", "").Replace(" ", "").ToUpper().Replace("Č", "C").Replace("Ć", "C").Replace("Ž", "Z").Replace("Š", "S").Replace("Đ", "D").Contains(registracija)) : registracija == "") && * (idDjelatnika > 0 ? p.IDDjelatnika == idDjelatnika : true) && * //(!obavijesti ? p.IDPredloskaIspisa != 2 : obavijesti) && * //(!upozorenja ? p.IDPredloskaIspisa != 1 : upozorenja) && * ( * (nalogpauku && p.NalogPauka.Value) || * (obavijesti && (ii.IDPRedloska == 15 || ii.IDPRedloska == 2)) || * (upozorenja && (ii.IDPRedloska == 14 || ii.IDPRedloska == 1)) * ) && * p.Vrijeme.Value.Date == datum.Date && * p.IDRedarstva == idRedarstva && * p.Status == false && p.Test == false * orderby p.Vrijeme.Value ascending * select new _Prekrsaj * (p.IDPrekrsaja, * p.IDRedarstva, * tt.IDTerminala, * oo.IDOpisa, * p.IDOpisaZakona, * p.IDLokacije, * (int)p.IDDjelatnika, * p.IDPredloskaIspisa ?? -1, * p.Lat, * p.Long, * p.Vrijeme.Value, * Priprema.Registracija(p.RegistracijskaPlocica, p.KraticaDrzave), * d.ImePrezime, * d.BrojSI, * string.IsNullOrEmpty(d.ImeNaRacunu) ? d.UID : d.ImeNaRacunu, * p.Adresa, * p.BrojUpozorenja, * tt.IDTerminala == 0 ? "RUČNI UNOS" : tt.NazivTerminala, * ii.NazivPredloska, * oo.OpisPrekrsaja, * oo.KratkiOpis, * "", * rr.MaterijalnaKaznjivaNorma, * "", * oo.ClanakPauka, * p.Kazna.ToString(), * p.NalogPauka, * p.Zahtjev, * p.Status, * p.Test, * p.TrajanjePostupka, * Priprema.Ocitanje(p.StatusOcitanja), * EncryptDecrypt.Decrypt(p.Tekst), * EncryptDecrypt.Decrypt(p.Napomena), * null, * "", //ImaKazni(grad, p.RegistracijskaPlocica, idAplikacije).ToString(), * p.StatusVPP ?? "", * p.KraticaDrzave, * p.IDRacuna, * qq.BrojRacuna, * Priprema.Nalog(p.IDNaloga, xx, ss, vv, nn, zz, bb.BrojRacuna, Naplata.VrstaPlacanja(grad, bb.IDVrstePlacanja, idAplikacije)) * ); * * //return Priprema.PripremiPodatke(grad, prek, idAplikacije); => NE KUŽIM ČEMU - VIDJETI S PAJOM... * * _Prekrsaj[] pks = prek.ToArray(); * * * * for (int i = 0; i < prek.Count(); i++) * { * if (count > 0 && i >= index + count) break; * if (i >= index) * { * var p = JObject.FromObject(pks[i], new JsonSerializer * { * DateParseHandling = DateParseHandling.DateTime * }); * p.Add("Index", i); * p.Add("Total", pks.Length); * * prekrsaji.Add(p); * } * * } * * foreach (JObject p in prekrsaji) * { * JArray slike64 = new JArray(); * var slike = from s in db.SlikaPrekrsajas * where s.IDLokacije == (int) p.GetValue("IDLokacije") * select s.Slika; * foreach (var slika in slike) * { * if (slika.Length > 0) * { * try * { * //Bitmap b = new Bitmap(new MemoryStream(slika.ToArray())); * //Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback); * //Image myThumbnail = b.GetThumbnailImage(64, 64, myCallback, IntPtr.Zero); * //var bytes = new MemoryStream(); * //myThumbnail.Save(bytes, ImageFormat.Jpeg); * //slike64.Add(Convert.ToBase64String(bytes.ToArray())); * //break; * Bitmap b = new Bitmap(new MemoryStream(slika.ToArray())); * int maxPixelDimension = 240; * int w = b.Width, h = b.Height; * * if (w > h) * { * h = h * maxPixelDimension / w; * w = maxPixelDimension; * } * else * { * w = w * maxPixelDimension / h; * h = maxPixelDimension; * } * Image.GetThumbnailImageAbort myCallback = ThumbnailCallback; * Image myThumbnail = b.GetThumbnailImage(w, h, myCallback, IntPtr.Zero); * var bytes = new MemoryStream(); * myThumbnail.Save(bytes, ImageFormat.Jpeg); * slike64.Add(Convert.ToBase64String(bytes.ToArray())); * break; * } * catch (Exception ex) * { * Sustav.SpremiGresku(grad, ex, idAplikacije, "Thumbnail slikice..."); * } * } * } * p.Add("Slike", slike64); * } * } * return prekrsaji; * } * catch (Exception ex) * { * Sustav.SpremiGresku(grad, ex, idAplikacije, "Pretrazi Prekrsaje (MethodsPrometno)"); * return new JArray(); * } * } */ public static __Prekrsaj[] PretraziPrekrsaje(string grad, string registracija, int filter, int idDjelatnika, DateTime datum, int idRedarstva, int index, int count) { bool nalogpauku, obavijesti, upozorenja; obavijesti = (filter & 0x01) != 0; upozorenja = (filter & 0x02) != 0; nalogpauku = (filter & 0x04) != 0; __Prekrsaj[] prekrsaji = new __Prekrsaj[0]; System.Diagnostics.Debug.Print(DateTime.Now.ToString()); if (count <= 0) { count = int.MaxValue; } bool contains = false; if (registracija != null && registracija.StartsWith("~")) { contains = true; registracija = registracija.Replace("~", ""); } if (registracija == null) { registracija = ""; } else { registracija = registracija.Replace("-", "").Replace(" ", "").ToUpper().Replace("Č", "C").Replace("Ć", "C").Replace("Ž", "Z").Replace("Š", "S").Replace("Đ", "D"); } try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { var prek = from p in db.Prekrsajis join l in db.Lokacijes on p.IDLokacije equals l.IDLokacije join d in db.Djelatniks on p.IDDjelatnika equals d.IDDjelatnika join t in db.Terminalis on l.IDTerminala equals t.IDTerminala into term from tt in term.DefaultIfEmpty() join i in db.PredlosciIspisas on p.IDPredloskaIspisa equals i.IDPRedloska into predlozak from ii in predlozak.DefaultIfEmpty() join o in db.OpisiPrekrsajas on p.IDSkracenogOpisa equals o.IDOpisa into opis from oo in opis.DefaultIfEmpty() join r in db.PopisPrekrsajas on p.IDPrekrsaja equals r.IDPrekrsaja into popis from rr in popis.DefaultIfEmpty() join n in db.NaloziPaukus on p.IDNaloga equals n.IDNaloga into nalozi from nn in nalozi.DefaultIfEmpty() join s in db.StatusPaukas on nn.IDStatusa equals s.IDStatusa into statusi from ss in statusi.DefaultIfEmpty() join v in db.RazloziNepodizanjaVozilas on nn.IDRazloga equals v.IDRazloga into raz from vv in raz.DefaultIfEmpty() join z in db.Pauks on p.IDNaloga equals z.IDNaloga into pau from zz in pau.DefaultIfEmpty() join x in db.VozilaPaukas on nn.IDVozila equals x.IDVozila into voz from xx in voz.DefaultIfEmpty() join b in db.RACUNIs on nn.IDRacuna equals b.IDRacuna into rac from bb in rac.DefaultIfEmpty() join q in db.RACUNIs on p.IDRacuna equals q.IDRacuna into racP from qq in racP.DefaultIfEmpty() //join slike in db.SlikaPrekrsajas on p.IDLokacije equals slike.IDLokacije into slikeP //from slikes in slikeP.Take(1).DefaultIfEmpty() where (!string.IsNullOrEmpty(registracija) ? ((!contains) ? p.RegistracijskaPlocica.Replace("-", "").Replace(" ", "").ToUpper().Replace("Č", "C").Replace("Ć", "C").Replace("Ž", "Z").Replace("Š", "S").Replace("Đ", "D") == registracija : p.RegistracijskaPlocica.Replace("-", "").Replace(" ", "").ToUpper().Replace("Č", "C").Replace("Ć", "C").Replace("Ž", "Z").Replace("Š", "S").Replace("Đ", "D").Contains(registracija)) : registracija == "") && (idDjelatnika > 0 ? p.IDDjelatnika == idDjelatnika : true) && //(!obavijesti ? p.IDPredloskaIspisa != 2 : obavijesti) && //(!upozorenja ? p.IDPredloskaIspisa != 1 : upozorenja) && ( (nalogpauku && p.NalogPauka.Value) || (obavijesti && ii.Kaznjava) || (upozorenja && !ii.Kaznjava) ) && p.Vrijeme.Value.Date == datum.Date && p.IDRedarstva == idRedarstva && p.Status == false && p.Test == false orderby p.Vrijeme.Value descending select new __Prekrsaj (p.IDPrekrsaja, p.IDRedarstva, tt.IDTerminala, oo.IDOpisa, p.IDOpisaZakona, p.IDLokacije, (int)p.IDDjelatnika, p.IDPredloskaIspisa ?? -1, p.Lat, p.Long, p.Vrijeme.Value, Priprema.Registracija(p.RegistracijskaPlocica, p.KraticaDrzave), d.ImePrezime, d.BrojSI, string.IsNullOrEmpty(d.ImeNaRacunu) ? d.UID : d.ImeNaRacunu, p.Adresa, p.BrojUpozorenja, tt.IDTerminala == 0 ? "RUČNI UNOS" : tt.NazivTerminala, ii.NazivPredloska, oo.OpisPrekrsaja, oo.KratkiOpis, "", rr.MaterijalnaKaznjivaNorma, "", oo.ClanakPauka, p.Kazna.ToString(), p.NalogPauka, p.Zahtjev, p.Status, p.Test, p.TrajanjePostupka, Priprema.Ocitanje(p.StatusOcitanja), EncryptDecrypt.Decrypt(p.Tekst), EncryptDecrypt.Decrypt(p.Napomena), null, "", //ImaKazni(grad, p.RegistracijskaPlocica, idAplikacije).ToString(), p.StatusVPP ?? "", p.KraticaDrzave, p.IDRacuna, qq.BrojRacuna, Priprema.Nalog(p.IDNaloga, xx, ss, vv, nn, zz, bb.BrojRacuna, Naplata.VrstaPlacanja(grad, bb.IDVrstePlacanja, idAplikacije)), null, //(slikes.Slika != null)? slikes.Slika.ToArray():null ii.Kaznjava ); //return Priprema.PripremiPodatke(grad, prek, idAplikacije); => NE KUŽIM ČEMU - VIDJETI S PAJOM... __Prekrsaj[] pks = prek.ToArray(); System.Diagnostics.Debug.Print(DateTime.Now.ToString()); int len = (count > 0) ? Math.Min(count, pks.Length - index) : Math.Max(0, pks.Length - index); prekrsaji = new __Prekrsaj[len]; Array.Copy(pks, index, prekrsaji, 0, len); for (int i = 0; i < prekrsaji.Length; i++) { __Prekrsaj p = prekrsaji[i]; p.Index = i + index; p.Total = pks.Length; } System.Diagnostics.Debug.Print(DateTime.Now.ToString()); foreach (__Prekrsaj p in prekrsaji) { List <string> slike64 = new List <string>(); var slika = (from s in db.SlikaPrekrsajas where s.IDLokacije == p.IDLokacije select s.Slika).FirstOrDefault(); //foreach (var slika in slike) //{ if (slika != null && slika.Length > 0) { try { //Bitmap b = new Bitmap(new MemoryStream(slika.ToArray())); //Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback); //Image myThumbnail = b.GetThumbnailImage(64, 64, myCallback, IntPtr.Zero); //var bytes = new MemoryStream(); //myThumbnail.Save(bytes, ImageFormat.Jpeg); //slike64.Add(Convert.ToBase64String(bytes.ToArray())); //break; Bitmap b = new Bitmap(new MemoryStream(slika.ToArray())); int maxPixelDimension = 240; int w = b.Width, h = b.Height; if (w > h) { h = h * maxPixelDimension / w; w = maxPixelDimension; } else { w = w * maxPixelDimension / h; h = maxPixelDimension; } Image.GetThumbnailImageAbort myCallback = ThumbnailCallback; Image myThumbnail = b.GetThumbnailImage(w, h, myCallback, IntPtr.Zero); var bytes = new MemoryStream(); myThumbnail.Save(bytes, ImageFormat.Jpeg); slike64.Add(Convert.ToBase64String(bytes.ToArray())); //break; } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "Thumbnail slikice..."); } } //} p.Slike = slike64; } } System.Diagnostics.Debug.Print(DateTime.Now.ToString()); return(prekrsaji); } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "Pretrazi Prekrsaje (MethodsPrometno)"); return(new __Prekrsaj[0]); } }
public bool IzmjeniOpisStavke(string grad, _OpisiStavki opis) { return(Naplata.IzmjeniOpisStavke(grad, opis, idAplikacije)); }
/*:: OPISI STAVKI ::*/ public List <_2DLista> StatusiKojiNaplacuju(string grad) { return(Naplata.StatusiKojiNaplacuju(grad, idAplikacije)); }
public List <_VrstaPlacanjaStatus> VrstePlacanjaStatusi(string grad, out bool definiranIznos) { return(Naplata.VrstePlacanjaStatusi(grad, 2, out definiranIznos, idAplikacije)); }
public string IspisKopijeRacuna(string grad, int idRacuna) { return(Naplata.IspisKopijeRacuna(grad, idRacuna, idAplikacije)); }
public string Naplati(string grad, _Racun racun, out int idRacuna, out string poziv) { string brrac; return(Naplata.NaplatiPauk(grad, racun, -10, out idRacuna, out brrac, out poziv, idAplikacije)); }
public List <_2DLista> Stavka(string grad, int idStatusa) { return(Naplata.Stavka(grad, idStatusa, idAplikacije)); }
/*:: KARTICE ::*/ public bool IzmjeniKarticuPlacanja(string grad, int idRacuna, int?idBanke, int idKartice, string odobrenje, bool?rate) { return(Naplata.IzmjeniKarticuPlacanja(grad, idRacuna, idBanke, idKartice, odobrenje, rate, idAplikacije)); }
/*:: VRSTE PLACANJA ::*/ public List <_VrstaPlacanja> VrstePlacanja(string grad) { return(Naplata.VrstePlacanja(grad, null, 2, idAplikacije)); }
/*:: MUP ::*/ public List <_Osoba> DohvatMUPa(string grad, _Racun racun, int idKorisnika) { return(Naplata.DohvatMUPa(grad, racun, idKorisnika, idAplikacije)); }
public bool IzmjeniStstusVrstePlacanja(string grad, int idVrste, bool ukljuci) { return(Naplata.IzmjeniStstusVrstePlacanja(grad, idVrste, ukljuci, 2, idAplikacije)); }
public _OdgovorMUPVozilo MUPParkingVozilo(string oibustanove, string registracija, DateTime datumpreksaja, string adresaprekrsaja) { return(Naplata.MUPParkingVozilo(oibustanove, registracija, datumpreksaja, adresaprekrsaja, idAplikacije)); }
public bool?ObrisiOpisStavke(string grad, int idOpisa) { return(Naplata.ObrisiOpisStavke(grad, idOpisa, idAplikacije)); }
/*:: NAPLATA ::*/ #region NAPLATA public int NoviRacun(string grad, _Racun racun, out string brrac, out string poziv) { return(Naplata.NoviRacun(grad, racun, out brrac, out poziv, idAplikacije)); }
public int DodajOpisStavke(string grad, _OpisiStavki opis) { return(Naplata.DodajOpisStavke(grad, opis, idAplikacije)); }
public int StornirajRacun(string grad, _Racun racun, int idStatusa, byte[] prilog, string filename, out string brrac) { return(Naplata.StornirajRacun(grad, racun, idStatusa, prilog, filename, out brrac, idAplikacije)); }
public static string StornirajKaznu(string grad, int idRacuna, int idDjelatnika) { return(Naplata.StornirajRacunParking(grad, idRacuna, idDjelatnika, "STORNIRANO NA TERENU!", idAplikacije)); }
public byte[] PregledajPrilogStornu(string grad, int idRacuna, out string filename) { return(Naplata.PregledajPrilogStornu(grad, idRacuna, out filename, idAplikacije)); }
public static bool TemeljnicaR(string grad, DateTime datum, List <string> primatelji, out string poruka, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { #region PODACI var racuni = from r in db.BLAGAJNICKI_DNEVNIKs join s in db.BLAGAJNICKI_DNEVNIK_STAVKEs on r.IDDnevnika equals s.IDDnevnika where r.Datum.Date == datum.Date select new { r, s }; if (!racuni.Any()) { PovijestPrijenosa(grad, new List <int>(), "Nema ne prenesenih temeljnica za odabrani datum!", "", true, idAplikacije); poruka = "Nema ne prenesenih podataka za odabrani datum!"; return(true); } #endregion POSLOVNI_PROSTOR pp = db.POSLOVNI_PROSTORs.First(i => i.IDRedarstva == 2); poruka = ""; string temeljnica = "temeljnica_" + datum.ToString("dd_MM_yy") + ".csv"; string putanjaO = Putanja(putanja + temeljnica); using (StreamWriter rac = new StreamWriter(putanjaO, false, Encoding.Default)) { foreach (var r in racuni) { decimal iznos = r.s.Primitak; if (r.s.Izdatak != 0) { iznos = r.s.Izdatak; } if (iznos == 0) { continue; } string iznos1 = iznos.ToString("N2"); if (iznos1.Contains(".") && iznos1.Contains(",")) { iznos1 = iznos1.Replace(".", ""); } else if (iznos1.Contains(".") && !iznos1.Contains(",")) { iznos1 = iznos1.Replace(".", ","); } string objektTroska = "RPP01", nm = ""; if (!string.IsNullOrEmpty(r.s.NaplatnoMjesto)) { if (r.s.NaplatnoMjesto == "JT") { objektTroska = "RPP02"; } nm = r.s.NaplatnoMjesto + "-"; } if (r.s.Opis == "DNEVNI UTRŽAK") { decimal osnovica = Math.Round(iznos / ((decimal)(100 + pp.PDV) / 100), 2); decimal pdv = Math.Round(osnovica * pp.PDV / 100, 2); string osnovica1 = osnovica.ToString("N2"); if (osnovica1.Contains(".") && osnovica1.Contains(",")) { osnovica1 = osnovica1.Replace(".", ""); } else if (osnovica1.Contains(".") && !osnovica1.Contains(",")) { osnovica1 = osnovica1.Replace(".", ","); } string pdv1 = pdv.ToString("N2"); if (pdv1.Contains(".") && pdv1.Contains(",")) { pdv1 = pdv1.Replace(".", ""); } else if (pdv1.Contains(".") && !pdv1.Contains(",")) { pdv1 = pdv1.Replace(".", ","); } //ukupno rac.WriteLine("102306" + "#D#" + iznos1 + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + r.r.Datum.ToString("dd.MM.yyyy") + "#" + "#" + "#" + "#" + "#" + "#" + nm + r.s.Opis + "/" + r.s.Tip + "-" + r.s.RB); //pdv rac.WriteLine("240011" + "#P#" + pdv1 + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + r.r.Datum.ToString("dd.MM.yyyy") + "#" + "#" + "#" + "#" + "#" + "#" + nm + r.s.Opis + "/" + r.s.Tip + "-" + r.s.RB); //osnovica rac.WriteLine("751005" + "#P#" + osnovica1 + "#" + "#" + "#" + "#" + "#" + "#" + "300020#" + "300020#" + objektTroska + "#" + "#" + "#" + r.r.Datum.ToString("dd.MM.yyyy") + "#" + "#" + "#" + "#" + "#" + "#" + nm + r.s.Opis + "/" + r.s.Tip + "-" + r.s.RB); } if (r.s.Opis == "POLOG I SMJENA") { rac.WriteLine("102306" + "#P#" + iznos1 + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + objektTroska + "#" + "#" + "#" + r.r.Datum.ToString("dd.MM.yyyy") + "#" + "#" + "#" + "#" + "#" + "#" + nm + r.s.Opis + "/" + r.s.Tip + "-" + r.s.RB); rac.WriteLine("100906" + "#D#" + iznos1 + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + objektTroska + "#" + "#" + "#" + r.r.Datum.ToString("dd.MM.yyyy") + "#" + "#" + "#" + "#" + "#" + "#" + nm + r.s.Opis + "/" + r.s.Tip + "-" + r.s.RB); } if (r.s.Opis == "POLOG II SMJENA") { rac.WriteLine("102306" + "#P#" + iznos1 + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + objektTroska + "#" + "#" + "#" + r.r.Datum.ToString("dd.MM.yyyy") + "#" + "#" + "#" + "#" + "#" + "#" + nm + r.s.Opis + "/" + r.s.Tip + "-" + r.s.RB); rac.WriteLine("100906" + "#D#" + iznos1 + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + objektTroska + "#" + "#" + "#" + r.r.Datum.ToString("dd.MM.yyyy") + "#" + "#" + "#" + "#" + "#" + "#" + nm + r.s.Opis + "/" + r.s.Tip + "-" + r.s.RB); } } foreach (var r in racuni.Where(i => i.s.IDBanke.HasValue).GroupBy(i => i.s.IDBanke)) { string konto = "117800"; //PBZ if (r.Key == 1) { konto = "117700"; //ERSTE } string izdatak = r.Sum(i => i.s.Izdatak).ToString("N2"); if (izdatak.Contains(".") && izdatak.Contains(",")) { izdatak = izdatak.Replace(".", ""); } else if (izdatak.Contains(".") && !izdatak.Contains(",")) { izdatak = izdatak.Replace(".", ","); } rac.WriteLine("102306" + "#P#" + izdatak + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + r.First().r.Datum.ToString("dd.MM.yyyy") + "#" + "#" + "#" + "#" + "#" + "#" + "KARTICE " + Naplata.VrstaBanke(grad, r.Key, idAplikacije)); foreach (var s in r) { string izdatak2 = s.s.Izdatak.ToString("N2"); if (izdatak2.Contains(".") && izdatak2.Contains(",")) { izdatak2 = izdatak2.Replace(".", ""); } else if (izdatak2.Contains(".") && !izdatak2.Contains(",")) { izdatak2 = izdatak2.Replace(".", ","); } rac.WriteLine(konto + "#D#" + izdatak2 + "#" + "#" + "#" + "#" + "#" + "#" + "#" + "#" + Naplata.VrstaKarticeKratica(grad, s.s.IDVrsteKartice, idAplikacije) + "#" + "#" + "#" + r.First().r.Datum.ToString("dd.MM.yyyy") + "#" + "#" + "#" + "#" + "#" + "#" + s.s.NaplatnoMjesto + "-" + s.s.Opis + "/" + s.s.Tip + "-" + s.s.RB); } } rac.Close(); } //saljem na email List <string> prilozi = new List <string>(); prilozi.Add(putanjaO); string body = cs.email.Pripremi.PopulateBodyPrijenos("Point", datum.ToString("dd.MM.yy")); bool poslano = Posalji.EmailPrilozi(grad, body, "Prijenos podataka - TEMELJNICA (" + datum.ToString("dd.MM.yy") + ")", primatelji, prilozi, true, idAplikacije); if (poslano) { poruka = "Prijenos podataka je uspješno izvršen"; return(true); } poruka = "Došlo je do greške prilikom slanja podataka"; return(false); } } catch (Exception ex) { PovijestPrijenosa(grad, new List <int>(), "", "", false, idAplikacije); Sustav.SpremiGresku(grad, ex, idAplikacije, "PRIJENOS RACUNA U RAČUNOVODSTVO"); poruka = "Došlo je do greške prilikom prijenosa računa!"; return(false); } }
public List <_2DLista> StatusiStorna() { return(Naplata.StatusiStorna(2)); }