コード例 #1
0
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            View itemView         = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.adapter_Lokacija_row, parent, false);
            LokacijaViewHolder vh = new LokacijaViewHolder(itemView, OnClickItem, OnClickPotvrda, OnClickZakljucaj, onClickProvedbeniPlan, onClickPostavke);

            return(vh);
        }
コード例 #2
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            LokacijaViewHolder vh       = holder as LokacijaViewHolder;
            DID_Lokacija       lokacija = db.Query <DID_Lokacija>(
                "SELECT * " +
                "FROM DID_Lokacija " +
                "WHERE SAN_Id = ?", mDID_Lokacije[position].SAN_Id).FirstOrDefault();

            int radniNalog = localRadniNalozi.GetInt("id", 0);
            DID_RadniNalog_Lokacija radniNalogLokacija = db.Query <DID_RadniNalog_Lokacija>(
                "SELECT * " +
                "FROM DID_RadniNalog_Lokacija " +
                "WHERE Lokacija = ? " +
                "AND RadniNalog = ?", mDID_Lokacije[position].SAN_Id, radniNalog).FirstOrDefault();
            int tipAkcije = radniNalogLokacija.TipAkcije;

            List <DID_Potvrda> potvrda = db.Query <DID_Potvrda>(
                "SELECT * " +
                "FROM DID_Potvrda " +
                "WHERE Lokacija = ? " +
                "AND RadniNalog = ?", mDID_Lokacije[position].SAN_Id, radniNalog);

            if (radniNalogLokacija.Status == 4)
            {
                vh.ItemView.SetBackgroundResource(Resource.Color.redLight);
                vh.Potvrda.Visibility   = Android.Views.ViewStates.Gone;
                vh.Zakljucaj.Visibility = Android.Views.ViewStates.Gone;
                vh.Otkljucaj.Visibility = Android.Views.ViewStates.Gone;
            }
            else if (radniNalogLokacija.Status == 3)
            {
                vh.Potvrda.Visibility   = Android.Views.ViewStates.Visible;
                vh.Potvrda.Text         = "prikaži potvrdu";
                vh.Zakljucaj.Visibility = Android.Views.ViewStates.Gone;
                vh.Otkljucaj.Visibility = Android.Views.ViewStates.Visible;

                if (radniNalogLokacija.SinhronizacijaStatus == 2)
                {
                    vh.ItemView.SetBackgroundResource(Resource.Color.greenDark);
                    vh.Potvrda.SetTextColor(Android.Graphics.Color.White);
                }
                else
                {
                    vh.ItemView.SetBackgroundResource(Resource.Color.colorPrimary);
                    vh.Potvrda.SetTextColor(Android.Graphics.Color.ParseColor("#ff669900"));
                }
            }
            else if (potvrda.Any())
            {
                vh.Potvrda.Visibility   = Android.Views.ViewStates.Visible;
                vh.Potvrda.Text         = "prikaži potvrdu";
                vh.Zakljucaj.Visibility = Android.Views.ViewStates.Visible;
                vh.Otkljucaj.Visibility = Android.Views.ViewStates.Gone;
                vh.ItemView.SetBackgroundColor(Android.Graphics.Color.Transparent);
            }
            else
            {
                List <DID_LokacijaPozicija> pozicijeOdradene = db.Query <DID_LokacijaPozicija>(
                    "SELECT * " +
                    "FROM DID_LokacijaPozicija " +
                    "INNER JOIN DID_Anketa ON DID_LokacijaPozicija.POZ_Id = DID_Anketa.ANK_POZ_Id " +
                    "WHERE DID_Anketa.ANK_RadniNalog = ? " +
                    "AND DID_LokacijaPozicija.SAN_Id = ?", radniNalog, mDID_Lokacije[position].SAN_Id);

                List <DID_LokacijaPozicija> pozicijeUkupno = db.Query <DID_LokacijaPozicija>(
                    "SELECT * " +
                    "FROM DID_LokacijaPozicija " +
                    "INNER JOIN DID_RadniNalog_Lokacija ON DID_LokacijaPozicija.SAN_Id = DID_RadniNalog_Lokacija.Lokacija " +
                    "WHERE DID_RadniNalog_Lokacija.RadniNalog = ? " +
                    "AND DID_LokacijaPozicija.SAN_Id = ?", radniNalog, mDID_Lokacije[position].SAN_Id);

                vh.Zakljucaj.Visibility = Android.Views.ViewStates.Gone;
                vh.Otkljucaj.Visibility = Android.Views.ViewStates.Gone;

                if (!mDID_Lokacije[position].SAN_AnketePoPozicijama)
                {
                    vh.ItemView.SetBackgroundColor(Android.Graphics.Color.Transparent);
                    vh.Potvrda.Text = "izdaj potvrdu";
                }
                else if (pozicijeOdradene.Count == pozicijeUkupno.Count && pozicijeOdradene.Count > 0)
                {
                    vh.ItemView.SetBackgroundColor(Android.Graphics.Color.Transparent);
                    vh.Potvrda.Text = "izdaj potvrdu";
                }
                else
                {
                    vh.ItemView.SetBackgroundColor(Android.Graphics.Color.Transparent);
                    vh.Potvrda.Visibility = Android.Views.ViewStates.Invisible;
                }
            }

            vh.Naziv.Text     = lokacija.SAN_Naziv;
            vh.Mjesto.Text    = lokacija.SAN_Mjesto;
            vh.Adresa.Text    = lokacija.SAN_UlicaBroj;
            vh.TipAkcije.Text = lokacija.SAN_Tip.ToString();
            if (tipAkcije == 1)
            {
                vh.TipAkcije.Text = "Prvi dolazak";
            }
            else
            {
                vh.TipAkcije.Text = "Kontrola";
            }
        }