protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.potroseniMaterijal_Dodaj);
            Android.Widget.Toolbar toolbar = FindViewById <Android.Widget.Toolbar>(Resource.Id.toolbarHomePage);
            kolicinaInput    = FindViewById <EditText>(Resource.Id.kolicinaInput);
            IznosData        = FindViewById <TextView>(Resource.Id.IznosData);
            cijenaData       = FindViewById <TextView>(Resource.Id.cijenaData);
            nazivData        = FindViewById <TextView>(Resource.Id.nazivData);
            sifraData        = FindViewById <TextView>(Resource.Id.sifraData);
            mjernaJedinicaTV = FindViewById <TextView>(Resource.Id.mjernaJedinicaTV);
            spremiBtn        = FindViewById <Button>(Resource.Id.spremiBtn);
            odustaniBtn      = FindViewById <Button>(Resource.Id.odustaniBtn);
            messageKolicina  = FindViewById <TextView>(Resource.Id.messageKolicina);
            dostupno         = FindViewById <TextView>(Resource.Id.dostupno);

            SetActionBar(toolbar);
            ActionBar.Title            = "Dodaj materijal";
            spremiBtn.Click           += SpremiBtn_Click;
            odustaniBtn.Click         += OdustaniBtn_Click;
            kolicinaInput.KeyPress    += KolicinaInput_KeyPress;
            kolicinaInput.TextChanged += KolicinaInput_TextChanged;
            kolicinaInput.Text         = "1,000";
            kolicinaInput.RequestFocus();
            materijalSifra   = localMaterijali.GetString("sifra", null);
            radniNalog       = localRadniNalozi.GetInt("id", 0);
            pozicijaId       = localPozicija.GetInt("pozicijaId", 0);
            lokacijaId       = localKomitentLokacija.GetInt("lokacijaId", 0);
            mjernaJedinicaId = localMaterijali.GetInt("mjernaJedinicaId", 0);

            var mjernaJedinica = db.Query <T_MjerneJedinice>(
                "SELECT * " +
                "FROM T_MjerneJedinice " +
                "WHERE Id = ?", mjernaJedinicaId).FirstOrDefault();
            T_NAZR materijal = db.Query <T_NAZR>(
                "SELECT * " +
                "FROM T_NAZR " +
                "WHERE NAZR_SIFRA = ?", materijalSifra).FirstOrDefault();

            skladiste = db.Query <DID_RadniNalog>(
                "SELECT * " +
                "FROM DID_RadniNalog " +
                "WHERE Id = ?", radniNalog).FirstOrDefault();
            staraKolicinaNaSkladistu = db.Query <DID_StanjeSkladista>(
                "SELECT * " +
                "FROM DID_StanjeSkladista " +
                "WHERE Skladiste = ? " +
                "AND Materijal = ?", skladiste.PokretnoSkladiste, materijalSifra).FirstOrDefault().Kolicina;

            dostupno.Text         = staraKolicinaNaSkladistu.ToString("F3").Replace('.', ',');
            cijena                = materijal.NAZR_CIJENA_ART;
            nazivData.Text        = materijal.NAZR_NAZIV;
            sifraData.Text        = materijal.NAZR_SIFRA;
            cijenaData.Text       = cijena.ToString("F2").Replace('.', ',');
            IznosData.Text        = cijena.ToString("F2").Replace('.', ',');
            mjernaJedinicaTV.Text = mjernaJedinica.Oznaka;
        }
