示例#1
0
        public OwnFeeResult creditRowOnPatientsOrder(string onr, string row)
        {
            OrderRowFunc oOR = new OrderRowFunc();
            OrderRowDefinitions.OrderRow or = oOR.getRow(onr, row);
            OwnFeeResult ofr = new OwnFeeResult();

            // Orderrad på patientens order
            string rownr = oOR.addNewRow(onr, "", "EA");
            or.OrderNo = onr;
            or.AidNr = "";
            or.Rad = rownr;
            or.Artikel = "EA";
            or.Antal = "0";
            or.Beloppsrad = true;

            try
            {
                or.APris = ECS.doubleToString(ECS.stringToDouble(or.APris) * -1, '.');
                oOR.saveOrderRow(or, false, false);
            }
            catch
            {
                MessageBox.Show(null, "Inget gilltigt belopp", "Fel inmatning (2)", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            if (or.Levstatus.Equals("5"))
                ofr.FsNo = oOR.deliverOwnFeeRow(or.OrderNo, or.Rad, or.Antal, "", mFsNr);
            else
                ofr.FsNo = "";

            ofr.OrderNo = or.OrderNo;
            ofr.OrderRow = or.Rad;

            return ofr;
        }
示例#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;
        }
示例#3
0
        private string createRowOnOriginalOrder()
        {
            OrderRowFunc oOR = new OrderRowFunc();
            string rownr = oOR.addNewRow(mOnr, mAidId, "EA");

            // Orderrad på grundordern
            mOr.OrderNo = mOnr;
            mOr.AidNr = mAidId;
            mOr.Rad = rownr;
            mOr.Artikel = "EA";
            mOr.Antal = "0";
            mOr.Beloppsrad = true;

            try
            {
                if (double.Parse(mAmount) > 0)
                    mOr.APris = "-" + mAmount;
                else
                    mOr.APris = mAmount.Replace("-", "");
            }
            catch
            {
                MessageBox.Show(null, "Inget gilltigt belopp", "Fel inmatning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            mOr.AidDate = "";
            mOr.SelectedHandler = "";
            mOr.Prodstatus = "";
            mOr.LevTid = "";
            mOr.Text = "";
            mOr.EA_ProductGroup = mProductGroup;

            oOR.saveOrderRow(mOr, false, false);

            return mOnr.PadRight(6) + " - " + rownr;

            // *****	Borttagen för att få egenavgifter med på samma FS som hjälpmedel
            //				Överenskommelse med PN 2005-09-29
            //			oOR.deliverOwnFeeRow(mOr.OrderNo,mOr.Rad, mOr.Antal,"","A");
        }
        private bool createObject()
        {
            try
            {
                frmControler = FormControler.getInstance();

                oCust = new CustomerFunc();
                oOH = new orderFunc();
                oOR = new OrderRowFunc();
                oErr = new ErrandFunc();
                oCon = new Contacts();
                oPrislista = new Prislista();
                oDelM = new DeliveryMode();
                oDiagnos = new Diagnos();
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, "Garp verkar inte vara startat eller så inträffades \nett fel vid start (se felmeddelande), prova att starta Garp \noch försök igen \n\n(" + ex.Message + ")", "Fel vid start", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
                return false;
            }
            return true;
        }
示例#5
0
        private void createOwnFee(string bvk, string namn, string adress1, string adress2, string ort)
        {
            OrderRowFunc oOR = new OrderRowFunc();
            string sPG = "";

            try
            {
                sPG = cboProdGroup.Text.Substring(0, 2).Trim();
            }
            catch
            {
                sPG = "";
            }

            string sFsNr = of.createOwnFee(mKnr, mOnr, mAidId, bvk, txtAvgift.Text, txtNamn.Text, txtAddress1.Text, txtAddress2.Text, txtOrt.Text, sPG);
            if (!GCS.GCF.noNULL(sFsNr).Equals(""))
                oOR.printInvoice(mDokGen, mReport, sFsNr);
        }
示例#6
0
        private bool checkProduct(OrderRowFunc.Product[] pr)
        {
            OrderRowFunc.Product selProd = new OrderRowFunc.Product();

            if (pr.Length == 0) // Ingen artikel hittades
            {
                MessageBox.Show("Artikeln finns inte.", "Artikel saknas", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }
            else if (pr.Length > 1) // Fler än en artikel hittades
            {
                int i = -1;
                Ortoped.Dialogs.frmDiagProduct oProd = new Ortoped.Dialogs.frmDiagProduct(OrderRowFunc.Product.convertToListView(pr), ref i);
                oProd.ShowDialog();
                selProd = oOR.findProductByID(oProd.selProd)[0];
                oProd.Dispose();
            }
            else	// Endast en artikel hittades
            {
                selProd = pr[0];
            }

            if (selProd.ProductNr != null)
            {
                // Uppdatera fält
                txtANR.Text = selProd.ProductNr;
                txtBEN.Text = selProd.ProductName;
                txtPRI.Text = selProd.Apris;
                return true;
            }
            else return false;
        }
示例#7
0
        /// <summary>
        /// Connect to Thord and update referrals with new data
        /// </summary>
        /// <param name="refs">Array of Referrals</param>
        /// <param name="garpaids">Array of New Aid Definitions</param>
        public bool sendReferral(Referral referral)
        {
            referralupdates refupdate = new referralupdates();
            ReferralUpdateDefinition[] ru = new ReferralUpdateDefinition[1];
            AidsUpdateDefinition aids = new AidsUpdateDefinition();
            referrals refReturned;
            OrderRowFunc oOR = new OrderRowFunc();

            // If aids exists
            if (referral.aids.Length > 0)
            {
                if (referral.aids[0].CreatedInThord)
                {
                    aids.aidupdate = createAidUpdateObject(referral.aids[0]);
                }
                else
                {
                    aids.newaid = createAidNewObject(referral.aids[0]);
                }
            }

            ru[0] = new ReferralUpdateDefinition();
            ru[0].referralnumber = referral.remissid;
            ru[0].aids = aids;

            refupdate.referralupdate = ru;

            try
            {
                // Talk to the old man
                refReturned = tdProxy.UpdateReferrals(refupdate);

                foreach (AidDefinition ad in refReturned.referral[0].aids.aid)
                {
                    if ((referral.aids[0].orderno.PadRight(6, '_') + referral.aids[0].row.Trim()).Equals(ad.externalaidid))
                    {
                        oOR.updateOid(ad.externalaidid.Substring(0, 6).Replace("_", ""), ad.externalaidid.Substring(6), ad.aidoid.ToString(), "0");

                        // If any parts are present
                        if (ad.parts != null)
                        {
                            foreach (PartDefinition p in ad.parts.part)
                            {
                                oOR.updateOid(p.externalpartid.Substring(0, 6).Replace("_", ""), p.externalpartid.Substring(6), ad.aidoid.ToString(), p.partoid.ToString());
                            }
                        }
                    }

                    // If whole aid should be removed
                    // OBS! This code must exists after ordinary UpdateReferrals, all parts must be
                    // removed before vi can remove the aid.
                    if (referral.aids[0].RemoveMe)
                    {
                        aids = new AidsUpdateDefinition();
                        ru[0] = new ReferralUpdateDefinition();

                        ru[0].referralnumber = referral.remissid;
                        ru[0].aids = aids;
                        refupdate.referralupdate = ru;

                        aids.removeaid = createAidRemoveObject(referral.aids[0]);

                        // Talk to the old man
                        try
                        {
                            refReturned = tdProxy.UpdateReferrals(refupdate);
                            MessageBox.Show("Hjälpmedlet (" + referral.aids[0].aidoid.ToString() + ") har tagits bort från Thord", "Meddelande från Thord");
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Vid radering av hjälpmedel uppstod ett fel:\n" + ex.Message, "Meddelande från Thord");
                            Log4Net.Logger.loggError(ex, "THORD: SendReferral/RemoveReferral:", Config.User, "ThordFunction.sendReferral");
                        }
                    }
                }
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Meddelande från Thord");
                Log4Net.Logger.loggError(ex, "THORD: SendReferral", Config.User, "");
                return false;
            }
        }