Ejemplo n.º 1
0
 private void butMakeActive_Click(object sender, EventArgs e)
 {
     _makeActive = true;          //affects the OK click
     if (TreatPlanCur.TPStatus == TreatPlanStatus.Inactive && TreatPlanCur.Heading == Lan.g("TreatPlan", "Unassigned"))
     {
         _treatPlanUnassigned = new TreatPlan();
         TreatPlanCur.Heading = Lan.g("TreatPlan", "Active Treatment Plan");
         textHeading.Text     = TreatPlanCur.Heading;
     }
     if (TreatPlanCur.TPStatus == TreatPlanStatus.Inactive && TreatPlanCur.Heading == Lan.g("TreatPlan", "Inactive Treatment Plan"))
     {
         TreatPlanCur.Heading = Lan.g("TreatPlan", "Active Treatment Plan");
         textHeading.Text     = TreatPlanCur.Heading;
     }
     TreatPlanCur.TPStatus = TreatPlanStatus.Active;
     butMakeActive.Enabled = false;
     gridTP.Title          = Lan.g("TreatPlan", "Treatment Planned Procedures");
     labelHeading.Visible  = true;
     textHeading.Visible   = true;
     labelNote.Visible     = true;
     textNote.Visible      = true;
     gridAll.Visible       = true;
     butLeft.Visible       = true;
     butRight.Visible      = true;
     butOK.Enabled         = true;
     butDelete.Visible     = true;
     butDelete.Enabled     = false;
     _listTpProcsCur.RemoveAll(x => x.AptNum > 0 || x.PlannedAptNum > 0);         //to prevent duplicate additions
     _listTpProcsCur.AddRange(_listTpProcsAll.FindAll(x => x.AptNum > 0 || x.PlannedAptNum > 0));
     FillGrids();
 }
Ejemplo n.º 2
0
        ///<summary>Updates one TreatPlan in the database.</summary>
        public static void Update(TreatPlan treatPlan)
        {
            string command = "UPDATE treatplan SET "
                             + "PatNum          =  " + POut.Long(treatPlan.PatNum) + ", "
                             + "DateTP          =  " + POut.Date(treatPlan.DateTP) + ", "
                             + "Heading         = '" + POut.String(treatPlan.Heading) + "', "
                             + "Note            =  " + DbHelper.ParamChar + "paramNote, "
                             + "Signature       =  " + DbHelper.ParamChar + "paramSignature, "
                             + "SigIsTopaz      =  " + POut.Bool(treatPlan.SigIsTopaz) + ", "
                             + "ResponsParty    =  " + POut.Long(treatPlan.ResponsParty) + ", "
                             + "DocNum          =  " + POut.Long(treatPlan.DocNum) + ", "
                             + "TPStatus        =  " + POut.Int((int)treatPlan.TPStatus) + ", "
                             //SecUserNumEntry excluded from update
                             //SecDateEntry not allowed to change
                             //SecDateTEdit can only be set by MySQL
                             + "UserNumPresenter=  " + POut.Long(treatPlan.UserNumPresenter) + ", "
                             + "TPType          =  " + POut.Int((int)treatPlan.TPType) + " "
                             + "WHERE TreatPlanNum = " + POut.Long(treatPlan.TreatPlanNum);

            if (treatPlan.Note == null)
            {
                treatPlan.Note = "";
            }
            OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, POut.StringParam(treatPlan.Note));

            if (treatPlan.Signature == null)
            {
                treatPlan.Signature = "";
            }
            OdSqlParameter paramSignature = new OdSqlParameter("paramSignature", OdDbType.Text, POut.StringParam(treatPlan.Signature));

            Db.NonQ(command, paramNote, paramSignature);
        }
Ejemplo n.º 3
0
 public static void CI_RemoveTreatmentPlan(long mobileDeviceNum, TreatPlan treatPlan)
 {
     SendPushBackground(PushType.CI_RemoveTreatmentPlan, mobileDeviceNum, listPrimaryKeys: new List <long>()
     {
         treatPlan.PatNum, treatPlan.TreatPlanNum
     });
 }
