コード例 #1
0
        /*:: POSTAVKE JLS ::*/

        public static bool PostavkeGrada(string grad, _Grad postavke, int idAplikacije)
        {
            try
            {
                using (PostavkeDataContext db = new PostavkeDataContext())
                {
                    GRADOVI p = db.GRADOVIs.First(i => i.IDGrada == Sistem.IDGrada(grad));

                    bool odv = p.Odvjetnici;
                    //decimal iznos = p.IznosNaloga;

                    p.NazivGrada    = postavke.Naziv;
                    p.Latitude      = (decimal)postavke.Latitude;
                    p.Longitude     = (decimal)postavke.Longitude;
                    p.IznosNaloga   = postavke.IznosNaloga;
                    p.Zoom          = postavke.Zoom;
                    p.Pauk          = postavke.Pauk;
                    p.Aktivan       = postavke.Aktivan;
                    p.Vpp           = postavke.Vpp;
                    p.Odvjetnici    = postavke.Odvjetnici;
                    p.Adresa        = postavke.Adresa;
                    p.Grb           = postavke.Grb;
                    p.DOF           = postavke.DOF;
                    p.Chat          = postavke.Chat;
                    p.Mapa          = postavke.Mapa;
                    p.GO            = postavke.GO;
                    p.IDGrupePromet = postavke.IDGrupePredmet;
                    p.Lisice        = postavke.Lisice;

                    db.SubmitChanges();

                    if (odv != postavke.Odvjetnici)
                    {
                        string poruka = p.NazivGrada + " - isključeno je vanjsko postupanje!";

                        if (postavke.Odvjetnici)
                        {
                            poruka = p.NazivGrada + " - uključeno je vanjsko postupanje!";
                        }

                        Posalji.Email(grad, poruka, p.NazivGrada + "Promjena postavki", new List <string> {
                            "*****@*****.**"
                        }, null, false, idAplikacije);
                    }

                    return(true);
                }
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku("", ex, idAplikacije, "POSTAVKE GRADA");
                return(false);
            }
        }
