//--------------------------------------------------------------------------------------------------------------------------------------------------- //Choosing the data. private void ChooseDataButton_Click(object sender, EventArgs e) { //If the user isn't choosed. if (Classes.User.CurrentUser == -1) { HelpclassDataValidation.MakingErrorToast(Resource.String.ErrorMessage_Unchoosed); } //If the user is choosed, moving to adding products. else { //Creating a new layout for choosing date. AlertDialog.Builder Object = new AlertDialog.Builder(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity); LayoutInflater inflater = LayoutInflater.From(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity); LinearLayout layout = new LinearLayout(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity); View ChooseDateForm = inflater.Inflate(Resource.Layout.product_ChooseDate, layout); Object.SetView(ChooseDateForm); DatePicker DateChooser = ChooseDateForm.FindViewById <DatePicker>(Resource.Id.DateChooser); //Action on pressing positive button. Object.SetPositiveButton(Resource.String.OK, new EventHandler <DialogClickEventArgs>(delegate(object Sender, DialogClickEventArgs e1) { ProductLists.CurrentDate = DateChooser.DateTime; OnResume(); } )); //Showing the form. Object.Show(); } }
//--------------------------------------------------------------------------------------------------------------------------------------------------- //Making a new alcohol entry. private void SetAlcoholButton_Click(object sender, EventArgs e) { //If the user isn't choosed. if (Classes.User.CurrentUser == -1) { HelpclassDataValidation.MakingErrorToast(Resource.String.ErrorMessage_Unchoosed); } //If the user is choosed, moving to adding products. else { var intent = new Intent(Activity, typeof(AlcoholAdd)); StartActivity(intent); } }
//--------------------------------------------------------------------------------------------------------------------------------------------------- //Making a new cigarettes entry. private void SetCigarettesButton_Click(object sender, EventArgs e) { //If the user isn't choosed. if (Classes.User.CurrentUser == -1) { HelpclassDataValidation.MakingErrorToast(Resource.String.ErrorMessage_Unchoosed); } //If the user is choosed, moving to adding products. else { //Creating a new layout for choosing date. AlertDialog.Builder Object_ = new AlertDialog.Builder(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity); LayoutInflater inflater_ = LayoutInflater.From(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity); LinearLayout layout_ = new LinearLayout(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity); View SetAlcoholForm = inflater_.Inflate(Resource.Layout.cigarettes_Add, layout_); Object_.SetView(SetAlcoholForm); //Picker attributes. NumberOfCigarettesPicker = SetAlcoholForm.FindViewById <NumberPicker>(Resource.Id.CigarettesPicker); NumberOfCigarettesPicker.MinValue = 1; NumberOfCigarettesPicker.MaxValue = 100; //Element from the layout. AmountOfNicotine = SetAlcoholForm.FindViewById <EditText>(Resource.Id.AmountOfNicotine); //On pressing positive button. Object_.SetPositiveButton(Resource.String.OK, (EventHandler <DialogClickEventArgs>)null); Object_.SetNegativeButton(Resource.String.Cancel, (EventHandler <DialogClickEventArgs>)null); //Saving dialog to variable DialogForAdding = Object_.Create(); //Showing a form. DialogForAdding.Show(); //Saving button to variable. var positiveButton = DialogForAdding.GetButton((int)DialogButtonType.Positive); positiveButton.Click += PositiveButton_Click; //Saving button to variable. var negativeButton = DialogForAdding.GetButton((int)DialogButtonType.Negative); negativeButton.Click += NegativeButton_Click; } }
//--------------------------------------------------------------------------------------------------------------------------------------------------- //On pressing positive button. private void PositiveButton_Click(object sender, EventArgs e) { //Setting amount of nicotine. String ForAmountOfNicotine = AmountOfNicotine.Text; ForAmountOfNicotine = ForAmountOfNicotine.Replace(".", ","); //If it was error while entering. if ((!HelpclassDataValidation.CheckForLenth(ForAmountOfNicotine, 0, 4)) || (!HelpclassDataValidation.CheckForValue(double.Parse(ForAmountOfNicotine), 0, 2))) { HelpclassDataValidation.RequestCorrectEnter(Resource.String.other_Nicotine); } //If everything is OK. else { //Making a new entry. User TempUser = DatabaseUser.GetUser(User.CurrentUser); TempUser.Cigarettes.Add(new Cigarette(DateTime.Now, NumberOfCigarettesPicker.Value, double.Parse(ForAmountOfNicotine))); DatabaseUser.SQConnection.UpdateWithChildren(TempUser); OnResume(); DialogForAdding.Dismiss(); } }
//--------------------------------------------------------------------------------------------------------------------------------------------------- public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { base.OnCreateView(inflater, container, savedInstanceState); //Element from the layout. SfChart Graph = new SfChart(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity); //Axes settings. CategoryAxis AxeX = new CategoryAxis(); NumericalAxis AxeY = new NumericalAxis(); Graph.PrimaryAxis = AxeX; Graph.SecondaryAxis = AxeY; AxeX.LabelRotationAngle = 315; AxeX.LabelStyle.TextColor = Android.Graphics.Color.Black; AxeY.LabelStyle.TextColor = Android.Graphics.Color.Black; AxeX.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; //Graph settings. Graph.SetBackgroundColor(Android.Graphics.Color.DarkGreen); ChartZoomPanBehavior Zoom = new ChartZoomPanBehavior(); Graph.Behaviors.Add(Zoom); ObservableArrayList ListForData = new ObservableArrayList(); //If the user is choosed. if (Classes.User.CurrentUser != -1) { //Getting parameters of currrent user from DB. int k = 1; foreach (ParametresOfUser TempParametres in DatabaseUser.GetUser(User.CurrentUser).Parameters) { ListForData.Add(new ChartDataPoint(TempParametres.EntryDate.ToShortDateString(), TempParametres.Weight)); } //Setting data to the list SplineSeries Seria = new SplineSeries(); Seria.DataSource = ListForData; //Settings oof lables. Seria.DataMarker.ShowMarker = true; Seria.DataMarker.ShowLabel = true; Seria.DataMarker.MarkerColor = Android.Graphics.Color.Yellow; Seria.DataMarker.ConnectorLineStyle.ConnectorHeight = 50; Seria.DataMarker.ConnectorLineStyle.ConnectorRotationAngle = 175; Seria.DataMarker.ConnectorLineStyle.PathEffect = new DashPathEffect(new float[] { 3, 3 }, 3); //Adding graph to form. Graph.Series.Add(Seria); } //If the user isn't choosed. else { HelpclassDataValidation.MakingErrorToast(Resource.String.ErrorMessage_Unchoosed); } return(Graph); }
//--------------------------------------------------------------------------------------------------------------------------------------------------- //Setting parametres for a user. private void SetParametersButton_Click(object sender, EventArgs e) { //Creating a new layout for setting parameters of a user. AlertDialog.Builder Object = new AlertDialog.Builder(ListOfParameters.activity); LayoutInflater inflater = LayoutInflater.From(ListOfParameters.activity); LinearLayout layout = new LinearLayout(ListOfParameters.activity); View FormViewsSetParametres = inflater.Inflate(Resource.Layout.parametres_Set, layout); Object.SetView(FormViewsSetParametres); //Elements from the layout. NumberPicker HeightPicker = FormViewsSetParametres.FindViewById <NumberPicker>(Resource.Id.HeightPicker); NumberPicker WeightPicker = FormViewsSetParametres.FindViewById <NumberPicker>(Resource.Id.WeightPicker); //Pickers parameters. HeightPicker.MinValue = 50; HeightPicker.MaxValue = 250; if (DatabaseUser.GetUser(User.CurrentUser).Parameters.Count != 0) { HeightPicker.Value = (int)DatabaseUser.GetUser(User.CurrentUser).Parameters.Last().Height; } else { HeightPicker.Value = 150; } WeightPicker.MinValue = 30; WeightPicker.MaxValue = 500; if (DatabaseUser.GetUser(User.CurrentUser).Parameters.Count != 0) { WeightPicker.Value = (int)DatabaseUser.GetUser(User.CurrentUser).Parameters.Last().Weight; } else { WeightPicker.Value = 60; } //Action on pressing posititve button. Object.SetPositiveButton(Resource.String.Action_AddEntry, new EventHandler <DialogClickEventArgs>(delegate(object Sender, DialogClickEventArgs e1) { //If the user is choosed. if (Classes.User.CurrentUser != -1) { //Getting data and changing the symbols. DateTime DTForData = System.DateTime.Now; //Creating temporary parameters for a new user. ParametresOfUser TempParametres = new ParametresOfUser(DTForData, WeightPicker.Value, HeightPicker.Value); //For showing results of changes. string ForIndexResults = ""; string ForParametersResults = ""; //Change of user's BMI. if (!HelpclassDataValidation.ComparingValues(TempParametres.Index, 15.0)) { ForIndexResults = Resources.GetString(Resource.String.MessageParameters_BMIout) + " " + TempParametres.Index + Resources.GetString(Resource.String.MessageParameters_VerySeverelyUnderweight); } else if (!HelpclassDataValidation.ComparingValues(TempParametres.Index, 16.0)) { ForIndexResults = Resources.GetString(Resource.String.MessageParameters_BMIout) + " " + TempParametres.Index + Resources.GetString(Resource.String.MessageParameters_SeverelyUnderweight); } else if (!HelpclassDataValidation.ComparingValues(TempParametres.Index, 18.5)) { ForIndexResults = Resources.GetString(Resource.String.MessageParameters_BMIout) + " " + TempParametres.Index + Resources.GetString(Resource.String.MessageParameters_Underweight); } else if (!HelpclassDataValidation.ComparingValues(TempParametres.Index, 25.0)) { ForIndexResults = Resources.GetString(Resource.String.MessageParameters_BMIout) + " " + TempParametres.Index + Resources.GetString(Resource.String.MessageParameters_HealthyWeight); } else if (!HelpclassDataValidation.ComparingValues(TempParametres.Index, 30.0)) { ForIndexResults = Resources.GetString(Resource.String.MessageParameters_BMIout) + " " + TempParametres.Index + Resources.GetString(Resource.String.MessageParameters_Overweight); } else if (!HelpclassDataValidation.ComparingValues(TempParametres.Index, 35.0)) { ForIndexResults = Resources.GetString(Resource.String.MessageParameters_BMIout) + " " + TempParametres.Index + Resources.GetString(Resource.String.MessageParameters_ModeratelyOverweight); } else if (!HelpclassDataValidation.ComparingValues(TempParametres.Index, 40.0)) { ForIndexResults = Resources.GetString(Resource.String.MessageParameters_BMIout) + " " + TempParametres.Index + Resources.GetString(Resource.String.MessageParameters_SeverelyOverweight); } else { ForIndexResults = Resources.GetString(Resource.String.MessageParameters_BMIout) + " " + TempParametres.Index + Resources.GetString(Resource.String.MessageParameters_VerySeverelyOverweight); } /*Change of user's weight and height.*/ //If the list of parameters isn't empty. if (DatabaseUser.GetUser(User.CurrentUser).Parameters.Count != 0) { //Ñhange of weight. if (DatabaseUser.GetUser(User.CurrentUser).Parameters.Last().Weight > TempParametres.Weight) { ForParametersResults = Resources.GetString(Resource.String.MessageParameters_Lost) + " " + Math.Abs(DatabaseUser.GetUser(User.CurrentUser).Parameters.Last().Weight - TempParametres.Weight) + " " + Resources.GetString(Resource.String.other_Kilograms); } else if (DatabaseUser.GetUser(User.CurrentUser).Parameters.Last().Weight < TempParametres.Weight) { ForParametersResults = Resources.GetString(Resource.String.MessageParameters_Gained) + " " + Math.Abs(DatabaseUser.GetUser(User.CurrentUser).Parameters.Last().Weight - TempParametres.Weight) + " " + Resources.GetString(Resource.String.other_Kilograms); } //Ñhange of height. if (DatabaseUser.GetUser(User.CurrentUser).Parameters.Last().Height < TempParametres.Height) { ForParametersResults = ForParametersResults + " " + Resources.GetString(Resource.String.MessageGeneral_YouAre) + " " + Math.Abs(DatabaseUser.GetUser(User.CurrentUser).Parameters.Last().Height - TempParametres.Height) + " " + Resources.GetString(Resource.String.other_Centimetres); } } //Showing info. View view = inflater.Inflate(Resource.Layout.message_Parameters, null); var txt1 = view.FindViewById <TextView>(Resource.Id.TextForResult); var txt2 = view.FindViewById <TextView>(Resource.Id.TextForComparing); txt1.Text = ForIndexResults; txt2.Text = ForParametersResults; var toast = new Toast(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity) { Duration = ToastLength.Long, View = view }; toast.Show(); //Updating user parameters. User TempUser = DatabaseUser.GetUser(User.CurrentUser); TempUser.Parameters.Add(TempParametres); DatabaseUser.SQConnection.UpdateWithChildren(TempUser); //Getting parameters of currrent user from DB. ListForUserParameters.Add(new TableRowParameters(TempParametres.EntryDate.ToShortDateString(), TempParametres.Weight, TempParametres.Height, TempParametres.Index)); if (TempParametres.Weight > maxWeight) { maxWeight = TempParametres.Weight; } if (TempParametres.Height > maxHeight) { maxHeight = TempParametres.Height; } if (TempParametres.Weight < minWeight || minWeight == -1) { minWeight = TempParametres.Weight; } if (TempParametres.Height < minHeight || minHeight == -1) { minHeight = TempParametres.Height; } if (maxWeight > 0) { WeightText.Text = maxWeight.ToString(); } if (maxHeight > 0) { HeightText.Text = maxHeight.ToString(); } if (minWeight > 0) { WeightText1.Text = minWeight.ToString(); } if (minHeight > 0) { HeightText1.Text = minHeight.ToString(); } BMIText.Text = "-"; BMIText1.Text = "-"; //Setting the parameters to the list. HelpclassListAdapter AdapterForUserParameters = new HelpclassListAdapter(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity, ListForUserParameters); ListForParameters.Adapter = AdapterForUserParameters; //If there isn't a footer, adding one. if (ListForParameters.FooterViewsCount == 0) { ListForParameters.AddFooterView(Footer); } } //If the user is not choosed. else { HelpclassDataValidation.MakingErrorToast(Resource.String.ErrorMessage_Unchoosed); } })); //Action on pressing negative button. Object.SetNegativeButton(Resource.String.Cancel, new EventHandler <DialogClickEventArgs>(delegate(object Sender, DialogClickEventArgs e1) {})); //Showing the new form for entering the parametres. Object.Show(); }