Ejemplo n.º 4
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <TreatPlan> TableToList(DataTable table)
        {
            List <TreatPlan> retVal = new List <TreatPlan>();
            TreatPlan        treatPlan;

            foreach (DataRow row in table.Rows)
            {
                treatPlan = new TreatPlan();
                treatPlan.TreatPlanNum     = PIn.Long(row["TreatPlanNum"].ToString());
                treatPlan.PatNum           = PIn.Long(row["PatNum"].ToString());
                treatPlan.DateTP           = PIn.Date(row["DateTP"].ToString());
                treatPlan.Heading          = PIn.String(row["Heading"].ToString());
                treatPlan.Note             = PIn.String(row["Note"].ToString());
                treatPlan.Signature        = PIn.String(row["Signature"].ToString());
                treatPlan.SigIsTopaz       = PIn.Bool(row["SigIsTopaz"].ToString());
                treatPlan.ResponsParty     = PIn.Long(row["ResponsParty"].ToString());
                treatPlan.DocNum           = PIn.Long(row["DocNum"].ToString());
                treatPlan.TPStatus         = (OpenDentBusiness.TreatPlanStatus)PIn.Int(row["TPStatus"].ToString());
                treatPlan.SecUserNumEntry  = PIn.Long(row["SecUserNumEntry"].ToString());
                treatPlan.SecDateEntry     = PIn.Date(row["SecDateEntry"].ToString());
                treatPlan.SecDateTEdit     = PIn.DateT(row["SecDateTEdit"].ToString());
                treatPlan.UserNumPresenter = PIn.Long(row["UserNumPresenter"].ToString());
                treatPlan.TPType           = (OpenDentBusiness.TreatPlanType)PIn.Int(row["TPType"].ToString());
                retVal.Add(treatPlan);
            }
            return(retVal);
        }
Ejemplo n.º 5
0
 ///<summary>Attempts to send a push notificaiton to the given mobileAppDeviceNum so that the device can view treatPlan and PDF.
 ///Returns true if no error occured, otherwise false and errorMsg is set.</summary>
 public static bool CI_SendTreatmentPlan(PdfDocument doc, TreatPlan treatPlan, bool hasPracticeSig, long mobileAppDeviceNum
                                         , out string errorMsg, out long mobileDataByteNum)
 {
     mobileDataByteNum = -1;
     try {
         if (MobileDataBytes.TryInsertPDF(doc, treatPlan.PatNum, null, eActionType.TreatmentPlan, out mobileDataByteNum, out errorMsg,
                                          new List <string>()
         {
             treatPlan.Heading, hasPracticeSig.ToString(), treatPlan.DateTP.Ticks.ToString()
         }))
         {
             SendPushBackground(PushType.CI_TreatmentPlan, mobileAppDeviceNum
                                , listPrimaryKeys: new List <long>()
             {
                 mobileDataByteNum, treatPlan.PatNum, treatPlan.TreatPlanNum
             }
                                , listTags: new List <string>()
             {
                 treatPlan.Heading, hasPracticeSig.ToString(), treatPlan.DateTP.Ticks.ToString()
             }
                                , runAsync: true
                                );
         }
     }
     catch (Exception ex) {
         errorMsg = ex.Message;
     }
     return(errorMsg.IsNullOrEmpty());
 }
Ejemplo n.º 6
0
 ///<summary>Inserts one TreatPlan into the database.  Returns the new priKey.</summary>
 public static long Insert(TreatPlan treatPlan)
 {
     if (DataConnection.DBtype == DatabaseType.Oracle)
     {
         treatPlan.TreatPlanNum = DbHelper.GetNextOracleKey("treatplan", "TreatPlanNum");
         int loopcount = 0;
         while (loopcount < 100)
         {
             try {
                 return(Insert(treatPlan, true));
             }
             catch (Oracle.DataAccess.Client.OracleException ex) {
                 if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated"))
                 {
                     treatPlan.TreatPlanNum++;
                     loopcount++;
                 }
                 else
                 {
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else
     {
         return(Insert(treatPlan, false));
     }
 }
Ejemplo n.º 7
0
        ///<summary>Inserts one TreatPlan into the database.  Provides option to use the existing priKey.</summary>
        public static long Insert(TreatPlan treatPlan, bool useExistingPK)
        {
            if (!useExistingPK && PrefC.RandomKeys)
            {
                treatPlan.TreatPlanNum = ReplicationServers.GetKey("treatplan", "TreatPlanNum");
            }
            string command = "INSERT INTO treatplan (";

            if (useExistingPK || PrefC.RandomKeys)
            {
                command += "TreatPlanNum,";
            }
            command += "PatNum,DateTP,Heading,Note,Signature,SigIsTopaz,ResponsParty) VALUES(";
            if (useExistingPK || PrefC.RandomKeys)
            {
                command += POut.Long(treatPlan.TreatPlanNum) + ",";
            }
            command +=
                POut.Long(treatPlan.PatNum) + ","
                + POut.Date(treatPlan.DateTP) + ","
                + "'" + POut.String(treatPlan.Heading) + "',"
                + "'" + POut.String(treatPlan.Note) + "',"
                + "'" + POut.String(treatPlan.Signature) + "',"
                + POut.Bool(treatPlan.SigIsTopaz) + ","
                + POut.Long(treatPlan.ResponsParty) + ")";
            if (useExistingPK || PrefC.RandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                treatPlan.TreatPlanNum = Db.NonQ(command, true);
            }
            return(treatPlan.TreatPlanNum);
        }
Ejemplo n.º 8
0
        ///<summary></summary>
        private static void Insert(TreatPlan tp)
        {
            if (PrefB.RandomKeys)
            {
                tp.TreatPlanNum = MiscData.GetKey("treatplan", "TreatPlanNum");
            }
            string command = "INSERT INTO treatplan (";

            if (PrefB.RandomKeys)
            {
                command += "TreatPlanNum,";
            }
            command += "PatNum,DateTP,Heading,Note) VALUES(";
            if (PrefB.RandomKeys)
            {
                command += "'" + POut.PInt(tp.TreatPlanNum) + "', ";
            }
            command +=
                "'" + POut.PInt(tp.PatNum) + "', "
                + POut.PDate(tp.DateTP) + ", "
                + "'" + POut.PString(tp.Heading) + "', "
                + "'" + POut.PString(tp.Note) + "')";
            if (PrefB.RandomKeys)
            {
                General.NonQ(command);
            }
            else
            {
                tp.TreatPlanNum = General.NonQ(command, true);
            }
        }
Ejemplo n.º 9
0
 ///<summary>Inserts one TreatPlan into the database.  Returns the new priKey.</summary>
 internal static long Insert(TreatPlan treatPlan)
 {
     if(DataConnection.DBtype==DatabaseType.Oracle) {
         treatPlan.TreatPlanNum=DbHelper.GetNextOracleKey("treatplan","TreatPlanNum");
         int loopcount=0;
         while(loopcount<100){
             try {
                 return Insert(treatPlan,true);
             }
             catch(Oracle.DataAccess.Client.OracleException ex){
                 if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){
                     treatPlan.TreatPlanNum++;
                     loopcount++;
                 }
                 else{
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else {
         return Insert(treatPlan,false);
     }
 }
Ejemplo n.º 10
0
 ///<summary>Inserts one TreatPlan into the database.  Provides option to use the existing priKey.</summary>
 internal static long Insert(TreatPlan treatPlan,bool useExistingPK)
 {
     if(!useExistingPK && PrefC.RandomKeys) {
         treatPlan.TreatPlanNum=ReplicationServers.GetKey("treatplan","TreatPlanNum");
     }
     string command="INSERT INTO treatplan (";
     if(useExistingPK || PrefC.RandomKeys) {
         command+="TreatPlanNum,";
     }
     command+="PatNum,DateTP,Heading,Note,Signature,SigIsTopaz,ResponsParty) VALUES(";
     if(useExistingPK || PrefC.RandomKeys) {
         command+=POut.Long(treatPlan.TreatPlanNum)+",";
     }
     command+=
              POut.Long  (treatPlan.PatNum)+","
         +    POut.Date  (treatPlan.DateTP)+","
         +"'"+POut.String(treatPlan.Heading)+"',"
         +"'"+POut.String(treatPlan.Note)+"',"
         +"'"+POut.String(treatPlan.Signature)+"',"
         +    POut.Bool  (treatPlan.SigIsTopaz)+","
         +    POut.Long  (treatPlan.ResponsParty)+")";
     if(useExistingPK || PrefC.RandomKeys) {
         Db.NonQ(command);
     }
     else {
         treatPlan.TreatPlanNum=Db.NonQ(command,true);
     }
     return treatPlan.TreatPlanNum;
 }
Ejemplo n.º 11
0
 ///<summary></summary>
 public FormTreatPlanEdit(TreatPlan planCur)
 {
     //
     // Required for Windows Form Designer support
     //
     InitializeComponent();
     Lan.F(this);
     PlanCur = planCur.Copy();
 }
Ejemplo n.º 12
0
        ///<summary>Inserts one TreatPlan into the database.  Provides option to use the existing priKey.  Doesn't use the cache.</summary>
        public static long InsertNoCache(TreatPlan treatPlan, bool useExistingPK)
        {
            bool   isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys);
            string command      = "INSERT INTO treatplan (";

            if (!useExistingPK && isRandomKeys)
            {
                treatPlan.TreatPlanNum = ReplicationServers.GetKeyNoCache("treatplan", "TreatPlanNum");
            }
            if (isRandomKeys || useExistingPK)
            {
                command += "TreatPlanNum,";
            }
            command += "PatNum,DateTP,Heading,Note,Signature,SigIsTopaz,ResponsParty,DocNum,TPStatus,SecUserNumEntry,SecDateEntry,UserNumPresenter,TPType) VALUES(";
            if (isRandomKeys || useExistingPK)
            {
                command += POut.Long(treatPlan.TreatPlanNum) + ",";
            }
            command +=
                POut.Long(treatPlan.PatNum) + ","
                + POut.Date(treatPlan.DateTP) + ","
                + "'" + POut.String(treatPlan.Heading) + "',"
                + DbHelper.ParamChar + "paramNote,"
                + DbHelper.ParamChar + "paramSignature,"
                + POut.Bool(treatPlan.SigIsTopaz) + ","
                + POut.Long(treatPlan.ResponsParty) + ","
                + POut.Long(treatPlan.DocNum) + ","
                + POut.Int((int)treatPlan.TPStatus) + ","
                + POut.Long(treatPlan.SecUserNumEntry) + ","
                + DbHelper.Now() + ","
                //SecDateTEdit can only be set by MySQL
                + POut.Long(treatPlan.UserNumPresenter) + ","
                + POut.Int((int)treatPlan.TPType) + ")";
            if (treatPlan.Note == null)
            {
                treatPlan.Note = "";
            }
            OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, POut.StringParam(treatPlan.Note));

            if (treatPlan.Signature == null)
            {
                treatPlan.Signature = "";
            }
            OdSqlParameter paramSignature = new OdSqlParameter("paramSignature", OdDbType.Text, POut.StringParam(treatPlan.Signature));

            if (useExistingPK || isRandomKeys)
            {
                Db.NonQ(command, paramNote, paramSignature);
            }
            else
            {
                treatPlan.TreatPlanNum = Db.NonQ(command, true, "TreatPlanNum", "treatPlan", paramNote, paramSignature);
            }
            return(treatPlan.TreatPlanNum);
        }
Ejemplo n.º 13
0
 ///<summary></summary>
 public static void InsertOrUpdate(TreatPlan tp, bool isNew)
 {
     if (isNew)
     {
         Insert(tp);
     }
     else
     {
         Update(tp);
     }
 }
Ejemplo n.º 14
0
        ///<summary></summary>
        private static void Update(TreatPlan tp)
        {
            string command = "UPDATE treatplan SET "
                             + "PatNum = '" + POut.PInt(tp.PatNum) + "'"
                             + ",DateTP = " + POut.PDate(tp.DateTP)
                             + ",Heading = '" + POut.PString(tp.Heading) + "'"
                             + ",Note = '" + POut.PString(tp.Note) + "'"
                             + " WHERE TreatPlanNum = '" + POut.PInt(tp.TreatPlanNum) + "'";

            General.NonQ(command);
        }
Ejemplo n.º 15
0
        private Image GetToothChart(long patNum, TreatPlan treatPlan, List <Procedure> listProcs = null)
        {
            if (treatPlan != null && treatPlan.ListProcTPs.IsNullOrEmpty())
            {
                listProcs             = listProcs ?? Procedures.Refresh(patNum);
                treatPlan.ListProcTPs = GetTreatProcTPs(listProcs);
            }
            List <Procedure> listProcsFiltered = SheetPrinting.FilterProceduresForToothChart(listProcs, treatPlan, true);

            return(SheetPrinting.GetToothChartHelper(patNum, true, treatPlan, listProcsFiltered, isInPatientDashboard: true));
        }
Ejemplo n.º 16
0
        public void RefreshData(Patient pat, SheetField sheetField)
        {
            long patNum = pat?.PatNum ?? 0;

            _sheetField = sheetField;
            TreatPlan treatPlan     = TreatPlans.GetActiveForPat(patNum);
            Image     imgToothChart = GetToothChart(patNum, treatPlan);

            _imgToothChart?.Dispose();
            _imgToothChart = imgToothChart;
        }
Ejemplo n.º 17
0
 private Image ExtractToothChart(PatientDashboardDataEventArgs data)
 {
     if (data.ImageToothChart != null)           //Check for this first, since it will be quicker than creating an image from the active treatment plan.
     {
         return((Image)data.ImageToothChart.Clone());
     }
     else if (data.ListTreatPlans != null && data.ListProcedures != null)
     {
         TreatPlan treatPlan = data.ListTreatPlans.FirstOrDefault(x => x.TPStatus == TreatPlanStatus.Active);
         return(GetToothChart(data.Pat.PatNum, treatPlan, data.ListProcedures));
     }
     return(null);
 }
Ejemplo n.º 18
0
 public TruncatedTreatPlan Map(TreatPlan p)
 {
     return(new TruncatedTreatPlan
     {
         Id = p.Id,
         Begin = p.Begin,
         End = p.End,
         Disease = truncatedDiseaseMapper.Map(p.Disease),
         Doctor = truncatedDoctorMapper.Map(p.Doctor),
         Medication = truncatedMedicationMapper.Map(p.Medication),
         Patient = truncatedPatientMapper.Map(p.Patient)
     });
 }
Ejemplo n.º 19
0
 ///<summary>Returns true if Update(TreatPlan,TreatPlan) would make changes to the database.
 ///Does not make any changes to the database and can be called before remoting role is checked.</summary>
 public static bool UpdateComparison(TreatPlan treatPlan, TreatPlan oldTreatPlan)
 {
     if (treatPlan.PatNum != oldTreatPlan.PatNum)
     {
         return(true);
     }
     if (treatPlan.DateTP.Date != oldTreatPlan.DateTP.Date)
     {
         return(true);
     }
     if (treatPlan.Heading != oldTreatPlan.Heading)
     {
         return(true);
     }
     if (treatPlan.Note != oldTreatPlan.Note)
     {
         return(true);
     }
     if (treatPlan.Signature != oldTreatPlan.Signature)
     {
         return(true);
     }
     if (treatPlan.SigIsTopaz != oldTreatPlan.SigIsTopaz)
     {
         return(true);
     }
     if (treatPlan.ResponsParty != oldTreatPlan.ResponsParty)
     {
         return(true);
     }
     if (treatPlan.DocNum != oldTreatPlan.DocNum)
     {
         return(true);
     }
     if (treatPlan.TPStatus != oldTreatPlan.TPStatus)
     {
         return(true);
     }
     //SecUserNumEntry excluded from update
     //SecDateEntry not allowed to change
     //SecDateTEdit can only be set by MySQL
     if (treatPlan.UserNumPresenter != oldTreatPlan.UserNumPresenter)
     {
         return(true);
     }
     if (treatPlan.TPType != oldTreatPlan.TPType)
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 20
0
        ///<summary>Dependencies checked first and throws an exception if any found. So surround by try catch</summary>
        public static void Delete(TreatPlan tp)
        {
            //check proctp for dependencies
            string    command = "SELECT * FROM proctp WHERE TreatPlanNum =" + POut.PInt(tp.TreatPlanNum);
            DataTable table   = General.GetTable(command);

            if (table.Rows.Count > 0)
            {
                //this should never happen
                throw new InvalidProgramException(Lan.g("TreatPlans", "Cannot delete treatment plan because it has ProcTP's attached"));
            }
            command = "DELETE from treatplan WHERE TreatPlanNum = '" + POut.PInt(tp.TreatPlanNum) + "'";
            General.NonQ(command);
        }
Ejemplo n.º 21
0
        ///<summary>Updates one TreatPlan in the database.</summary>
        public static void Update(TreatPlan treatPlan)
        {
            string command = "UPDATE treatplan SET "
                             + "PatNum      =  " + POut.Long(treatPlan.PatNum) + ", "
                             + "DateTP      =  " + POut.Date(treatPlan.DateTP) + ", "
                             + "Heading     = '" + POut.String(treatPlan.Heading) + "', "
                             + "Note        = '" + POut.String(treatPlan.Note) + "', "
                             + "Signature   = '" + POut.String(treatPlan.Signature) + "', "
                             + "SigIsTopaz  =  " + POut.Bool(treatPlan.SigIsTopaz) + ", "
                             + "ResponsParty=  " + POut.Long(treatPlan.ResponsParty) + " "
                             + "WHERE TreatPlanNum = " + POut.Long(treatPlan.TreatPlanNum);

            Db.NonQ(command);
        }
Ejemplo n.º 22
0
 ///<summary>Inserts one TreatPlan into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(TreatPlan treatPlan)
 {
     if (DataConnection.DBtype == DatabaseType.MySql)
     {
         return(InsertNoCache(treatPlan, false));
     }
     else
     {
         if (DataConnection.DBtype == DatabaseType.Oracle)
         {
             treatPlan.TreatPlanNum = DbHelper.GetNextOracleKey("treatplan", "TreatPlanNum");                  //Cacheless method
         }
         return(InsertNoCache(treatPlan, true));
     }
 }
Ejemplo n.º 23
0
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<TreatPlan> TableToList(DataTable table){
			List<TreatPlan> retVal=new List<TreatPlan>();
			TreatPlan treatPlan;
			for(int i=0;i<table.Rows.Count;i++) {
				treatPlan=new TreatPlan();
				treatPlan.TreatPlanNum= PIn.Long  (table.Rows[i]["TreatPlanNum"].ToString());
				treatPlan.PatNum      = PIn.Long  (table.Rows[i]["PatNum"].ToString());
				treatPlan.DateTP      = PIn.Date  (table.Rows[i]["DateTP"].ToString());
				treatPlan.Heading     = PIn.String(table.Rows[i]["Heading"].ToString());
				treatPlan.Note        = PIn.String(table.Rows[i]["Note"].ToString());
				treatPlan.Signature   = PIn.String(table.Rows[i]["Signature"].ToString());
				treatPlan.SigIsTopaz  = PIn.Bool  (table.Rows[i]["SigIsTopaz"].ToString());
				treatPlan.ResponsParty= PIn.Long  (table.Rows[i]["ResponsParty"].ToString());
				retVal.Add(treatPlan);
			}
			return retVal;
		}
Ejemplo n.º 24
0
        ///<summary>Gets all TreatPlans for a given Patient, ordered by date.</summary>
        public static TreatPlan[] Refresh(int patNum)
        {
            string command = "SELECT * FROM treatplan "
                             + "WHERE PatNum=" + POut.PInt(patNum)
                             + " ORDER BY DateTP";
            DataTable table = General.GetTable(command);

            TreatPlan[] List = new TreatPlan[table.Rows.Count];
            for (int i = 0; i < table.Rows.Count; i++)
            {
                List[i] = new TreatPlan();
                List[i].TreatPlanNum = PIn.PInt(table.Rows[i][0].ToString());
                List[i].PatNum       = PIn.PInt(table.Rows[i][1].ToString());
                List[i].DateTP       = PIn.PDate(table.Rows[i][2].ToString());
                List[i].Heading      = PIn.PString(table.Rows[i][3].ToString());
                List[i].Note         = PIn.PString(table.Rows[i][4].ToString());
            }
            return(List);
        }
Ejemplo n.º 25
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <TreatPlan> TableToList(DataTable table)
        {
            List <TreatPlan> retVal = new List <TreatPlan>();
            TreatPlan        treatPlan;

            for (int i = 0; i < table.Rows.Count; i++)
            {
                treatPlan = new TreatPlan();
                treatPlan.TreatPlanNum = PIn.Long(table.Rows[i]["TreatPlanNum"].ToString());
                treatPlan.PatNum       = PIn.Long(table.Rows[i]["PatNum"].ToString());
                treatPlan.DateTP       = PIn.Date(table.Rows[i]["DateTP"].ToString());
                treatPlan.Heading      = PIn.String(table.Rows[i]["Heading"].ToString());
                treatPlan.Note         = PIn.String(table.Rows[i]["Note"].ToString());
                treatPlan.Signature    = PIn.String(table.Rows[i]["Signature"].ToString());
                treatPlan.SigIsTopaz   = PIn.Bool(table.Rows[i]["SigIsTopaz"].ToString());
                treatPlan.ResponsParty = PIn.Long(table.Rows[i]["ResponsParty"].ToString());
                retVal.Add(treatPlan);
            }
            return(retVal);
        }
Ejemplo n.º 26
0
 private void FormTreatPlanCurEdit_Load(object sender, EventArgs e)
 {
     if (TreatPlanCur == null || (TreatPlanCur.TPStatus != TreatPlanStatus.Active && TreatPlanCur.TPStatus != TreatPlanStatus.Inactive))
     {
         throw new Exception("No treatment plan loaded.");
     }
     _treatPlanUnassigned = TreatPlans.GetUnassigned(TreatPlanCur.PatNum);
     this.Text            = TreatPlanCur.Heading + " - {" + Lans.g(this, TreatPlanCur.TPStatus.ToString()) + "}";
     _listTpAttachesAll   = TreatPlanAttaches.GetAllForPatNum(TreatPlanCur.PatNum);
     _listTpAttachesCur   = _listTpAttachesAll.FindAll(x => x.TreatPlanNum == TreatPlanCur.TreatPlanNum);
     _listTpProcsAll      = Procedures.GetProcsByStatusForPat(TreatPlanCur.PatNum, new[] { ProcStat.TP, ProcStat.TPi });
     ProcedureLogic.SortProcedures(ref _listTpProcsAll);
     _listTpProcsCur = _listTpProcsAll.FindAll(x => _listTpAttachesCur.Any(y => x.ProcNum == y.ProcNum) ||
                                               (TreatPlanCur.TPStatus == TreatPlanStatus.Active && (x.AptNum > 0 || x.PlannedAptNum > 0)));
     _listAppointments = Appointments.GetMultApts(_listTpProcsAll.SelectMany(x => new[] { x.AptNum, x.PlannedAptNum }).Distinct().Where(x => x > 0).ToList());
     textHeading.Text  = TreatPlanCur.Heading;
     textNote.Text     = TreatPlanCur.Note;
     FillGrids();
     if (TreatPlanCur.TPStatus == TreatPlanStatus.Inactive && TreatPlanCur.Heading == Lan.g("TreatPlan", "Unassigned"))
     {
         gridTP.Title         = Lan.g("TreatPlan", "Unassigned Procedures");
         labelHeading.Visible = false;
         textHeading.Visible  = false;
         labelNote.Visible    = false;
         textNote.Visible     = false;
         gridAll.Visible      = false;
         butLeft.Visible      = false;
         butRight.Visible     = false;
         butOK.Enabled        = false;
         butDelete.Visible    = false;
     }
     if (TreatPlanCur.TPStatus == TreatPlanStatus.Active)
     {
         butMakeActive.Enabled = false;
         butDelete.Enabled     = false;
     }
     comboPlanType.Items.AddRange(Enum.GetNames(typeof(TreatPlanType)));
     comboPlanType.SelectedIndex = (int)TreatPlanCur.TPType;
 }
Ejemplo n.º 27
0
 ///<summary>Inserts one TreatPlan into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(TreatPlan treatPlan)
 {
     return(InsertNoCache(treatPlan, false));
 }
Ejemplo n.º 28
0
        ///<summary>Updates one TreatPlan in the database.  Uses an old object to compare to, and only alters changed fields.  This prevents collisions and concurrency problems in heavily used tables.</summary>
        public static void Update(TreatPlan treatPlan, TreatPlan oldTreatPlan)
        {
            string command = "";

            if (treatPlan.PatNum != oldTreatPlan.PatNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PatNum = " + POut.Long(treatPlan.PatNum) + "";
            }
            if (treatPlan.DateTP != oldTreatPlan.DateTP)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "DateTP = " + POut.Date(treatPlan.DateTP) + "";
            }
            if (treatPlan.Heading != oldTreatPlan.Heading)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Heading = '" + POut.String(treatPlan.Heading) + "'";
            }
            if (treatPlan.Note != oldTreatPlan.Note)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Note = '" + POut.String(treatPlan.Note) + "'";
            }
            if (treatPlan.Signature != oldTreatPlan.Signature)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Signature = '" + POut.String(treatPlan.Signature) + "'";
            }
            if (treatPlan.SigIsTopaz != oldTreatPlan.SigIsTopaz)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "SigIsTopaz = " + POut.Bool(treatPlan.SigIsTopaz) + "";
            }
            if (treatPlan.ResponsParty != oldTreatPlan.ResponsParty)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ResponsParty = " + POut.Long(treatPlan.ResponsParty) + "";
            }
            if (command == "")
            {
                return;
            }
            command = "UPDATE treatplan SET " + command
                      + " WHERE TreatPlanNum = " + POut.Long(treatPlan.TreatPlanNum);
            Db.NonQ(command);
        }
Ejemplo n.º 29
0
        ///<summary>Updates one TreatPlan in the database.  Uses an old object to compare to, and only alters changed fields.  This prevents collisions and concurrency problems in heavily used tables.  Returns true if an update occurred.</summary>
        public static bool Update(TreatPlan treatPlan, TreatPlan oldTreatPlan)
        {
            string command = "";

            if (treatPlan.PatNum != oldTreatPlan.PatNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PatNum = " + POut.Long(treatPlan.PatNum) + "";
            }
            if (treatPlan.DateTP.Date != oldTreatPlan.DateTP.Date)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "DateTP = " + POut.Date(treatPlan.DateTP) + "";
            }
            if (treatPlan.Heading != oldTreatPlan.Heading)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Heading = '" + POut.String(treatPlan.Heading) + "'";
            }
            if (treatPlan.Note != oldTreatPlan.Note)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Note = " + DbHelper.ParamChar + "paramNote";
            }
            if (treatPlan.Signature != oldTreatPlan.Signature)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Signature = " + DbHelper.ParamChar + "paramSignature";
            }
            if (treatPlan.SigIsTopaz != oldTreatPlan.SigIsTopaz)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "SigIsTopaz = " + POut.Bool(treatPlan.SigIsTopaz) + "";
            }
            if (treatPlan.ResponsParty != oldTreatPlan.ResponsParty)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ResponsParty = " + POut.Long(treatPlan.ResponsParty) + "";
            }
            if (treatPlan.DocNum != oldTreatPlan.DocNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "DocNum = " + POut.Long(treatPlan.DocNum) + "";
            }
            if (treatPlan.TPStatus != oldTreatPlan.TPStatus)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TPStatus = " + POut.Int((int)treatPlan.TPStatus) + "";
            }
            //SecUserNumEntry excluded from update
            //SecDateEntry not allowed to change
            //SecDateTEdit can only be set by MySQL
            if (treatPlan.UserNumPresenter != oldTreatPlan.UserNumPresenter)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UserNumPresenter = " + POut.Long(treatPlan.UserNumPresenter) + "";
            }
            if (treatPlan.TPType != oldTreatPlan.TPType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TPType = " + POut.Int((int)treatPlan.TPType) + "";
            }
            if (command == "")
            {
                return(false);
            }
            if (treatPlan.Note == null)
            {
                treatPlan.Note = "";
            }
            OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, POut.StringParam(treatPlan.Note));

            if (treatPlan.Signature == null)
            {
                treatPlan.Signature = "";
            }
            OdSqlParameter paramSignature = new OdSqlParameter("paramSignature", OdDbType.Text, POut.StringParam(treatPlan.Signature));

            command = "UPDATE treatplan SET " + command
                      + " WHERE TreatPlanNum = " + POut.Long(treatPlan.TreatPlanNum);
            Db.NonQ(command, paramNote, paramSignature);
            return(true);
        }