コード例 #2
0
        /*:: 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);
            }
        }
コード例 #3
0
        public static bool Odgode(string grad, DateTime datumOd, DateTime datumDo, out string poruka, int idAplikacije)
        {
            try
            {
                using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije)))
                {
                    #region PODACI

                    var racuni = from r in db.RACUNIs
                                 where r.Datum >= datumOd &&
                                 r.Datum <= datumDo &&
                                 (r.IDVrstePlacanja == 4 || r.IDVrstePlacanja == 5) &&
                                 r.Prenesen == false
                                 select r;

                    if (!racuni.Any())
                    {
                        PovijestPrijenosa(grad, new List <int>(), "Nema ne prenesenih odgoda za odabrani datum!", "", true, idAplikacije);
                        poruka = "Nema ne prenesenih odgoda za odabrani datum!";
                        return(true);
                    }

                    #endregion

                    poruka = "";
                    foreach (var r in racuni)
                    {
                        List <_Osoba> oso = (from ro in db.RACUNI_OSOBE_RELACIJEs
                                             join o in db.RACUNI_OSOBEs on ro.IDOsobe equals o.IDOsobe
                                             where ro.IDRacuna == r.IDRacuna &&
                                             !ro.Vlasnik
                                             select new _Osoba(o.IDOsobe, o.Ime, o.Prezime, o.Ulica, o.KucniBroj, o.Posta, o.Mjesto, o.Drzava, o.OIB, o.Napomena, o.BrojDokumenta, o.Rodjen, ro.Vlasnik, o.MUP)).ToList();


                        if (!oso.Any())
                        {
                            oso.Add(new _Osoba(0, "", "", "", "", "", "", "", "", "", "", null, false, false));
                        }

                        var os = oso.First();

                        if (oso.Count > 1)
                        {
                            os = oso.First(i => i.Vlasnik == false);
                        }

                        List <_StavkeOdgoda> stavke     = new List <_StavkeOdgoda>();
                        List <_StopeOdgoda>  po_stopama = new List <_StopeOdgoda>();

                        po_stopama.Add(new _StopeOdgoda(r.PDVPosto.ToString("n1").Replace(".", ","), "0,0", "0,0",
                                                        r.Osnovica.ToString().Replace(".", ",").Replace(",0000", ",00"), r.PDV.ToString().Replace(".", ",").Replace(",0000", ",00"), "0,0", "0,0"));
                        stavke.Add(new _StavkeOdgoda("0,0", "0,0", "0,0", "0,0", "0,0", "0,0", "0,0", "0,0",
                                                     r.PDV.ToString().Replace(".", ",").Replace(",0000", ",00"), r.Ukupno.ToString().Replace(".", ",").Replace(",0000", ",00")));

                        string adresaO = os.Ulica + " " + os.KBr;
                        // string oi = string.IsNullOrEmpty(r.o.OIB) ? r.o.BrojDokumenta : "";

                        int dospijece = db.POSLOVNI_PROSTORs.First(i => i.IDRedarstva == 2).Dospijece;

                        _ZaglavljeOdgoda zaglavlje = new _ZaglavljeOdgoda(r.PoslovniProstor, datumOd.ToString("dd.MM.yyyy"),//datum od jer zele da im bude sve sa istim datumom (Pauk - noćna blagajna 05.04.2018 - email ivan matana)
                                                                          r.Datum.AddDays(dospijece).ToString("dd.MM.yyyy"), r.BrojRacuna, "V62", "E0", os.OIB,
                                                                          os.Prezime + " " + os.Ime, adresaO, os.Posta, os.Mjesto, r.PozivNaBroj, "", os.Napomena,
                                                                          r.IDRacuna.ToString());
                        _Odgoda plac = new _Odgoda(zaglavlje, stavke, po_stopama);

                        #region POZIV

                        string datum  = DateToString(DateTime.Now);
                        string metoda = "/fin/knjizenje/racun/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

                        #region ODGOVOR

                        List <int> preneseni = new List <int> {
                            r.IDRacuna
                        };

                        if (response.Contains("uspješno izvršeno"))
                        {
                            try
                            {
                                db.RACUNIs.First(i => i.IDRacuna == r.IDRacuna).Prenesen = true;
                                db.SubmitChanges();

                                PovijestPrijenosa(grad, preneseni, response, JsonConvert.SerializeObject(plac), true, idAplikacije);
                                //poruka += "Račun br. " + r.BrojRacuna + " - " + response;
                            }
                            catch (Exception ex)
                            {
                                PovijestPrijenosa(grad, preneseni, 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");
                            }
                        }
                        else
                        {
                            poruka += "Račun br. " + r.BrojRacuna + " - " + response + "\r\n";
                            PovijestPrijenosa(grad, preneseni, response, JsonConvert.SerializeObject(plac), false,
                                              idAplikacije);
                        }

                        #endregion
                    }

                    return(true);
                }
            }
            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);
            }
        }
コード例 #4
0
        public static void PosaljiNaredbu(string grad, int idNaloga, int idAplikacije)
        {
            try
            {
                using (PostavkeDataContext db = new PostavkeDataContext())
                {
                    // todo obrisi temp
                    if (db.EMAIL_LISTAs.Any(i => i.IDGrada == Sistem.IDGrada(grad) && i.Naredba))
                    {
                        _Prekrsaj prekrsaj = Prekrsaj.DetaljiPrekrsajaNalog(grad, idNaloga, idAplikacije);

                        if (prekrsaj == null)
                        {
                            Sustav.SpremiGresku(grad, new Exception("idn: " + idNaloga + ", grad: " + grad), idAplikacije, "POSALJI NAREDBU NA EMAIL");
                            return;
                        }

                        if (prekrsaj.Nalog == null)
                        {
                            Sustav.SpremiGresku(grad, new Exception("idn: " + idNaloga + ", grad: " + grad), idAplikacije, "POSALJI NAREDBU NA EMAIL");
                            return;
                        }

                        GRADOVI g = db.GRADOVIs.First(i => i.IDGrada == Sistem.IDGrada(grad));

                        CreatePDF._tipJls       = g.Tip;
                        CreatePDF._naziv        = g.NazivGrada;
                        CreatePDF._grb          = g.Grb;
                        CreatePDF._odlukaLisice = g.OdlukaLisice;

                        string putanja = CreatePDF.Naredba(grad, new List <_Prekrsaj>()
                        {
                            prekrsaj
                        });                                                                          //Prekrsaj(grad, prekrsaj, hub, idAplikacije);

                        if (putanja == "")
                        {
                            Sustav.SpremiGresku(grad, new Exception("putanja"), idAplikacije, "POSALJI NAREDBU NA EMAIL");
                        }

                        foreach (var email in db.EMAIL_LISTAs.Where(i => i.IDGrada == Sistem.IDGrada(grad) && i.Naredba))
                        {
                            //bool hub = email.Prilog && prekrsaj.Dokument == "OBAVIJEST"; //todo
                            string poruka = Pripremi.PopulateBodyNaredba(email.ImePrezime, idNaloga, prekrsaj.Nalog.Lisice);

                            string tip = "podizanje";

                            if (prekrsaj.Nalog.Lisice)
                            {
                                tip = "blokiranje";
                            }

                            Posalji.Email(grad, poruka, "Naredba za " + tip + " br. " + idNaloga, new List <string> {
                                email.Email
                            }, putanja, true, idAplikacije);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku(grad, ex, idAplikacije, "POSALJI NAREDBU NA EMAIL");
            }
        }