public static bool RegistrirajPP(string grad, _PoslovniProstor pos, int idAplikacije) { try { if (pos.IDFisklaizacije == null) { return(false); } bool demo = grad == "Lokacije"; using (FiskalServiceClient sc = new FiskalServiceClient()) { bool ok = sc.PrijaviPoslovniProstor(pos.IDFisklaizacije.Value, demo); sc.Close(); using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { POSLOVNI_PROSTOR poslpro = db.POSLOVNI_PROSTORs.First(i => i.IDPoslovnogProstora == pos.IDPoslovnogProstora); poslpro.DatumPrimjene = DateTime.Now; db.SubmitChanges(); } return(ok); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "REGISTRIRAJ POSLOVNI PROSTOR"); return(false); } }
public static bool SpremiLogo(string grad, byte[] logo, int idRedarstva, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { POSLOVNI_PROSTOR pp; if (db.POSLOVNI_PROSTORs.Any(i => i.IDRedarstva == idRedarstva)) { pp = db.POSLOVNI_PROSTORs.First(i => i.IDRedarstva == idRedarstva); } else { pp = new POSLOVNI_PROSTOR(); int id = 1; if (db.POSLOVNI_PROSTORs.Any()) { id = db.POSLOVNI_PROSTORs.Max(i => i.IDRedarstva); } pp.IDPoslovnogProstora = id; pp.IDRedarstva = idRedarstva; } pp.Logo = logo; if (!db.POSLOVNI_PROSTORs.Any()) { db.POSLOVNI_PROSTORs.InsertOnSubmit(pp); } db.SubmitChanges(); return(true); } } catch (Exception ex) { Sustav.SpremiGresku("", ex, idAplikacije, "IZMJENI LOGO POSLOVNOG PROSTORA"); return(false); } }
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 static bool?IzmjeniPoslovniProstor(string grad, _PoslovniProstor prostor, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { POSLOVNI_PROSTOR pp; if (db.POSLOVNI_PROSTORs.Any(i => i.IDRedarstva == prostor.IDRedarstva)) { pp = db.POSLOVNI_PROSTORs.First(i => i.IDRedarstva == prostor.IDRedarstva); } else { pp = new POSLOVNI_PROSTOR(); int id = 1; if (db.POSLOVNI_PROSTORs.Any()) { id = db.POSLOVNI_PROSTORs.Max(i => i.IDRedarstva); } pp.IDPoslovnogProstora = id; pp.IDRedarstva = prostor.IDRedarstva; } pp.Naziv = prostor.Naziv; pp.Podnaslov = prostor.Podnaslov; pp.USustavu = prostor.USustavu; pp.Web = prostor.Web; pp.Email = prostor.Email; pp.Opis = prostor.Opis; pp.Ulica = prostor.Ulica; pp.Broj = prostor.Broj; pp.Dodatak = prostor.Dodatak; pp.Posta = prostor.Posta; pp.Mjesto = prostor.Mjesto; pp.Tel = prostor.Tel; pp.Fax = prostor.Fax; pp.Banka = prostor.Banka; pp.OIB = prostor.OIB; pp.Oznaka = prostor.Oznaka ?? ""; //todo obrisi pp.RadnoVrijeme = prostor.RadnoVrijeme; pp.DatumPrimjene = prostor.DatumPrimjene; pp.PDV = prostor.PDV; pp.Dospijece = prostor.Dosipijece; if (!db.POSLOVNI_PROSTORs.Any(i => i.IDRedarstva == prostor.IDRedarstva)) { prostor.IDPoslovnogProstora = pp.IDPoslovnogProstora; db.POSLOVNI_PROSTORs.InsertOnSubmit(pp); } db.SubmitChanges(); int ok = Gradovi.IzmjeniUplatnicu(grad, prostor.Uplatnica, idAplikacije); if (ok == -1) { return(null); } if (pp.IDFiskaliziranog != null) { Fiskalizacija.IzmjeniPP(grad, prostor, idAplikacije); } else { Fiskalizacija.DodajPP(grad, prostor, idAplikacije); } return(true); } } catch (Exception ex) { Sustav.SpremiGresku("", ex, idAplikacije, "IZMJENI POSLOVNI PROSTOR"); return(false); } }
/*:: POSLOVNI PROSTOR ::*/ public static bool DodajPP(string grad, _PoslovniProstor pos, int idAplikacije) { try { int idPoste; using (PostavkeDataContext db = new PostavkeDataContext()) { idPoste = db.POSTEs.First(i => i.Posta == pos.Posta).IDPoste; } using (FiskalServiceClient sc = new FiskalServiceClient()) { _Vlasnik vl = new _Vlasnik() { Id = pos.IDVlasnikaFiskal ?? 0, Naziv = pos.Naziv, OIB = pos.OIB, SjedisteDodKBR = pos.Dodatak, SjedisteKBR = pos.Broj, SjedistePosta = idPoste, SjedisteUlica = pos.Ulica, TipOsobe = 'P', USustavuPDVa = true //todo }; int idVlasnika = pos.IDVlasnikaFiskal == null?sc.DodajVlasnika(vl) : pos.IDVlasnikaFiskal.Value; if (idVlasnika == -1) { return(false); } FiskalizacijaSR._PoslovniProstor pp = new FiskalizacijaSR._PoslovniProstor { Id = -1, JLSNaziv = pos.Mjesto, KBR = pos.Broj, Naziv = pos.Naziv, NazivRed1 = pos.Podnaslov, NazivRed2 = "", DodKBR = pos.Dodatak, OznakaNaRacunu = pos.Oznaka, Posta = idPoste, Ulica = pos.Ulica, Vlasnik = idVlasnika, SljednostRacuna = "P", Zatvoren = "" }; int idpp = sc.DodajPoslovniProstor(pp); if (idpp != -1) { _RadnoVrijeme rv = new _RadnoVrijeme() { PoslovniProstor = idpp, Opis = pos.RadnoVrijeme, PocetakPrimjene = DateTime.Now }; int idrv = sc.DodajRadnoVrijeme(rv); } sc.Close(); using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { POSLOVNI_PROSTOR poslpro = db.POSLOVNI_PROSTORs.First(i => i.IDPoslovnogProstora == pos.IDPoslovnogProstora); poslpro.IDVlasnikaFiskal = idVlasnika; poslpro.IDFiskaliziranog = idpp == -1 ? (int?)null : idpp; db.SubmitChanges(); } return(true); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "REGISTRIRAJ POSLOVNI PROSTOR"); return(false); } }