Advertisement
Guest User

Untitled

a guest
Feb 11th, 2013
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 34.38 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Xml;
  7. using System.IO;
  8.  
  9. using Android.App;
  10. using Android.Graphics;
  11. using Android.Content;
  12. using Android.OS;
  13. using Android.Runtime;
  14. using Android.Views;
  15. using Android.Widget;
  16. using System.Data;
  17. using Android.Text;
  18. using Android.Content.PM;
  19. using Android.Provider;
  20. using System.Threading;
  21.  
  22. namespace Hyundai_Servis
  23. {
  24.     [Activity(Label = "Prevzem Adapter")]
  25.     public class PrevzemAdapter : ArrayAdapter<Prevzem>
  26.     {
  27.         int resource;
  28.  
  29.         PrevzemVozila pa;
  30.         Intent availIntent;
  31.         IList<ResolveInfo> availableActivities;
  32.         Context p_context = null;
  33.         string[] colors = new string[] { "#FFFFFF", "#F0F0F0" };
  34.         RadioGroup rg;
  35.         string Ticket;
  36.         int FormId;
  37.         int EventNo;
  38.         bool isDefaultSelection = true;
  39.  
  40.  
  41.         /// <summary>
  42.         /// Connecting to HAT
  43.         /// </summary>
  44.         /// <param name="chk">Container for connection to _HAT webservice
  45.         si.rcg.hat._hat_Tablet chk = new si.rcg.hat._hat_Tablet();
  46.  
  47.         //Initialize adapter
  48.         public PrevzemAdapter(Context context, int resource, IList<Prevzem> items, string Ticket, int FormId, int EventNo)
  49.             : base(context, resource, items)
  50.         {
  51.             this.resource = resource;
  52.             this.Ticket = Ticket;
  53.             this.FormId = FormId;
  54.             this.EventNo = EventNo;
  55.             this.p_context = context;
  56.             this.AvailIntent = new Intent(MediaStore.ActionImageCapture);
  57.             this.AvailActivities = p_context.PackageManager.QueryIntentActivities(AvailIntent, PackageInfoFlags.MatchDefaultOnly);
  58.         }
  59.  
  60.         //public long GetItemId(int position)
  61.         //{
  62.         //    return position;
  63.         //}
  64.  
  65.         public override View GetView(int position, View convertView, ViewGroup parent)
  66.         {
  67.             LinearLayout view;
  68.  
  69.             var item = GetItem(position);
  70.  
  71.             view = new LinearLayout(Context);
  72.             var inflater = Context.LayoutInflaterService;
  73.             var colorPos = position % 2;
  74.             view.SetBackgroundColor(Color.ParseColor(colors[colorPos]));
  75.             LayoutInflater vi;
  76.             vi = (LayoutInflater)Context.GetSystemService(inflater);
  77.             vi.Inflate(resource, view, true);
  78.  
  79.             var FieldDesc = view.FindViewById<TextView>(Resource.Id.txtFieldDesc);
  80.             FieldDesc.Text = item.FieldDesc != null ? item.FieldDesc : "";
  81.  
  82.             var alertLay = view.FindViewById<LinearLayout>(Resource.Id.alert);
  83.             alertLay.SetBackgroundColor(Color.Argb(0, 255, 255, 255));
  84.  
  85.             var IdRec = view.FindViewById<TextView>(Resource.Id.txtIdRec);
  86.             IdRec.Text = item.IdRec != null ? item.IdRec : "";
  87.  
  88.             var FieldId = view.FindViewById<TextView>(Resource.Id.txtFieldId);
  89.             FieldId.Text = item.FieldId != null ? item.FieldId : "";
  90.  
  91.             var FieldTextValue = view.FindViewById<EditText>(Resource.Id.editVal);
  92.             FieldTextValue.Text = item.FieldTextValue != null ? item.FieldTextValue : "";
  93.  
  94.             var ButtonValue = view.FindViewById<Button>(Resource.Id.button1);
  95.             ButtonValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  96.  
  97.             var CamImage = view.FindViewById<ImageView>(Resource.Id.imageSending);
  98.             CamImage.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  99.  
  100.             var RadioGroup = view.FindViewById<RadioGroup>(Resource.Id.radioGrp);
  101.             RadioGroup.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  102.  
  103.             var SpinnerValue = view.FindViewById<Spinner>(Resource.Id.spinnerVal);
  104.  
  105.             var isErrorIcon = view.FindViewById<ImageView>(Resource.Id.imageView12);
  106.  
  107.             var SendButton = view.FindViewById<Button>(Resource.Id.txtSend);
  108.             SendButton.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  109.  
  110.             bool isReadOnly = bool.Parse(item.isReadOnly);
  111.             bool isAlert = bool.Parse(item.isAlert);
  112.             bool isEmpty = bool.Parse(item.isEmpty);
  113.  
  114.             if (isAlert == false)
  115.             {
  116.                 isErrorIcon.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  117.             }
  118.  
  119.             if (isAlert == true)
  120.             {
  121.                 isErrorIcon.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  122.             }
  123.  
  124.             if (isEmpty == true)
  125.             {
  126.                 alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  127.             }
  128.  
  129.             if (isEmpty == false)
  130.             {
  131.                 alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  132.             }
  133.  
  134.             if (isReadOnly == true)
  135.             {
  136.                 FieldTextValue.Enabled = false;
  137.                 SpinnerValue.Enabled = false;
  138.             }
  139.  
  140.             else if (isReadOnly == false)
  141.             {
  142.                 FieldTextValue.Enabled = true;
  143.                 SpinnerValue.Enabled = true;
  144.             }
  145.  
  146.             // if field is TextBOX_INT
  147.             if (item.FieldType == "TextBOX_INT")
  148.             {
  149.                 FieldTextValue.InputType = InputTypes.ClassNumber;
  150.  
  151.                 FieldTextValue.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) =>
  152.                 {
  153.                     if (FieldTextValue.Text == "")
  154.                     {
  155.                         alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  156.                     }
  157.                     else
  158.                     {
  159.                         alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  160.                     }
  161.                 };
  162.  
  163.                 if (isReadOnly == false)
  164.                 {
  165.                     SendButton.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  166.  
  167.                     SendButton.Click += delegate(object sender, EventArgs e)
  168.                     {
  169.                         var FieldName = item.FieldId;
  170.                         var FieldValue = FieldTextValue.Text;
  171.                         ThreadPool.QueueUserWorkItem(o => PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", ""));
  172.                         var PostEventDataLocal = chk.PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", "");
  173.                         foreach (DataTable dt in PostEventDataLocal.Tables)
  174.                         {
  175.                             if (dt.TableName == "Table")
  176.                             {
  177.                                 Console.WriteLine("isAlert");
  178.                                 foreach (DataRow row2 in PostEventDataLocal.Tables[0].Rows)
  179.                                 {
  180.                                     var postItem = new PrevzemPost();
  181.  
  182.                                     postItem.isAlert = row2["isAlert"].ToString();
  183.                                     if (postItem.isAlert.Equals(""))
  184.                                         postItem.isAlert = null;
  185.                                     postItem.isEmpty = row2["isEmpty"].ToString();
  186.                                     if (postItem.isEmpty.Equals(""))
  187.                                         postItem.isEmpty = null;
  188.  
  189.                                     bool isAlertNow = bool.Parse(postItem.isAlert);
  190.                                     bool isEmptyNow = bool.Parse(postItem.isEmpty);
  191.  
  192.                                     if (isAlertNow == false)
  193.                                     {
  194.                                         isErrorIcon.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  195.                                     }
  196.                                     if (isAlertNow == true)
  197.                                     {
  198.                                         isErrorIcon.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  199.                                     }
  200.                                     if (isEmptyNow == true)
  201.                                     {
  202.                                         alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  203.                                     }
  204.  
  205.                                     if (isEmptyNow == false)
  206.                                     {
  207.                                         alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  208.                                     }
  209.                                 }
  210.                             }
  211.                             else if (dt.TableName == "Error")
  212.                             {
  213.                                 Console.WriteLine("Error");
  214.                                 new AlertDialog.Builder(p_context)
  215.                                 .SetTitle("Napaka!")
  216.                                 .SetMessage("Prišlo je do napake pri oddaji podatkov.")
  217.                                 .SetCancelable(true)
  218.                                 .SetIcon(Resource.Drawable.error)
  219.                                 .SetPositiveButton("Poskusi znova", (send, a) =>
  220.                                 {
  221.                                     Console.WriteLine("Damn");
  222.                                 }).Show();
  223.                             }
  224.                         }
  225.                     };
  226.                 }
  227.             }
  228.  
  229.             // if field is TextBOX or TextBOX_INT or TextAREA
  230.             if (item.FieldType == "TextBOX" || item.FieldType == "TextBOX_INT" || item.FieldType == "TextAREA")
  231.             {
  232.                 FieldTextValue.SetSingleLine(true);
  233.  
  234.                 FieldTextValue.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  235.  
  236.                 SpinnerValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  237.                
  238.                 FieldTextValue.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) =>
  239.                 {
  240.                     if (FieldTextValue.Text == "")
  241.                     {
  242.                         alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  243.                     }
  244.                     else
  245.                     {
  246.                         alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  247.                     }
  248.                 };
  249.  
  250.                 if (isReadOnly == false)
  251.                 {
  252.                     SendButton.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  253.  
  254.                     SendButton.Click += delegate(object sender, EventArgs e)
  255.                     {
  256.                         var FieldName = item.FieldId;
  257.                         var FieldValue = FieldTextValue.Text;
  258.                         ThreadPool.QueueUserWorkItem(o => PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", ""));
  259.                         var PostEventDataLocal = chk.PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", "");
  260.                         foreach (DataTable dt in PostEventDataLocal.Tables)
  261.                         {
  262.                             if (dt.TableName == "Table")
  263.                             {
  264.                                 Console.WriteLine("isAlert");
  265.                                 foreach (DataRow row2 in PostEventDataLocal.Tables[0].Rows)
  266.                                 {
  267.                                     var postItem = new PrevzemPost();
  268.  
  269.                                     postItem.isAlert = row2["isAlert"].ToString();
  270.                                     if (postItem.isAlert.Equals(""))
  271.                                         postItem.isAlert = null;
  272.                                     postItem.isEmpty = row2["isEmpty"].ToString();
  273.                                     if (postItem.isEmpty.Equals(""))
  274.                                         postItem.isEmpty = null;
  275.  
  276.                                     bool isAlertNow = bool.Parse(postItem.isAlert);
  277.                                     bool isEmptyNow = bool.Parse(postItem.isEmpty);
  278.  
  279.                                     if (isAlertNow == false)
  280.                                     {
  281.                                         isErrorIcon.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  282.                                     }
  283.                                     if (isAlertNow == true)
  284.                                     {
  285.                                         isErrorIcon.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  286.                                     }
  287.                                     if (isEmptyNow == true)
  288.                                     {
  289.                                         alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  290.                                     }
  291.  
  292.                                     if (isEmptyNow == false)
  293.                                     {
  294.                                         alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  295.                                     }
  296.                                 }
  297.  
  298.                                 Toast.MakeText(p_context, "Uspešno oddano", ToastLength.Short).Show();
  299.                             }
  300.                             else if (dt.TableName == "Error")
  301.                             {
  302.                                 Console.WriteLine("Error");
  303.                                 new AlertDialog.Builder(p_context)
  304.                                 .SetTitle("Napaka!")
  305.                                 .SetMessage("Prišlo je do napake pri oddaji podatkov.")
  306.                                 .SetCancelable(true)
  307.                                 .SetIcon(Resource.Drawable.error)
  308.                                 .SetPositiveButton("Poskusi znova", (send, a) =>
  309.                                 {
  310.                                     Console.WriteLine("Damn");
  311.                                 }).Show();
  312.                             }
  313.                         }
  314.                     };
  315.                 }
  316.             }
  317.  
  318.             // if field is TextAREA
  319.             if (item.FieldType == "TextAREA")
  320.             {
  321.                 FieldTextValue.InputType = InputTypes.ClassText;
  322.  
  323.                 FieldTextValue.SetSingleLine(false);
  324.  
  325.                 FieldTextValue.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) =>
  326.                 {
  327.                     if (FieldTextValue.Text == "")
  328.                     {
  329.                         alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  330.                     }
  331.                     else
  332.                     {
  333.                         alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  334.                     }
  335.                 };
  336.  
  337.                 if (isReadOnly == false)
  338.                 {
  339.                     SendButton.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  340.  
  341.                     SendButton.Click += delegate(object sender, EventArgs e)
  342.                     {
  343.                         var FieldName = item.FieldId;
  344.                         var FieldValue = FieldTextValue.Text;
  345.                         ThreadPool.QueueUserWorkItem(o => PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", ""));
  346.                         var PostEventDataLocal = chk.PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", "");
  347.                         foreach (DataTable dt in PostEventDataLocal.Tables)
  348.                         {
  349.                             if (dt.TableName == "Table")
  350.                             {
  351.                                 Console.WriteLine("isAlert");
  352.                                 foreach (DataRow row2 in PostEventDataLocal.Tables[0].Rows)
  353.                                 {
  354.                                     var postItem = new PrevzemPost();
  355.  
  356.                                     postItem.isAlert = row2["isAlert"].ToString();
  357.                                     if (postItem.isAlert.Equals(""))
  358.                                         postItem.isAlert = null;
  359.                                     postItem.isEmpty = row2["isEmpty"].ToString();
  360.                                     if (postItem.isEmpty.Equals(""))
  361.                                         postItem.isEmpty = null;
  362.  
  363.                                     bool isAlertNow = bool.Parse(postItem.isAlert);
  364.                                     bool isEmptyNow = bool.Parse(postItem.isEmpty);
  365.  
  366.                                     if (isAlertNow == false)
  367.                                     {
  368.                                         isErrorIcon.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  369.                                     }
  370.                                     if (isAlertNow == true)
  371.                                     {
  372.                                         isErrorIcon.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  373.                                     }
  374.                                     if (isEmptyNow == true)
  375.                                     {
  376.                                         alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  377.                                     }
  378.  
  379.                                     if (isEmptyNow == false)
  380.                                     {
  381.                                         alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  382.                                     }
  383.                                 }
  384.                                 Toast.MakeText(p_context, "Uspešno oddano", ToastLength.Short).Show();
  385.                             }
  386.                             else if (dt.TableName == "Error")
  387.                             {
  388.                                 Console.WriteLine("Error");
  389.                                 new AlertDialog.Builder(p_context)
  390.                                 .SetTitle("Napaka!")
  391.                                 .SetMessage("Prišlo je do napake pri oddaji podatkov.")
  392.                                 .SetCancelable(true)
  393.                                 .SetIcon(Resource.Drawable.error)
  394.                                 .SetPositiveButton("Poskusi znova", (send, a) =>
  395.                                 {
  396.                                     Console.WriteLine("Damn");
  397.                                 }).Show();
  398.                             }
  399.                         }
  400.                     };
  401.                 }
  402.             }
  403.  
  404.             // if field is ComboBOX
  405.             if (item.FieldType == "ComboBOX")
  406.             {
  407.                 FieldTextValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  408.  
  409.                 SpinnerValue.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  410.  
  411.                 String rawXML = item.OptBox_Options;
  412.  
  413.                 StringReader stream = null;
  414.                 XmlTextReader reader = null;
  415.  
  416.                 DataSet xmlDS = new DataSet();
  417.                 stream = new StringReader(rawXML);
  418.                 reader = new XmlTextReader(stream);
  419.                 xmlDS.ReadXml(reader);
  420.  
  421.                 DataSet myOPTvalues = new DataSet();
  422.                 myOPTvalues = xmlDS;
  423.  
  424.                 int i = 0;
  425.  
  426.                 var dropItems = new List<SpinItem2>();
  427.  
  428.                 DataRow[] result = myOPTvalues.Tables[0].Select("FieldValue=" + item.FieldValue);
  429.                 foreach (DataRow row in result)
  430.                 {
  431.                     var optItem = new PrevzemSpin();
  432.                     optItem.FieldValue = row["FieldValue"].ToString();
  433.                     if (optItem.FieldValue.Equals(""))
  434.                         optItem.FieldValue = null;
  435.  
  436.                     optItem.FieldTextValue = row["FieldTextValue"].ToString();
  437.                     if (optItem.FieldTextValue.Equals(""))
  438.                         optItem.FieldTextValue = null;
  439.  
  440.                     dropItems.Add(new SpinItem2(i, optItem.FieldValue.ToString(), optItem.FieldTextValue.ToString()));
  441.                 }
  442.  
  443.                 i = 1;
  444.                 foreach (DataRow row in myOPTvalues.Tables[0].Rows)
  445.                 {
  446.                     var optItem = new PrevzemSpin();
  447.                     optItem.FieldValue = row["FieldValue"].ToString();
  448.                     if (optItem.FieldValue.Equals(""))
  449.                         optItem.FieldValue = null;
  450.  
  451.                     optItem.FieldTextValue = row["FieldTextValue"].ToString();
  452.                     if (optItem.FieldTextValue.Equals(""))
  453.                         optItem.FieldTextValue = null;
  454.  
  455.  
  456.                     if (optItem.FieldValue != item.FieldValue)
  457.                     {
  458.                         dropItems.Add(new SpinItem2(i, optItem.FieldValue.ToString(), optItem.FieldTextValue.ToString()));
  459.                     }
  460.                     ++i;
  461.                 }
  462.  
  463.                 var spindapt = new ArrayAdapter(p_context, Android.Resource.Layout.SimpleSpinnerItem, dropItems);
  464.                 spindapt.SetDropDownViewResource(Android.Resource.Layout.SelectDialogSingleChoice);
  465.                 SpinnerValue.Adapter = spindapt;
  466.  
  467.                 SpinnerValue.ItemSelected += delegate(object sender, AdapterView.ItemSelectedEventArgs e)
  468.                 {
  469.                     if (isDefaultSelection)
  470.                     {
  471.                         return;
  472.                     }
  473.  
  474.                     var s = sender as Spinner;
  475.                     var d_item = s.GetItemAtPosition(e.Position);
  476.  
  477.                     var fv_drop = dropItems[e.Position];
  478.  
  479.                     string FieldValue = fv_drop.Tag.ToString();
  480.  
  481.                     string FieldName = item.FieldId;
  482.  
  483.                     ThreadPool.QueueUserWorkItem(o => PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", ""));
  484.                     var PostEventDataLocal = chk.PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", "");
  485.                     foreach (DataTable dt in PostEventDataLocal.Tables)
  486.                     {
  487.                         if (dt.TableName == "Table")
  488.                         {
  489.                             Console.WriteLine("isAlert");
  490.                             foreach (DataRow row2 in PostEventDataLocal.Tables[0].Rows)
  491.                             {
  492.                                 var postItem = new PrevzemPost();
  493.  
  494.                                 postItem.isAlert = row2["isAlert"].ToString();
  495.                                 if (postItem.isAlert.Equals(""))
  496.                                     postItem.isAlert = null;
  497.                                 postItem.isEmpty = row2["isEmpty"].ToString();
  498.                                 if (postItem.isEmpty.Equals(""))
  499.                                     postItem.isEmpty = null;
  500.  
  501.                                 bool isAlertNow = bool.Parse(postItem.isAlert);
  502.                                 bool isEmptyNow = bool.Parse(postItem.isEmpty);
  503.  
  504.                                 if (isAlertNow == false)
  505.                                 {
  506.                                     isErrorIcon.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  507.                                 }
  508.                                 if (isAlertNow == true)
  509.                                 {
  510.                                     isErrorIcon.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  511.                                 }
  512.                                 if (isEmptyNow == true)
  513.                                 {
  514.                                     alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  515.                                 }
  516.  
  517.                                 if (isEmptyNow == false)
  518.                                 {
  519.                                     alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  520.                                 }
  521.                             }
  522.                             Toast.MakeText(p_context, "Uspešno oddano", ToastLength.Short).Show();
  523.                         }
  524.                         else if (dt.TableName == "Error")
  525.                         {
  526.                             Console.WriteLine("Error");
  527.                             new AlertDialog.Builder(p_context)
  528.                             .SetTitle("Napaka!")
  529.                             .SetMessage("Prišlo je do napake pri oddaji podatkov.")
  530.                             .SetCancelable(true)
  531.                             .SetIcon(Resource.Drawable.error)
  532.                             .SetPositiveButton("Poskusi znova", (send, a) =>
  533.                             {
  534.                                 Console.WriteLine("Damn");
  535.                             }).Show();
  536.                         }
  537.                     }
  538.                 };  
  539.             }
  540.  
  541.             // if field is OptionBox
  542.             if (item.FieldType == "OptionBOX")
  543.             {
  544.                 FieldTextValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  545.                 SpinnerValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  546.                 RadioGroup.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  547.  
  548.                 String rawXML = item.OptBox_Options;
  549.  
  550.                 StringReader stream = null;
  551.                 XmlTextReader reader = null;
  552.  
  553.                 DataSet xmlDS = new DataSet();
  554.                 stream = new StringReader(rawXML);
  555.                 reader = new XmlTextReader(stream);
  556.                 xmlDS.ReadXml(reader);
  557.  
  558.                 DataSet myOPTvalues = new DataSet();
  559.                 myOPTvalues = xmlDS;
  560.  
  561.                 if (isReadOnly == true)
  562.                 {
  563.  
  564.  
  565.                     DataRow[] result = myOPTvalues.Tables[0].Select("FieldValue=" + item.FieldValue);
  566.                     foreach (DataRow row in result)
  567.                     {
  568.                         var optItem = new PrevzemSpin();
  569.                         optItem.FieldValue = row["FieldValue"].ToString();
  570.                         if (optItem.FieldValue.Equals(""))
  571.                             optItem.FieldValue = null;
  572.  
  573.                         optItem.FieldTextValue = row["FieldTextValue"].ToString();
  574.                         if (optItem.FieldTextValue.Equals(""))
  575.                             optItem.FieldTextValue = null;
  576.  
  577.                         RadioButton rb1;
  578.                         rb1 = new RadioButton(p_context);
  579.                         rb1.Text = optItem.FieldTextValue + "     ";
  580.                         rb1.Tag = optItem.FieldValue + ", " + item.FieldId;
  581.                         rb1.Id = Int32.Parse(optItem.FieldValue);
  582.  
  583.                         rb1.Checked = true;
  584.                         rb1.Enabled = false;
  585.                         RadioGroup.AddView(rb1);
  586.                     }
  587.                 }
  588.  
  589.                 else if (isReadOnly == false)
  590.                 {
  591.  
  592.                     foreach (DataRow row in myOPTvalues.Tables[0].Rows)
  593.                     {
  594.                         var optItem = new PrevzemSpin();
  595.                         optItem.FieldValue = row["FieldValue"].ToString();
  596.                         if (optItem.FieldValue.Equals(""))
  597.                             optItem.FieldValue = null;
  598.  
  599.                         optItem.FieldTextValue = row["FieldTextValue"].ToString();
  600.                         if (optItem.FieldTextValue.Equals(""))
  601.                             optItem.FieldTextValue = null;
  602.  
  603.                         RadioButton rb1;
  604.                         rb1 = new RadioButton(p_context);
  605.  
  606.                         rb1.Text = optItem.FieldTextValue + "     ";
  607.                         rb1.Tag = optItem.FieldValue + ", " + item.FieldId + ", " + view;
  608.                         rb1.Id = Int32.Parse(optItem.FieldValue);
  609.                         rb1.SetTextAppearance(p_context, Android.Resource.Style.TextAppearanceLarge);
  610.  
  611.                         RadioGroup.AddView(rb1);
  612.  
  613.                         if (RadioGroup.ChildCount > 4)
  614.                         {
  615.                             RadioGroup.Orientation = Orientation.Vertical;
  616.                         }
  617.  
  618.                         if (optItem.FieldValue == item.FieldValue)
  619.                         {
  620.                             rb1.Checked = true;
  621.                         }
  622.  
  623.                         rb1.Click += delegate(object sender, EventArgs e)
  624.                         {
  625.                             string FieldValue = rb1.Id.ToString();
  626.                             var FieldName = item.FieldId;
  627.  
  628.                             ThreadPool.QueueUserWorkItem(o => PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", ""));
  629.                             var PostEventDataLocal = chk.PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, "", "");
  630.                             foreach (DataTable dt in PostEventDataLocal.Tables)
  631.                             {
  632.                                 if (dt.TableName == "Table")
  633.                                 {
  634.                                     Console.WriteLine("isAlert");
  635.                                     foreach (DataRow row2 in PostEventDataLocal.Tables[0].Rows)
  636.                                     {
  637.                                         var postItem = new PrevzemPost();
  638.  
  639.                                         postItem.isAlert = row2["isAlert"].ToString();
  640.                                         if (postItem.isAlert.Equals(""))
  641.                                             postItem.isAlert = null;
  642.                                         postItem.isEmpty = row2["isEmpty"].ToString();
  643.                                         if (postItem.isEmpty.Equals(""))
  644.                                             postItem.isEmpty = null;
  645.  
  646.                                         bool isAlertNow = bool.Parse(postItem.isAlert);
  647.                                         bool isEmptyNow = bool.Parse(postItem.isEmpty);
  648.  
  649.                                         if (isAlertNow == false)
  650.                                         {
  651.                                             isErrorIcon.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  652.                                         }
  653.                                         if (isAlertNow == true)
  654.                                         {
  655.                                             isErrorIcon.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  656.                                         }
  657.                                         if (isEmptyNow == true)
  658.                                         {
  659.                                             alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  660.                                         }
  661.  
  662.                                         if (isEmptyNow == false)
  663.                                         {
  664.                                             alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  665.                                         }
  666.                                     }
  667.                                 }
  668.                                 else if (dt.TableName == "Error")
  669.                                 {
  670.                                     Console.WriteLine("Error");
  671.                                     new AlertDialog.Builder(p_context)
  672.                                     .SetTitle("Napaka!")
  673.                                     .SetMessage("Prišlo je do napake pri oddaji podatkov.")
  674.                                     .SetCancelable(true)
  675.                                     .SetIcon(Resource.Drawable.error)
  676.                                     .SetPositiveButton("Poskusi znova", (send, a) =>
  677.                                     {
  678.                                         Console.WriteLine("Damn");
  679.                                     }).Show();
  680.                                 }
  681.                                 Toast.MakeText(p_context, "Uspešno oddano", ToastLength.Short).Show();
  682.                             }
  683.                         };
  684.                     }
  685.                 }
  686.  
  687.                 if (RadioGroup.CheckedRadioButtonId.Equals(-1))
  688.                 {
  689.                     alertLay.SetBackgroundColor(Color.Argb(255, 227, 0, 0));
  690.                 }
  691.                 else
  692.                 {
  693.                     alertLay.SetBackgroundColor(Color.Argb(255, 96, 163, 0));
  694.                 }
  695.  
  696.             }
  697.  
  698.             // if field is Picture_REQ
  699.             if (item.FieldType == "Picture_REQ")
  700.             {
  701.                 ButtonValue.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  702.                 CamImage.Visibility = view.Visibility == ViewStates.Visible ? ViewStates.Visible : ViewStates.Visible;
  703.                 FieldTextValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  704.                 SpinnerValue.Visibility = view.Visibility == ViewStates.Gone ? ViewStates.Gone : ViewStates.Gone;
  705.  
  706.                 ButtonValue.Click += delegate
  707.                 {
  708.                     pa = new PrevzemVozila();
  709.                     if (pa != null)
  710.                     {
  711.                         pa.OnGetCam(this.AvailIntent, this.AvailActivities);
  712.                     }
  713.                 };
  714.             }
  715.  
  716.             return view;
  717.         }
  718.  
  719.         public IList<ResolveInfo> AvailActivities
  720.         {
  721.             set { this.availableActivities = value; }
  722.             get { return this.availableActivities; }
  723.         }
  724.  
  725.         public Intent AvailIntent
  726.         {
  727.             set { this.availIntent = value; }
  728.             get { return this.availIntent; }
  729.         }
  730.  
  731.         private void PostEventData(string Ticket, int FormId, int EventNo, string FieldName, string FieldValue, string XmlValue, string TransCode)
  732.         {
  733.             var PostEventData = chk.PostEventData(Ticket, FormId, EventNo, FieldName, FieldValue, XmlValue, TransCode);
  734.         }
  735.  
  736.         public class SpinItem2
  737.         {
  738.             public SpinItem2(int id, string tag, string title)
  739.             {
  740.                 Id = id;
  741.                 Title = title;
  742.                 Tag = tag;
  743.             }
  744.  
  745.             public int Id
  746.             {
  747.                 get;
  748.                 private set;
  749.             }
  750.  
  751.             public string Tag;
  752.  
  753.             public string Title
  754.             {
  755.                 get;
  756.                 private set;
  757.             }
  758.  
  759.             public override string ToString()
  760.             {
  761.                 return Title;
  762.             }
  763.         }
  764.  
  765.     }
  766. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement