void Rl_Click(object sender, EventArgs e) { RelativeLayout rlValue = (RelativeLayout)sender; TextView tvValue = (TextView)rlValue.GetChildAt(0); int IDdrug = (int)rlValue.GetTag(Resource.String.IDdrug); int IDinfo = (int)rlValue.GetTag(Resource.String.IDinfo); // string message = string.Format(@"Click to IDdrug:{0}, IDinfo:{0}", IDdrug, IDinfo); // Toast.MakeText(Activity, message, ToastLength.Short).Show(); string value = AttendanceResultManager.GetResultValue(newAttendanceResults, IDinfo, IDdrug); value = AttendanceResult.InvertStringBool(value); AttendanceResultManager.SetResultValue(newAttendanceResults, IDinfo, IDdrug, value); if (string.IsNullOrEmpty(value) || value.Equals(@"N")) { tvValue.SetTextAppearance(Activity, Resource.Style.text_danger); rlValue.SetBackgroundColor(Android.Graphics.Color.LightPink); } else { tvValue.SetTextAppearance(Activity, Resource.Style.text_success); rlValue.SetBackgroundColor(Android.Graphics.Color.LightGreen); } tvValue.Text = AttendanceResult.StringBoolToRussian(value); AttendanceResultManager.SetCurrentAttendanceResults(newAttendanceResults); }
private void SlowMethod() { // Thread.Sleep (5000); // // if (mAnimation.HasEnded) { // activity.RunOnUiThread(() => Toast.MakeText(context, @"Animation End", ToastLength.Short).Show()); // } else { // activity.RunOnUiThread(() =>Toast.MakeText(context, @"Animation NOT End", ToastLength.Short).Show()); // } //user.username = @"Zvezdova957"; //user.password = @"624590701"; user.username = tvUsername.Text; user.password = tvPassword.Text; bool isAuth = false; if (true) { isAuth = onlineAuth(user.username, user.password); } else { isAuth = offlineAuth(user.username, user.password); } if (isAuth) { //Toast.MakeText(context, @"Authentificated", ToastLength.Short).Show()) WriteInfo(@"Обновление внутренних данных", 2000); try { Common.SetCurrentUser(user); PharmacyManager.Refresh(); AttendanceManager.Refresh(); AttendancePhotoManager.Refresh(); AttendanceResultManager.Refresh(); SyncQueueManager.Refresh(); } catch (Exception ex) { Log.Error(@"Login", ex.Message); WriteDanger(@"ОШИБКА! ВХОД НЕ ВЫПОЛНЕН", 3000); return; } WriteSuccess(@"ВХОД ВЫПОЛНЕН УСПЕШНО", 3000); Dismiss(); OnSuccessSignedIn(EventArgs.Empty); // MessageBox.Show(); } else { activity.RunOnUiThread(() => Toast.MakeText(context, @"NOT Authentificated", ToastLength.Short).Show()); WriteDanger(@"ОШИБКА! ВХОД НЕ ВЫПОЛНЕН", 3000); // activity.RunOnUiThread (() => bSignUp.Visibility = ViewStates.Visible); // MessageBox.Show(@"NOT Authentificated"); } //RunOnUiThread (() => textview.Text = "Method Complete"); }
public override void OnPause() { base.OnPause(); if (Common.GetIsAttendanceRun(user.username)) { AttendanceResultManager.SetCurrentAttendanceResults(newAttendanceResults); } }
void UpRightB_Click(object sender, EventArgs e) { FragmentManager.BeginTransaction().Remove(fragment).Commit(); AttendanceManager.SetCurrentAttendance(null); AttendanceResultManager.SetCurrentAttendanceResults(null); AttendancePhotoManager.SetCurrentAttendancePhotos(null); RefreshMainView(); }
void DecimalValue_AfterTextChanged(object sender, Android.Text.AfterTextChangedEventArgs e) { EditText evValue = (EditText)sender; RelativeLayout rlValue = (RelativeLayout)evValue.Parent; int IDdrug = (int)rlValue.GetTag(Resource.String.IDdrug); int IDinfo = (int)rlValue.GetTag(Resource.String.IDinfo); AttendanceResultManager.SetResultValue(newAttendanceResults, IDinfo, IDdrug, e.Editable.ToString()); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Use this to return your custom view for this Fragment // return inflater.Inflate(Resource.Layout.YourFragment, container, false); layoutInflater = inflater; base.OnCreateView(inflater, container, savedInstanceState); View rootView = inflater.Inflate(Resource.Layout.DrugInfoFragment, container, false); table = rootView.FindViewById <TableLayout> (Resource.Id.difTableLayout); user = Common.GetCurrentUser(); project = Common.GetProject(user.username); infos = Common.GetInfos(user.username); List <Drug> allDrugs = Common.GetDrugs(user.username); if (project.drugsInWeek > 0) { DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo; int currWeek = dfi.Calendar.GetWeekOfYear(DateTime.Now, dfi.CalendarWeekRule, dfi.FirstDayOfWeek); int skip = (currWeek - project.startWeek) % (allDrugs.Count / project.drugsInWeek); drugs = (from drug in allDrugs orderby drug.id select drug ).Skip(skip * project.drugsInWeek) .Take(project.drugsInWeek) .ToList <Drug> (); } else { drugs = allDrugs; } // AttendanceResultManager.SetCurrentAttendanceResults (null); newAttendanceResults = AttendanceResultManager.GetCurrentAttendanceResults(); if ((newAttendanceResults == null) || (newAttendanceResults.Count == 0)) { newAttendanceResults = AttendanceResultManager.GenerateResults(infos, drugs, @"N"); } RefreshTable(); // Activity.Window.SetSoftInputMode (SoftInput.StateAlwaysHidden); return(rootView); }
void UpEndAttendance_Click(object sender, EventArgs e) { isVisitStart = false; Common.SetIsAttendanceRun(user.username, isVisitStart); locMgr.RemoveUpdates(this); // SAVE upPrevBlock.Visibility = ViewStates.Gone; upNextBlock.Visibility = ViewStates.Gone; FragmentManager.BeginTransaction().Remove(fragment).Commit(); fragmentNum = 1; Attendance newAttendance = AttendanceManager.GetCurrentAttendance(); List <AttendanceResult> newAttendanceResults = AttendanceResultManager.GetCurrentAttendanceResults(); List <AttendancePhoto> newAttendancePhotos = AttendancePhotoManager.GetCurrentAttendancePhotos(); // List<AttendanceGPSPoint> newAttendanceGPSPoints = AttendanceGPSPointManager.GetCurrentAttendanceGPSPoints (); int attID = AttendanceManager.SaveAttendance(newAttendance); if (newAttendanceResults != null) { AttendanceResultManager.SaveNewAttendanceResults(attID, newAttendanceResults); } if (newAttendancePhotos != null) { AttendancePhotoManager.SaveNewAttendancePhotos(attID, newAttendancePhotos); } if (attendanceGPSPoints != null) { AttendanceGPSPointManager.SaveNewAttendanceGPSPoints(attID, attendanceGPSPoints); } //Correct Pharmacy Pharmacy pharmacy = PharmacyManager.GetPharmacy(selectedPharmacyID); pharmacy.prev = DateTime.Now; pharmacy.next = DateTimeFormatInfo.CurrentInfo.Calendar.AddWeeks(pharmacy.prev, 2); PharmacyManager.SavePharmacy(pharmacy); //Clear AttendanceManager.SetCurrentAttendance(null); AttendanceResultManager.SetCurrentAttendanceResults(null); AttendancePhotoManager.SetCurrentAttendancePhotos(null); RefreshMainView(); }
void RefreshTable() { table.RemoveAllViews(); TableRow.LayoutParams lpRow = new TableRow.LayoutParams(); lpRow.Height = TableLayout.LayoutParams.WrapContent; lpRow.Width = TableLayout.LayoutParams.WrapContent; lpRow.Gravity = GravityFlags.Center; //header TableRow trHeader = new TableRow(Activity); TextView tvHDrug = (TextView)layoutInflater.Inflate(Resource.Layout.DrugInfoDrugItem, null); //tvHDrug.SetTextAppearance (Activity, Resource.Style.text_header_large); tvHDrug.Text = "Препараты"; tvHDrug.LayoutParameters = lpRow; ((TableRow.LayoutParams)tvHDrug.LayoutParameters).SetMargins(0, 0, ToDIP(1), 0); tvHDrug.SetBackgroundColor(Android.Graphics.Color.White); trHeader.AddView(tvHDrug); int i = 0; TableRow.LayoutParams lpValue = new TableRow.LayoutParams(); lpValue.Height = TableLayout.LayoutParams.WrapContent; lpValue.Width = TableLayout.LayoutParams.WrapContent; lpValue.Gravity = GravityFlags.Center; lpValue.SetMargins(ToDIP(1), ToDIP(1), ToDIP(1), ToDIP(1)); foreach (var drug in drugs) { i++; TableRow trRow = new TableRow(Activity); TextView tvDrug = (TextView)layoutInflater.Inflate(Resource.Layout.DrugInfoDrugItem, null); tvDrug.Gravity = GravityFlags.CenterVertical; tvDrug.SetTextAppearance(Activity, Resource.Style.text_row_large); tvDrug.Text = string.Format(@"{0}: {1}", i, drug.fullName); tvDrug.LayoutParameters = lpRow; tvDrug.SetBackgroundColor(Android.Graphics.Color.White); trRow.AddView(tvDrug); foreach (var info in infos) { if (trHeader.Parent == null) { TextView tvHInfo = (TextView)layoutInflater.Inflate(Resource.Layout.DrugInfoValueHeader, null); tvHInfo.Text = info.name; tvHInfo.SetBackgroundColor(Android.Graphics.Color.White); trHeader.AddView(tvHInfo); } RelativeLayout rlValue = new RelativeLayout(Activity); rlValue.SetGravity(GravityFlags.Center); rlValue.SetMinimumHeight(ToDIP(64)); rlValue.SetMinimumWidth(ToDIP(64)); rlValue.LayoutParameters = lpValue; rlValue.SetTag(Resource.String.IDinfo, info.id); rlValue.SetTag(Resource.String.IDdrug, drug.id); // rlValue.SetTag (Resource.String.IDattendance, attendace.id); string value = AttendanceResultManager.GetResultValue(newAttendanceResults, info.id, drug.id); if (info.valueType == @"number") { RelativeLayout.LayoutParams nlpValue = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WrapContent, RelativeLayout.LayoutParams.MatchParent); nlpValue.AddRule(LayoutRules.CenterInParent); nlpValue.SetMargins(ToDIP(1), ToDIP(1), ToDIP(1), ToDIP(1)); EditText evValue = new EditText(Activity) { LayoutParameters = nlpValue }; evValue.SetMinimumWidth(ToDIP(64)); evValue.SetMaxWidth(ToDIP(64)); evValue.InputType = Android.Text.InputTypes.ClassNumber; evValue.Text = value.Equals(@"N") ? string.Empty : value; rlValue.AddView(evValue); evValue.AfterTextChanged += NumberValue_AfterTextChanged; } if (info.valueType == @"decimal") { RelativeLayout.LayoutParams dlpValue = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WrapContent, RelativeLayout.LayoutParams.MatchParent); dlpValue.AddRule(LayoutRules.CenterInParent); dlpValue.SetMargins(ToDIP(1), ToDIP(1), ToDIP(1), ToDIP(1)); EditText evValue = new EditText(Activity) { LayoutParameters = dlpValue }; evValue.SetMinimumWidth(ToDIP(64)); evValue.SetMaxWidth(ToDIP(64)); evValue.InputType = Android.Text.InputTypes.NumberFlagDecimal; evValue.Text = value.Equals(@"N") ? string.Empty : value; rlValue.AddView(evValue); evValue.AfterTextChanged += DecimalValue_AfterTextChanged; } if (info.valueType == @"boolean") { rlValue.Click += Rl_Click; TextView tvValue = new TextView(Activity); tvValue.Gravity = GravityFlags.Center; if (string.IsNullOrEmpty(value) || value.Equals(@"N")) { tvValue.SetTextAppearance(Activity, Resource.Style.text_danger); rlValue.SetBackgroundColor(Android.Graphics.Color.LightPink); } else { tvValue.SetTextAppearance(Activity, Resource.Style.text_success); rlValue.SetBackgroundColor(Android.Graphics.Color.LightGreen); } tvValue.Text = AttendanceResult.StringBoolToRussian(value); rlValue.AddView(tvValue); } trRow.AddView(rlValue); } if (trHeader.Parent == null) { table.AddView(trHeader); table.AddView(GetDelim(Android.Graphics.Color.Black)); } table.AddView(trRow); table.AddView(GetDelim(Android.Graphics.Color.Brown)); } }
void RefreshContent() { llSyncItems.RemoveAllViews(); queue = (List <SyncQueue>)SyncQueueManager.GetSyncQueue(selectedDate); foreach (var q in queue) { View view = LayoutInflater.Inflate(Resource.Layout.SyncFragmentItem, null); RelativeLayout rl = view.FindViewById <RelativeLayout> (Resource.Id.sfiRelativeLayout); ImageView iv = view.FindViewById <ImageView> (Resource.Id.sfiStatusImage); TextView type = view.FindViewById <TextView> (Resource.Id.sfiTypeInfoText); TextView loc = view.FindViewById <TextView> (Resource.Id.sfiLocationText); try { if (q.isSync) { rl.SetBackgroundColor(Android.Graphics.Color.LightGreen); iv.SetImageResource(Resource.Drawable.ic_check_circle_white_36dp); type.SetTextAppearance(this, Resource.Style.text_success); loc.SetTextAppearance(this, Resource.Style.text_success_small); } else { rl.SetBackgroundColor(Android.Graphics.Color.LightPink); iv.SetImageResource(Resource.Drawable.ic_highlight_off_white_36dp); type.SetTextAppearance(this, Resource.Style.text_danger); loc.SetTextAppearance(this, Resource.Style.text_danger_small); } Attendance att = null; Pharmacy pharm = null; switch (q.type) { case SyncQueueType.sqtAttendance: att = AttendanceManager.GetAttendance(q.itemID); pharm = PharmacyManager.GetPharmacy(att.pharmacy); type.Text = string.Format(@"Тип: Посещение аптеки {0} за дату {1}", pharm.fullName, att.date.ToString(@"d")); loc.Text = string.Format(@"Размещение: {0}", q.fileLocation); break; case SyncQueueType.sqtAttendanceResult: AttendanceResult attRes = AttendanceResultManager.GetAttendanceResult(q.itemID); att = AttendanceManager.GetAttendance(attRes.attendance); pharm = PharmacyManager.GetPharmacy(att.pharmacy); type.Text = string.Format(@"Тип: Значение по препарату в посещение аптеки {0} за дату {1}", pharm.fullName, att.date.ToString(@"d")); loc.Text = string.Format(@"Размещение: {0}", q.fileLocation); break; case SyncQueueType.sqtAttendanceGPSPoint: AttendanceGPSPoint attGPS = AttendanceGPSPointManager.GetAttendanceGPSPoint(q.itemID); att = AttendanceManager.GetAttendance(attGPS.attendance); pharm = PharmacyManager.GetPharmacy(att.pharmacy); type.Text = string.Format(@"Тип: GPS значение в посещение аптеки {0} за дату {1} - lat:{2}, lon:{3}", pharm.fullName, att.date.ToString(@"d"), attGPS.latitude, attGPS.longitude); loc.Text = string.Format(@"Размещение: {0}", q.fileLocation); break; case SyncQueueType.sqtAttendancePhoto: AttendancePhoto attPho = AttendancePhotoManager.GetAttendancePhoto(q.itemID); type.Text = string.Format(@"Фото: {0}", attPho.photoPath); loc.Text = q.fileLocation; break; default: type.Text = @"Неизвестный тип файла"; type.SetTextColor(Android.Graphics.Color.DarkRed); break; } } catch (Exception ex) { type.Text = @"Error:"; loc.Text = ex.Message; } llSyncItems.AddView(view); } }
void UpLoadAttendances() { string cookieName = string.Empty; string cookieValue = string.Empty; var user = Common.GetCurrentUser(); var login = new RestClient(Settings.URLs.Host); //login.Authenticator = new SimpleAuthenticator("identifier", "*****@*****.**", "password", "q1234567"); login.Authenticator = new SimpleAuthenticator(@"identifier", user.username, @"password", user.password); login.CookieContainer = new CookieContainer(); var request = new RestRequest(@"auth/local", Method.POST); var response = login.Execute <User>(request); User userRes = response.Data; if (userRes == null) { RunOnUiThread(() => progressDialog.SetMessage(@"Не удалось пройти аутентификацию!")); return; } cookieName = response.Cookies[0].Name; cookieValue = response.Cookies[0].Value; var queueToUpload = (List <SyncQueue>)SyncQueueManager.GetSyncQueue(selectedDate); foreach (var q in queueToUpload) { try { if ((q.type == SyncQueueType.sqtAttendance) && (!q.isSync)) { var client = new RestClient(Settings.URLs.Host); Attendance oldAttendance = SyncQueueManager.GetAttendace(q.fileLocation); RunOnUiThread(() => progressDialog.SetMessage(string.Format(@"Загрузка посещения с id:{0}", oldAttendance.id))); request = new RestRequest(@"Attendance/", Method.POST); request.AddCookie(cookieName, cookieValue); request.RequestFormat = DataFormat.Json; request.JsonSerializer.ContentType = @"application/json; charset=utf-8"; //request.AddBody(oldAttendance); request.AddParameter(@"application/json; charset=utf-8", oldAttendance.ToJSON(), ParameterType.RequestBody); var respAttendance = client.Execute <Attendance>(request); Attendance newAttendance = respAttendance.Data; // Thread.Sleep (500); switch (respAttendance.StatusCode) { case HttpStatusCode.OK: case HttpStatusCode.Created: if (AttendanceResultManager.CreateItemsForSync(oldAttendance, newAttendance) && AttendancePhotoManager.CreateItemsForSync(oldAttendance, newAttendance) && AttendanceGPSPointManager.CreateItemsForSync(oldAttendance, newAttendance) ) { q.isSync = true; SyncQueueManager.SaveSyncQueue(q, false); RunOnUiThread(() => { progressDialog.SetMessage(string.Format(@"Посещение с id:{0} ЗАГРУЖЕНО!", oldAttendance.id)); // RefreshContent (); }); } else { RunOnUiThread(() => { progressDialog.SetMessage(string.Format(@"Не удалось скорректировать данные для посещения с id:{0} ОШИБКА!", oldAttendance.id)); // RefreshContent (); }); } continue; default: // Thread.Sleep (500); RunOnUiThread(() => progressDialog.SetMessage(@"Не удалось загрузить посещение!")); // Thread.Sleep (1500); break; } } } catch (Exception ex) { RunOnUiThread(() => progressDialog.SetMessage(@"Error : " + ex.Message)); // Thread.Sleep (1500); break; } } }