Ejemplo n.º 30
0
 ///<summary>Updates one TreatPlan in the database.</summary>
 internal static void Update(TreatPlan treatPlan)
 {
     string command="UPDATE treatplan SET "
         +"PatNum      =  "+POut.Long  (treatPlan.PatNum)+", "
         +"DateTP      =  "+POut.Date  (treatPlan.DateTP)+", "
         +"Heading     = '"+POut.String(treatPlan.Heading)+"', "
         +"Note        = '"+POut.String(treatPlan.Note)+"', "
         +"Signature   = '"+POut.String(treatPlan.Signature)+"', "
         +"SigIsTopaz  =  "+POut.Bool  (treatPlan.SigIsTopaz)+", "
         +"ResponsParty=  "+POut.Long  (treatPlan.ResponsParty)+" "
         +"WHERE TreatPlanNum = "+POut.Long(treatPlan.TreatPlanNum);
     Db.NonQ(command);
 }
Ejemplo n.º 31
0
 ///<summary>Updates one TreatPlan in the database.  Uses an old object to compare to, and only alters changed fields.  This prevents collisions and concurrency problems in heavily used tables.</summary>
 internal static void Update(TreatPlan treatPlan,TreatPlan oldTreatPlan)
 {
     string command="";
     if(treatPlan.PatNum != oldTreatPlan.PatNum) {
         if(command!=""){ command+=",";}
         command+="PatNum = "+POut.Long(treatPlan.PatNum)+"";
     }
     if(treatPlan.DateTP != oldTreatPlan.DateTP) {
         if(command!=""){ command+=",";}
         command+="DateTP = "+POut.Date(treatPlan.DateTP)+"";
     }
     if(treatPlan.Heading != oldTreatPlan.Heading) {
         if(command!=""){ command+=",";}
         command+="Heading = '"+POut.String(treatPlan.Heading)+"'";
     }
     if(treatPlan.Note != oldTreatPlan.Note) {
         if(command!=""){ command+=",";}
         command+="Note = '"+POut.String(treatPlan.Note)+"'";
     }
     if(treatPlan.Signature != oldTreatPlan.Signature) {
         if(command!=""){ command+=",";}
         command+="Signature = '"+POut.String(treatPlan.Signature)+"'";
     }
     if(treatPlan.SigIsTopaz != oldTreatPlan.SigIsTopaz) {
         if(command!=""){ command+=",";}
         command+="SigIsTopaz = "+POut.Bool(treatPlan.SigIsTopaz)+"";
     }
     if(treatPlan.ResponsParty != oldTreatPlan.ResponsParty) {
         if(command!=""){ command+=",";}
         command+="ResponsParty = "+POut.Long(treatPlan.ResponsParty)+"";
     }
     if(command==""){
         return;
     }
     command="UPDATE treatplan SET "+command
         +" WHERE TreatPlanNum = "+POut.Long(treatPlan.TreatPlanNum);
     Db.NonQ(command);
 }