예제 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            IDrug PharmacyManager;
            int   PatientID;

            PatientID = Convert.ToInt32(Request.QueryString["PatientId"]);
            ViewState["PatientId"] = PatientID;
            try
            {
                if (!IsPostBack)
                {
                    PharmacyManager = (IDrug)ObjectFactory.CreateInstance("BusinessProcess.Pharmacy.BDrug, BusinessProcess.Pharmacy");
                    DataSet theDS = (DataSet)PharmacyManager.GetPharmacyList(PatientID);

                    ////if (theDS.Tables.Count > 0 && theDS.Tables[0].Rows.Count == 0)
                    ////{
                    ////    IQCareMsgBox.Show("NoPharmacyRecordExists", this);
                    ////    return;
                    ////}
                    ViewState["grddata"]                 = theDS;
                    ViewState["gridSortDirection"]       = "Desc";
                    this.grdAdultPharmacyList.DataSource = AlterTable(theDS); //.Tables[0].DefaultView);
                    this.grdAdultPharmacyList.DataBind();
                    BindPharmacyGrid();
                }
            }
            catch (Exception err)
            {
                MsgBuilder theBuilder = new MsgBuilder();
                theBuilder.DataElements["MessageText"] = err.Message.ToString();
                IQCareMsgBox.Show("#C1", theBuilder, this);
                return;
            }
        }
예제 #2
0
        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");
        }
예제 #3
0
 void Awake()
 {
     if (instance == null)
         instance = this;
     else
     {
         enabled = false;
     }
 }
예제 #4
0
        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();
        }
예제 #5
0
        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);

            base.OnCreateView(inflater, container, savedInstanceState);

            View rootView = inflater.Inflate(Resource.Layout.Block1Fragment, container, false);

            pharmacyID    = Arguments.GetInt(Common.PHARMACY_ID);
            user          = Common.GetCurrentUser();
            netCategories = Common.GetNetCategories(user.username);
            promos        = Common.GetPromos(user.username);
            merchant      = Common.GetMerchant(user.username);
            territory     = Common.GetTerritory(user.username);
            pharmacy      = PharmacyManager.GetPharmacy(pharmacyID);

            var tradenets = Common.GetTradeNets(user.username);
            Dictionary <int, string> tnDict = new Dictionary <int, string> ();

            foreach (var item in tradenets)
            {
                tnDict.Add(item.id, item.shortName);
            }
            ;

            attendance = AttendanceManager.GetCurrentAttendance();
            if (attendance == null)
            {
                attendance = AttendanceManager.GetLastAttendance(pharmacyID);

                if (attendance == null)
                {
                    attendance = new Attendance()
                    {
                        pharmacy = pharmacyID,
                        date     = DateTime.Now,
                        merchant = merchant.id
                    };
                }
                else
                {
                    attendance.id   = -1;
                    attendance.date = DateTime.Now;
                }
            }

            rootView.FindViewById <TextView> (Resource.Id.b1fTradenetText).Text        = tnDict [pharmacy.tradenet];    //@"Аптечная Сеть";
            rootView.FindViewById <TextView> (Resource.Id.b1fCityText).Text            = territory.baseCity;
            rootView.FindViewById <TextView> (Resource.Id.b1fPharmacyNameText).Text    = pharmacy.shortName;
            rootView.FindViewById <TextView> (Resource.Id.b1fPharmacyAddressText).Text = pharmacy.address;
            rootView.FindViewById <TextView> (Resource.Id.b1fCategoryInOTCText).Text   = pharmacy.category_otc;
            rootView.FindViewById <TextView> (Resource.Id.b1fLastAttendanceText).Text  = pharmacy.prev == DateTime.MinValue ? String.Empty : pharmacy.prev.ToString(@"d");
            rootView.FindViewById <TextView> (Resource.Id.b1fNextAttendanceText).Text  = pharmacy.next == DateTime.MinValue ? String.Empty : pharmacy.next.ToString(@"d");
            rootView.FindViewById <TextView> (Resource.Id.b1fAllAttendanciesText).Text = AttendanceManager.GetStatistics(pharmacy.id);

            categoryNetSpinner = rootView.FindViewById <Spinner> (Resource.Id.b1fCategoryNetSpinner);
            ArrayAdapter adapter = new ArrayAdapter(Activity, Android.Resource.Layout.SimpleSpinnerItem, (from item in netCategories select item.key).ToArray <string>());

            adapter.SetDropDownViewResource(Resource.Layout.SpinnerItem);
            categoryNetSpinner.Adapter       = adapter;
            categoryNetSpinner.ItemSelected += (object sender, AdapterView.ItemSelectedEventArgs e) => {
                attendance.category_net = netCategories[e.Position].id;
            };
            // SetValue
            for (int i = 0; i < netCategories.Count; i++)
            {
                if (netCategories [i].id == attendance.category_net)
                {
                    categoryNetSpinner.SetSelection(i);
                }
            }

            telephoneEdit      = rootView.FindViewById <EditText> (Resource.Id.b1fTelephoneEdit);
            telephoneEdit.Text = attendance.telephone;

            purchaserFIOEdit      = rootView.FindViewById <EditText> (Resource.Id.b1fPurchaserFIOEdit);
            purchaserFIOEdit.Text = attendance.purchaserFIO;

            promosEdit          = rootView.FindViewById <EditText> (Resource.Id.b1fPromosEdit);
            promosButton        = rootView.FindViewById <Button> (Resource.Id.b1fPromosButton);
            promosButton.Click += (object sender, EventArgs e) => {
                bool[] checkedItems = new bool[promos.Count];
                if (attendance.promos != null)
                {
                    for (int i = 0; i < promos.Count; i++)
                    {
                        if (attendance.promos.Contains(promos[i].id))
                        {
                            checkedItems[i] = true;
                            tempPromos.Add(promos[i].id);
                        }
                    }
                }
                string[] items = (from promo
                                  in promos
                                  orderby promo.id
                                  select promo.name).ToArray <string>();
                AlertDialog.Builder builder;
                builder = new AlertDialog.Builder(Activity);
                builder.SetTitle("Выбор ПРОМО-матералов");
                builder.SetCancelable(false);
                builder.SetMultiChoiceItems(items, checkedItems, MultiListClicked);
                builder.SetPositiveButton(@"Сохранить",
                                          delegate {
                    attendance.promos = tempPromos.ToArray <int>();
                    builder.Dispose();
                    RefreshPromos();
                }
                                          );
                builder.SetNegativeButton(@"Отмена", delegate { builder.Dispose(); });
                builder.Show();
            };
            RefreshPromos();

            pharmacistCountEdit      = rootView.FindViewById <EditText> (Resource.Id.b1fPharmacistCountEdit);
            pharmacistCountEdit.Text = attendance.pharmacistCount.ToString();

            commentEdit      = rootView.FindViewById <EditText> (Resource.Id.b1fCommentEdit);
            commentEdit.Text = attendance.comment;

            RefreshControlsState();
            return(rootView);
        }
예제 #6
0
        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);
            }
        }
예제 #7
0
        void RefreshPharmacyTable()
        {
            pharamcyTable.Visibility = ViewStates.Visible;

            //Add Header Row
            TableRow hRow = new TableRow(this);

            hRow.SetBackgroundResource(Resource.Drawable.bottomline);

            TextView hID = GetHeadItem(ColumnPosition.cpFirst);

            hID.Gravity = GravityFlags.Center;
            hID.Text    = @"ID";
            hRow.AddView(hID);

            TextView hShortName = GetHeadItem(ColumnPosition.cpMiddle);

            hShortName.Gravity = GravityFlags.CenterVertical;
            hShortName.Text    = @"Аптека";
            hRow.AddView(hShortName);

            TextView hTradeNet = GetHeadItem(ColumnPosition.cpMiddle);

            hTradeNet.Gravity = GravityFlags.CenterVertical;
            hTradeNet.Text    = @"Сеть";
            hRow.AddView(hTradeNet);

            TextView hAddress = GetHeadItem(ColumnPosition.cpMiddle);

            hAddress.Gravity = GravityFlags.CenterVertical;
            hAddress.Text    = @"Адрес";
            hRow.AddView(hAddress);

            TextView hWeekM2 = GetHeadItem(ColumnPosition.cpMiddle);

            hWeekM2.Gravity = GravityFlags.CenterVertical;
            hWeekM2.Text    = @"Неделя -2";
            hRow.AddView(hWeekM2);

            TextView hWeekM1 = GetHeadItem(ColumnPosition.cpMiddle);

            hWeekM1.Gravity = GravityFlags.CenterVertical;
            hWeekM1.Text    = @"Неделя -1";
            hRow.AddView(hWeekM1);

            TextView hWeek = GetHeadItem(ColumnPosition.cpMiddle);

            hWeek.Gravity = GravityFlags.CenterVertical;
            hWeek.Text    = @"Текущ. неделя";
            hRow.AddView(hWeek);

            TextView hWeekP1 = GetHeadItem(ColumnPosition.cpMiddle);

            hWeekP1.Gravity = GravityFlags.CenterVertical;
            hWeekP1.Text    = @"Неделя +1";
            hRow.AddView(hWeekP1);

            TextView hWeekP2 = GetHeadItem(ColumnPosition.cpLast);

            hWeekP2.Gravity = GravityFlags.CenterVertical;
            hWeekP2.Text    = @"Неделя +2";
            hRow.AddView(hWeekP2);

            pharamcyTable.AddView(hRow);

            // Content
            if (pharamcyTable != null)
            {
                int childCount = pharamcyTable.ChildCount;

                // Remove all rows except the first one
                if (childCount > 1)
                {
                    pharamcyTable.RemoveViews(1, childCount - 1);
                }

                pageNum.Text = string.Format(@"СТРАНИЦА : {0}", page);
                var pharmacies = (from pharm in PharmacyManager.GetPharmacies(string.Empty)
                                  orderby pharm.next, pharm.id
                                  select pharm).Skip((page - 1) * itemsNum)
                                 .Take(itemsNum);

                var tradenets = Common.GetTradeNets(user.username);
                Dictionary <int, string> tnDict = new Dictionary <int, string> ();
                foreach (var item in tradenets)
                {
                    tnDict.Add(item.id, item.shortName);
                }
                ;

                foreach (var pharmacy in pharmacies)
                {
                    TableRow cRow = new TableRow(this);
                    if (pharmacy.prev.Date == DateTime.Now.Date)
                    {
                        cRow.SetBackgroundResource(Resource.Drawable.bottomline_green);
                    }
                    else if (pharmacy.next.Date < DateTime.Now.Date && pharmacy.prev != DateTime.MinValue)
                    {
                        cRow.SetBackgroundResource(Resource.Drawable.bottomline_red);
                    }
                    else
                    {
                        cRow.SetBackgroundResource(Resource.Drawable.bottomline);
                    }

                    TextView id = GetItem(ColumnPosition.cpFirst);
                    id.Gravity = GravityFlags.Center;
                    id.Text    = pharmacy.id.ToString();
                    cRow.AddView(id);

                    TextView shortName = GetItem(ColumnPosition.cpMiddle);
                    shortName.Gravity = GravityFlags.CenterVertical;
                    shortName.Text    = pharmacy.shortName;
                    shortName.SetSingleLine(true);
                    shortName.Ellipsize = Android.Text.TextUtils.TruncateAt.End;
                    cRow.AddView(shortName);

                    TextView tradeNet = GetItem(ColumnPosition.cpMiddle);
                    tradeNet.Gravity = GravityFlags.CenterVertical;
                    //tradeNet.Text = pharmacy.tradenet.ToString();
                    tradeNet.Text = tnDict[pharmacy.tradenet];
                    cRow.AddView(tradeNet);

                    TextView address = GetItem(ColumnPosition.cpMiddle);
                    address.Gravity = GravityFlags.CenterVertical;
                    address.Text    = pharmacy.address;
                    cRow.AddView(address);

                    DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;
                    Calendar           cal = dfi.Calendar;
                    int dWeekM             = (cal.GetWeekOfYear(pharmacy.prev, dfi.CalendarWeekRule, dfi.FirstDayOfWeek) - cal.GetWeekOfYear(DateTime.Now, dfi.CalendarWeekRule, dfi.FirstDayOfWeek));
                    int dWeekP             = (cal.GetWeekOfYear(pharmacy.next, dfi.CalendarWeekRule, dfi.FirstDayOfWeek) - cal.GetWeekOfYear(DateTime.Now, dfi.CalendarWeekRule, dfi.FirstDayOfWeek));

                    TextView weekM2 = GetItem(ColumnPosition.cpMiddle);
                    weekM2.Gravity = GravityFlags.CenterVertical;
                    weekM2.Text    = (dWeekM == -2) ? pharmacy.prev.ToString(@"d") : string.Empty;
                    cRow.AddView(weekM2);

                    TextView weekM1 = GetItem(ColumnPosition.cpMiddle);
                    weekM1.Gravity = GravityFlags.CenterVertical;
                    weekM1.Text    = (dWeekM == -1) ? pharmacy.prev.ToString(@"d") : string.Empty;
                    cRow.AddView(weekM1);

//					ImageView action = GetImageItem (ColumnPosition.cpMiddle);
//					action.SetImageResource (Resource.Drawable.ic_adjust_black_24dp);
//					action.SetTag (Resource.String.pharmacyID, pharmacy.id);
//					action.Click += Action_Click;
//					cRow.AddView (action);

                    Button action = GetButtonItem(ColumnPosition.cpMiddle);
                    action.Text = DateTime.Now.ToString(@"d");
                    action.SetTag(Resource.String.pharmacyID, pharmacy.id);
                    action.Click += Action_Click;
                    cRow.AddView(action);

                    TextView weekP1 = GetItem(ColumnPosition.cpMiddle);
                    weekP1.Gravity = GravityFlags.CenterVertical;
                    weekP1.Text    = (dWeekP == 1) ? pharmacy.next.ToString(@"d") : string.Empty;
                    cRow.AddView(weekP1);

                    TextView weekP2 = GetItem(ColumnPosition.cpLast);
                    weekP2.Gravity = GravityFlags.CenterVertical;
                    weekP2.Text    = (dWeekP == 2) ? pharmacy.next.ToString(@"d") : string.Empty;
                    cRow.AddView(weekP2);

                    pharamcyTable.AddView(cRow);
                }
            }
        }
예제 #8
0
    void SetupRight(PharmacyManager.DrugMerge order)
    {
        GUIScrollMenu[] menus = list.GetMenus();
        List<string> entries = new List<string>();
        List<PharmacyManager.DrugMerge.DoseOrder> doses = order.doses;

        // Doses
        foreach (PharmacyManager.DrugMerge.DoseOrder dose in doses)
        {
            entries.Add(dose.amount.ToString() + dose.type.ToString());
        }
        menus[1].Setup(entries);

        entries.Clear();
        // Deliveries
        foreach (PharmacyManager.DrugMerge.DeliveryOrder delivery in order.delivery)
        {
            entries.Add(delivery.type.ToString());
        }
        menus[2].Setup(entries);

        entries.Clear();
        // Intervals
        foreach(PharmacyManager.DrugMerge.IntervalOrder interval in order.intervals)
        {
            entries.Add(interval.amount.ToString() + " " + interval.type.ToString());
        }
        menus[3].Setup(entries);
    }
예제 #9
0
    public override void Initialize(ScreenInfo parent)
    {
        base.Initialize(parent);

        pManager = PharmacyManager.GetInstance();

        List<GUIObject> temp = FindObjectsOfType(typeof(GUIDrugList));
        if (temp != null || temp.Count > 0)
            list = temp[0] as GUIDrugList;

        temp = FindObjectsOfType(typeof(GUIOrderCart));
        if (temp != null || temp.Count > 0)
            cart = temp[0] as GUIOrderCart;

        SetupLeft();
        // Test
        //cart.text = "TestText";

        order = new GDOrder();
        cartedOrders.Clear();
    }