Example #2
0
        public void SaveBtn_Click(object sender, EventArgs args)
        {
            if (napomeneInput.Text.Length > 512)
            {
                return;
            }

            string lokacijaNaziv = db.Query <DID_Lokacija>(
                "SELECT * " +
                "FROM DID_Lokacija " +
                "WHERE SAN_Id = ?", lokacijaId).FirstOrDefault().SAN_Naziv;

            DID_RadniNalog_Lokacija radniNalogLokacija = db.Query <DID_RadniNalog_Lokacija>(
                "SELECT * " +
                "FROM DID_RadniNalog_Lokacija " +
                "WHERE Id = ?", radniNalogLokacijaId).FirstOrDefault();

            if (radniNalogLokacija.Status == 3)
            {
                AlertDialog.Builder alert = new AlertDialog.Builder(this);
                alert.SetTitle("Upozorenje!");
                alert.SetMessage("Dodavanjem ankete lokacija " + lokacijaNaziv + " gubi status izvršene lokacije. Jeste li sigurni da želite nastaviti?");
                alert.SetPositiveButton("NASTAVI", (senderAlert, arg) =>
                {
                    SpremiAnketu();

                    db.Execute(
                        "UPDATE DID_RadniNalog_Lokacija " +
                        "SET Status = 2, " +
                        "SinhronizacijaStatus = 0 " +
                        "WHERE Id = ?", radniNalogLokacijaId);

                    db.Execute(
                        "UPDATE DID_Lokacija " +
                        "SET SinhronizacijaStatus = 0 " +
                        "WHERE SAN_Id = ?", lokacijaId);

                    DID_RadniNalog radniNalog = db.Query <DID_RadniNalog>(
                        "SELECT * " +
                        "FROM DID_RadniNalog " +
                        "WHERE Id = ?", radniNalogId).FirstOrDefault();

                    if (radniNalog.SinhronizacijaStatus == 2)
                    {
                        db.Query <DID_RadniNalog>(
                            "UPDATE DID_RadniNalog " +
                            "SET SinhronizacijaStatus = 1 " +
                            "WHERE Id = ?", radniNalogId);
                    }

                    List <DID_RadniNalog_Lokacija> zavrseneLokacije = db.Query <DID_RadniNalog_Lokacija>(
                        "SELECT * " +
                        "FROM DID_RadniNalog_Lokacija " +
                        "WHERE RadniNalog = ? " +
                        "AND Status = 3", radniNalogId);

                    if (zavrseneLokacije.Any())
                    {
                        db.Query <DID_RadniNalog>(
                            "UPDATE DID_RadniNalog " +
                            "SET Status = 4 " +
                            "WHERE Id = ?", radniNalogId);
                    }
                    else
                    {
                        db.Query <DID_RadniNalog>(
                            "UPDATE DID_RadniNalog " +
                            "SET Status = 3 " +
                            "WHERE Id = ?", radniNalogId);
                    }
                });

                alert.SetNegativeButton("ODUSTANI", (senderAlert, arg) =>
                {
                    localPozicija.Edit().Clear().Commit();
                    localAnketa.Edit().Clear().Commit();
                    intent = new Intent(this, typeof(Activity_Lokacije));
                    StartActivity(intent);
                });
                Dialog dialog = alert.Create();
                dialog.Show();
            }
            else
            {
                SpremiAnketu();
            }
        }
        public void SpremiBtn_Click(object sender, EventArgs e)
        {
            flag = true;
            if (string.IsNullOrEmpty(ulicaBrInput.Text) || ulicaBrInput.Text.Length > 100)
            {
                msgAdresa.Visibility = Android.Views.ViewStates.Visible;
                ulicaBrInput.RequestFocus();
                flag = false;
            }
            if (string.IsNullOrEmpty(mjestoInput.Text) || mjestoInput.Text.Length > 50)
            {
                msgMjesto.Visibility = Android.Views.ViewStates.Visible;
                mjestoInput.RequestFocus();
                flag = false;
            }
            if (string.IsNullOrEmpty(nazivInput.Text) || nazivInput.Text.Length > 100)
            {
                msgNaziv.Visibility = Android.Views.ViewStates.Visible;
                nazivInput.RequestFocus();
                flag = false;
            }

            if (flag)
            {
                string naselje;
                int    id = -1, RNLokacijeId = -1;
                string spinnerTip  = spinnerTipLokacije.SelectedItem.ToString();
                int    tipLokacije = db.Query <DID_TipLokacije>(
                    "SELECT * " +
                    "FROM DID_TipLokacije " +
                    "WHERE Naziv = ?", spinnerTip).FirstOrDefault().Sifra;

                List <DID_Lokacija> lokacije = db.Query <DID_Lokacija>(
                    "SELECT * " +
                    "FROM DID_Lokacija " +
                    "WHERE SAN_Id < 0 " +
                    "ORDER BY SAN_Id");
                if (lokacije.Any())
                {
                    id = lokacije.FirstOrDefault().SAN_Id - 1;
                }

                List <DID_RadniNalog_Lokacija> radniNalogLokacije = db.Query <DID_RadniNalog_Lokacija>(
                    "SELECT * " +
                    "FROM DID_RadniNalog_Lokacija " +
                    "WHERE Id < 0 " +
                    "ORDER BY Id");
                if (radniNalogLokacije.Any())
                {
                    RNLokacijeId = radniNalogLokacije.FirstOrDefault().Id - 1;
                }

                List <T_NASELJA> naseljaList = db.Query <T_NASELJA>(
                    "SELECT * " +
                    "FROM T_NASELJA " +
                    "WHERE Naziv = ?", spinnerNaselja.SelectedItem.ToString());
                if (!naseljaList.Any())
                {
                    naselje = "";
                }
                else
                {
                    naselje = naseljaList.FirstOrDefault().Sifra;
                }

                string tipPartnera = db.Query <T_KUPDOB>(
                    "SELECT * " +
                    "FROM T_KUPDOB " +
                    "WHERE SIFRA = ?", sifraKomitenta).FirstOrDefault().TIP_PARTNERA;

                db.Query <DID_Lokacija>(
                    "INSERT INTO DID_Lokacija (" +
                    "SAN_Id, " +
                    "SAN_Naziv, " +
                    "SAN_Mjesto, " +
                    "SAN_Naselje, " +
                    "SAN_GradOpcina, " +
                    "SAN_UlicaBroj, " +
                    "SAN_OIBPartner, " +
                    "SAN_KD_Sifra, " +
                    "SAN_Tip, " +
                    "SAN_Tip2," +
                    "SinhronizacijaPrivremeniKljuc, " +
                    "SAN_TipPartnera, " +
                    "SAN_AnketePoPozicijama, " +
                    "SAN_Status)" +
                    "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
                    id,
                    nazivInput.Text,
                    mjestoInput.Text,
                    naselje,
                    sifraOpcine,
                    ulicaBrInput.Text,
                    partnerOIB,
                    sifraKomitenta,
                    tipLokacije,
                    2,
                    id,
                    tipPartnera,
                    anketePoPozicijama.Checked,
                    0
                    );

                db.Query <DID_RadniNalog_Lokacija>(
                    "INSERT INTO DID_RadniNalog_Lokacija (" +
                    "Id, " +
                    "Status, " +
                    "RadniNalog, " +
                    "Lokacija, " +
                    "VrijemeDolaska, " +
                    "TipAkcije, " +
                    "SinhronizacijaPrivremeniKljuc)" +
                    "VALUES (?, ?, ?, ?, ?, ?, ?)",
                    RNLokacijeId,
                    1,
                    radniNalog,
                    id,
                    DateTime.Now,
                    1,
                    RNLokacijeId
                    );

                List <DID_RadniNalog_Lokacija> izvrseneLokacije = db.Query <DID_RadniNalog_Lokacija>(
                    "SELECT * " +
                    "FROM DID_RadniNalog_Lokacija " +
                    "WHERE RadniNalog = ? " +
                    "AND Status == 3", radniNalog);

                if (izvrseneLokacije.Any())
                {
                    db.Query <DID_RadniNalog>(
                        "UPDATE DID_RadniNalog " +
                        "SET Status = ? " +
                        "WHERE Id = ?", 4, radniNalog);
                }
                else
                {
                    db.Query <DID_RadniNalog>(
                        "UPDATE DID_RadniNalog " +
                        "SET Status = ? " +
                        "WHERE Id = ?", 3, radniNalog);
                }

                DID_RadniNalog radniNalogObject = db.Query <DID_RadniNalog>(
                    "SELECT * " +
                    "FROM DID_RadniNalog " +
                    "WHERE Id = ?", radniNalog).FirstOrDefault();

                if (radniNalogObject.SinhronizacijaStatus == 2 && izvrseneLokacije.Any())
                {
                    db.Query <DID_RadniNalog>(
                        "UPDATE DID_RadniNalog " +
                        "SET SinhronizacijaStatus = 1 " +
                        "WHERE Id = ?", radniNalog);
                }

                localKomitentLokacijaEdit.PutInt("radniNalogLokacijaId", RNLokacijeId);
                localKomitentLokacijaEdit.PutInt("lokacijaId", id);
                localKomitentLokacijaEdit.PutString("lokacijaNaziv", nazivInput.Text);
                localKomitentLokacijaEdit.Commit();

                if (anketePoPozicijama.Checked)
                {
                    intent = new Intent(this, typeof(Activity_Pozicije));
                }
                else
                {
                    int pozicijaId = -1;
                    List <DID_LokacijaPozicija> pozicijeNove = db.Query <DID_LokacijaPozicija>(
                        "SELECT * " +
                        "FROM DID_LokacijaPozicija " +
                        "WHERE POZ_Id < 0 " +
                        "ORDER BY POZ_Id");

                    if (pozicijeNove.Any())
                    {
                        pozicijaId = pozicijeNove.FirstOrDefault().POZ_Id - 1;
                    }

                    db.Query <DID_LokacijaPozicija>(
                        "INSERT INTO DID_LokacijaPozicija (" +
                        "POZ_Id, " +
                        "SAN_Id, " +
                        "POZ_Broj, " +
                        "POZ_BrojOznaka, " +
                        "POZ_Barcode, " +
                        "POZ_Tip, " +
                        "POZ_Status, " +
                        "POZ_Opis, " +
                        "SinhronizacijaPrivremeniKljuc, " +
                        "SinhronizacijaStatus)" +
                        "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
                        pozicijaId,
                        id,
                        1,
                        null,
                        null,
                        1,
                        1,
                        null,
                        pozicijaId,
                        1
                        );

                    Guid anketaId = Guid.NewGuid();
                    var  username = localUsername.GetString("nazivDjelatnika", null);
                    db.Query <DID_Anketa>(
                        "INSERT INTO DID_Anketa (" +
                        "Id, " +
                        "ANK_TipDeratizacije, " +
                        "ANK_RadniNalog, " +
                        "ANK_KorisnickoIme, " +
                        "ANK_POZ_Id, " +
                        "ANK_DatumVrijeme, " +
                        "ANK_TipDeratizacijskeKutijeSifra, " +
                        "SinhronizacijaPrivremeniKljuc, " +
                        "SinhronizacijaStatus)" +
                        "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
                        anketaId,
                        2,
                        radniNalog,
                        username,
                        pozicijaId,
                        DateTime.Now,
                        1,
                        anketaId,
                        2
                        );

                    localPozicijaEdit.PutInt("pozicijaId", -1);
                    localPozicijaEdit.Commit();
                    intent = new Intent(this, typeof(Activity_PotroseniMaterijali_List));
                }

                StartActivity(intent);
            }
        }