Exemplo n.º 1
0
        public OrderRowDefinitions.OrderRow addNewAid(string onr)
        {
            OrderRowDefinitions.OrderRow or = new OrderRowDefinitions.OrderRow();
            string s = "";

            // Avbryt om ordern är stängd
            if (!isOrderOpen(onr))
                return or;

            s = mOR.getNextAidId(onr);

            return mOR.doInsert(onr, s, "");
        }
Exemplo n.º 2
0
        private string createRowOnPatientsOrder()
        {
            orderFunc oOH = new orderFunc();
            OrderRowFunc oOR = new OrderRowFunc();
            OrderHeadDefinition oh = oOH.addOH(mKnr);

            if (oh == null)
            {
                return "";
            }

            oh.OrderType = "E";
            oh.PaymentCondition = mBvk;
            oOH.saveOH(oh);
            oOH.changeAddress(oh.OrderNo, mNamn, mAdress1, mAdress2, mOrt);

            // Orderrad på patientens order
            string rownr = oOR.addNewRow(oh.OrderNo, "", "EA");
            mOr = new OrderRowDefinitions.OrderRow();
            mOr.OrderNo = oh.OrderNo;
            mOr.AidNr = "";
            mOr.Rad = rownr;
            mOr.Artikel = "EA";
            mOr.Antal = "0";
            //			mOr.AccountNo = oOR.getAccountOnAid(mOnr, mAidId);
            mOr.Beloppsrad = true;
            mOr.EA_ProductGroup = mProductGroup;

            try
            {
                mOr.APris = mAmount;
                oOR.saveOrderRow(mOr, false, false);
            }
            catch
            {
                MessageBox.Show(null, "Inget gilltigt belopp", "Fel inmatning (2)", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            mFsNr = oOR.deliverOwnFeeRow(mOr.OrderNo, mOr.Rad, mOr.Antal, "", mFsNr);

            return mOr.OrderNo.PadRight(6) + " - " + mOr.Rad;
        }
Exemplo n.º 3
0
        private OrderRowDefinitions.OrderRow fillOrderRow(ref GarpGenericDB data)
        {
            mOGR2.find(data.getValue("ONR").PadRight(6) + data.getValue("RDC").PadLeft(3));

            OrderRowDefinitions.OrderRow or = new OrderRowDefinitions.OrderRow();
            fillFieldsFromOtherTables(data.getValue("ONR"), data.getValue("RDC"));

            or.OrderNo = data.getValue("ONR");
            or.Rad = data.getValue("RDC");
            or.AidNr = getFormatedAidId(data.getValue("NX1"));
            or.Artikel = data.getValue("ANR");
            or.ProductName = oProduct.getNameById(data.getValue("ANR"));
            or.Antal = data.getValue("ORA");

            if (isInternalProduct(or.Artikel))
                or.APris = mOGR.getValue("LVP");
            else
                or.APris = mOGR.getValue("PRI");

            or.LevTid = data.getValue("LDT");
            or.InkStat = data.getValue("INK");
            or.Enhet = data.getValue("ENH");
            or.AidDate = getFormatedAidDate(data.getValue("DIM"));
            or.Prodstatus = oProdStat.getTable(data.getValue("RES")).TX1;
            or.SelectedHandler = data.getValue("BNX");
            or.Levstatus = data.getValue("LVF");
            //or.DeliverMode = getDeliverMode(or.OrderNo);
            or.Text = orText.getTexts(or.OrderNo, or.Rad);
            or.AidsText = orText.getAidsText(or.OrderNo, or.Rad);
            or.ViewInList = mOGR.getValue("X1F").Equals("x") ? true : false;
            or.Warrenty = mOGR.getValue("RBK").Equals("G") ? true : false;
            or.Beloppsrad = mOGR.getValue("BRA").Equals("*") ? true : false;
            or.DeliverDate = GCF.noNULL(mDeliverDate);
            or.InvoiceNo = GCF.noNULL(mInvoiceNo);;
            or.InvoiceDate = GCF.noNULL(mInvoiceDate);;
            or.Thord_NeedStep = mOGR2.getValue("C2A");
            or.AidPriority = mOGR2.getValue("C2B");

            try
            {
                or.AidOid = 0;
                int.TryParse(mOGR2.getValue("NU5"), out or.AidOid);
            }
            catch(Exception e)
            {
                or.AidOid = 0;
            }

            try
            {
                or.PartOid = 0;
                int.TryParse(mOGR2.getValue("NU6"), out or.PartOid);
            }
            catch (Exception e)
            {
                or.PartOid = 0;
            }

            or.CreatedInThord = data.getValue("X2F").Equals("1") ? true : false;
            or.FirstTimePatient = mOGR2.getValue("C1A").Equals("1") ? true : false;
            or.EA_ProductGroup = mOGR.getValue("EXT");
            or.ProductionTitle = mOGR2.getValue("C20") + mOGR2.getValue("C10");
            or.Urgent = mOGR2.getValue("C1B").Equals("1") ? true : false;
            or.Priority = mOGR2.getValue("C1C");

            string[] s = { "yyMMdd", "yyyyMMdd", "yyyy-MM-dd" };
            try
            {
                DateTime dt;
                DateTime.TryParseExact(mOGR2.getValue("C06"), s, new CultureInfo("sv-SE"), DateTimeStyles.AssumeLocal, out dt);

                if (dt.AddYears(50) < DateTime.Now)
                    or.PromisedDeliverDate = null;
                else
                    or.PromisedDeliverDate = dt;
            }
            catch { or.PromisedDeliverDate = null; }

            try
            {
                DateTime dt;
                DateTime.TryParseExact(mOGR2.getValue("C07").Trim(), s, new CultureInfo("sv-SE"), DateTimeStyles.AssumeLocal, out dt);

                if (dt.AddYears(50) < DateTime.Now)
                    or.ConditionDate = null;
                else
                    or.ConditionDate = dt;
            }
            catch { or.ConditionDate = null; }

            or.Holder = mOGR2.getValue("C05") == "" ? null : mOGR2.getValue("C05");
            return or;
        }
Exemplo n.º 4
0
        public bool removeRow(string onr, string row)
        {
            OrderRowDefinitions.OrderRow delRow = new OrderRowDefinitions.OrderRow();
            Referral r = new Referral();

            // Avbryt om ordern är stängd
            if (!isOrderOpen(onr))
                return false;

            delRow = getRow(onr, row);

            // Only if Thord user
            if (Config.IsThordUser)
            {
                r = garpref.getReferralForRemovalOfPart(delRow.OrderNo, delRow.AidNr, row);
            }

            // Om denna rad är den som visas i översikten så visa en annan rad istället.
            if (getViewState(onr, row))
            {
                //string id = mOR.AidID;
                mOR.doDelete(onr, row);
                OrderRowDefinitions.OrderRow[] or = mOR.getAid(onr, delRow.AidNr, false).OrderRows.ToArray(); ;
                if (or.Length > 0)
                    setAsViewInList(or[0].OrderNo, or[0].AidNr, or[0].Rad);
            }
            else
                mOR.doDelete(onr, row);

            // Only if Thord user
            if (Config.IsThordUser)
            {
                if (delRow.CreatedInThord && !r.remissid.Equals(""))
                {
                    thordfunc.sendReferral(r);
                }
            }

            return true;
        }
Exemplo n.º 5
0
        private void updateOrderRowDetailPane(Definitions.Aid aid, bool updatelistview)
        {
            OrderRowDefinitions.OrderRow or = new OrderRowDefinitions.OrderRow();

            if (updatelistview)
            {
                clearOrderrowDetailPane(false);
                or = aid.Product;
            }
            else
            {
                string row = lwAidRows.SelectedItems[0].Tag.ToString();

                foreach (OrderRowDefinitions.OrderRow o in aid.OrderRows)
                {
                    if (o.Rad.Equals(row))
                    {
                        or = o;
                        break;
                    }
                }

                if (or.OrderNo == null)
                {
                    or = aid.Product;
                    MessageBox.Show("Den markerade raden hittades inte, hjälpmedlet sätt som aktiv rad istället");
                }
            }

            // Abort if no orderrow was found
            if (GCF.noNULL(aid.OrderNo).Equals(""))
                return;

            cboHandler.Text = or.SelectedHandler;

            labSumInternal.Text = aid.SumInternalProducts.ToString() + ":-";
            labSumExternal.Text = aid.SumExternalProducts.ToString() + ":-";

            // Hide combobox if selected handler is not found (and selected handler is not "")
            if ((cboHandler.FindStringExact(or.SelectedHandler.Trim()) == -1) && !or.SelectedHandler.Trim().Equals(""))
            {
                cboHandler.Visible = false;
                txtHandler.Visible = true;
                cboHandler.SelectedIndex = 0; // clear text
                txtHandler.Text = or.SelectedHandler;
            }
            else
            {
                cboHandler.Visible = true;
                txtHandler.Visible = false;
                txtHandler.Text = ""; // clear text
                cboHandler.SelectedIndex = cboHandler.FindStringExact(or.SelectedHandler);
            }

            txtAidId.Text = or.AidNr;
            txtOR_ONR.Text = or.OrderNo;
            txtRDC.Text = or.Rad;
            cboProdStatus.Text = "";
            cboProdStatus.Text = or.Prodstatus;
            txtOrDatum.Text = or.AidDate;
            txtLevDate.Text = or.LevTid;
            txtAidOid.Text = or.AidOid.ToString();
            txtPartOid.Text = or.PartOid.ToString();
            chkFirstTimePatient.Checked = or.FirstTimePatient;

            if (or.Levstatus.Equals("5"))
                txtLevDate.Enabled = false;
            else
                txtLevDate.Enabled = true;

            txtANR.Text = or.Artikel;
            txtBEN.Text = or.ProductName;
            txtORA.Text = or.Antal;
            txtPRI.Text = or.APris;
            labORA.Text = "Antal ( " + or.Enhet.Trim() + " )";
            //			cboHandler.Text = or.SelectedHandler;
            txtOrText.Text = or.Text;
            setBestallSelektion(or.InkStat);
            chkViewState.Checked = or.ViewInList;
            chkGaranti.Checked = or.Warrenty;
            cboAidPriority.Text = oDelM.getNameByKey(or.AidPriority);
            cboNeedStep.SelectedIndex = cboNeedStep.FindString(or.Thord_NeedStep);
            chkUpdatedInThord.Checked = or.CreatedInThord;
            txtProductionTitle.Text = or.ProductionTitle;
            chkUrgent.Checked = or.Urgent;
            //dtpPromisedDeliverDate.Value = or.PromisedDeliverDate.Value;
            //dtpConditionDate.Value = or.ConditionDate.Value;
            txtConditionDate.Text = or.ConditionDate.HasValue ? or.ConditionDate.Value.ToString("yyMMdd") : "";
            txtPromisedDeliverDate.Text = or.PromisedDeliverDate.HasValue ? or.PromisedDeliverDate.Value.ToString("yyMMdd") : "";
            txtHolder.Text = or.Holder;

            grbArtList.Enabled = true;

            if (or.Levstatus.Equals("0"))
            {
                grbAid.Enabled = true;
                grbArt.Enabled = true;
            }
            else
            {
                grbAid.Enabled = false;
                grbArt.Enabled = false;
            }

            if (updatelistview)
            {
                //ignoreItemCheckEvent = true;
                lwAidRows.Items.Clear();
                lwAidRows.Items.AddRange(OrderRowDefinitions.OrderRow.convertToSmallListView(oOR.getAid(or.OrderNo, or.AidNr, false).OrderRows.ToArray()));
                this.lwAidRows.ListViewItemSorter = new ListViewItemComparer(3);
                //ignoreItemCheckEvent = false;
                try
                {
                    ListViewItem[] slw = lwAidRows.Items.Find(or.Rad, true);
                    int i = slw[0].Index;
                    lwAidRows.Items[i].Selected = true;
                }
                catch (Exception e)
                {
                    Log4Net.Logger.loggError(e, "", Config.User, "");
                }
            }

            // If row is not createded inThord, but should be, set it as changed to trigg saving pricedure
            if (!or.CreatedInThord && !GCF.noNULL(or.RemissNo).Equals(""))
            {
                valueNotChangedOR(null, null);
            }

            //bORChanged = false;
            //pnlORSaved.Text = "Orderrad ändrad: NEJ";
        }
Exemplo n.º 6
0
        /// <summary>
        /// Function to fill object that is passed to SaveOrderRow function (in OrderRowFunc)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="fillprice"></param>
        /// <returns></returns>
        private OrderRowDefinitions.OrderRow fillOrderRow(object sender, bool fillprice)
        {
            OrderRowDefinitions.OrderRow or = new OrderRowDefinitions.OrderRow();

            saveOrder(false);

            // Changed row below in in a atemt to get rid of problem with orderrows that
            // are saved to wrong orderno. Now we always use the orderno from the row itself.
            //frmControler.CurrentOH.OrderNo;
            or.OrderNo = txtOR_ONR.Text;
            or.AidDate = txtOrDatum.Text;
            or.AidNr = txtAidId.Text;
            or.Rad = txtRDC.Text;
            if (cboHandler.Text.Trim().Equals(""))
                or.SelectedHandler = txtHandler.Text;
            else
                or.SelectedHandler = cboHandler.Text;
            or.Prodstatus = cboProdStatus.Text;
            or.LevTid = txtLevDate.Text;
            or.AidPriority = oDelM.getKeyByName(cboAidPriority.Text);
            or.Artikel = txtANR.Text;
            or.Antal = txtORA.Text == "" ? "0" : txtORA.Text;
            //if (fillprice)
            or.APris = txtPRI.Text == "" ? "0" : txtPRI.Text;
            or.Text = txtOrText.Text;
            or.InkStat = getBestallSelektion();
            or.Warrenty = chkGaranti.Checked;
            or.RemissNo = labRemissNr.Text;
            int.TryParse(txtAidOid.Text.Trim(), out or.AidOid);
            int.TryParse(txtPartOid.Text.Trim(), out or.PartOid);
            or.FirstTimePatient = chkFirstTimePatient.Checked;
            or.ProductionTitle = txtProductionTitle.Text;
            or.Urgent = chkUrgent.Checked;

            try
            {
                or.PromisedDeliverDate =  DateTime.ParseExact(txtPromisedDeliverDate.Text, "yyMMdd", new CultureInfo("sv-SE"));
            }
            catch
            {
                or.PromisedDeliverDate = null;
            }

            try
            {
                or.ConditionDate =  DateTime.ParseExact(txtConditionDate.Text, "yyMMdd", new CultureInfo("sv-SE"));
            }
            catch
            {
                or.ConditionDate = null;
            }

            try
            {
                or.Thord_NeedStep = cboNeedStep.Text.Substring(0, 2).Trim();
            }
            catch
            {
                or.Thord_NeedStep = "";
            }
            if (lwAidRows.Items.Count == 0)
                or.ViewInList = true;
            else
            {
                or.ViewInList = chkViewState.Checked;
            }

            return or;
        }