예제 #1
0
        public override void Save()
        {
            DatabaseQuery query = new DatabaseQuery(Database.Tables.LEAVE_DATES);

            query.Add(Database.Tables.LeaveDates.Date, QueryElement.DateOf(Date));
            query.Add(Database.Tables.LeaveDates.StaffId, Owner);
            DoSave(query);
            StaffsManager.Add(this);
        }
예제 #2
0
        // Getting leave dates within a set range through the staff ID.
        public static List <MedicalStaff> GetMedicalStaffLeavesFrom(DateTime start, DateTime end, bool not)
        {
            DatabaseQuery nestedQuery = new DatabaseQuery(Database.Tables.LEAVE_DATES);

            if (start.Date.Equals(end.Date))
            {
                nestedQuery.Comparator = new QueryComparator
                {
                    Source  = new QueryElement(Database.Tables.LeaveDates.Date),
                    Operand = new QueryElement(null, QueryElement.DateOf(start))
                };
            }
            else
            {
                nestedQuery.Comparator = new QueryComparator
                {
                    Source = new QueryComparator()
                    {
                        Source  = new QueryElement(Database.Tables.LeaveDates.Date),
                        Operand = new QueryElement(null, QueryElement.DateOf(start)),
                        Equal   = !not,
                        More    = !not,
                        Less    = not
                    },

                    Operand = new QueryComparator()
                    {
                        Source  = new QueryElement(Database.Tables.LeaveDates.Date),
                        Operand = new QueryElement(null, QueryElement.DateOf(end)),
                        Equal   = !not,
                        Less    = !not,
                        More    = not
                    },

                    And = !not,
                    Or  = not
                };
            }

            nestedQuery.Add(Database.Tables.LeaveDates.StaffId);

            return(ManagerHelper.FilterType <MedicalStaff>
                   (
                       StaffManager.Merge
                       (
                           Database.Tables.STAFFS,
                           ManagerHelper.GetInComparator
                           (
                               Database.Tables.Generic.ID,
                               nestedQuery
                           )
                       )
                   ));
        }
예제 #3
0
        public override void Save()
        {
            DatabaseQuery query = new DatabaseQuery(Database.Tables.PRESCRIPTIONS);

            query.Add(Database.Tables.Prescriptions.PrescriberId, Prescriber);
            query.Add(Database.Tables.Prescriptions.PatientId, Patient);
            query.Add(Database.Tables.Prescriptions.Name, Name);
            query.Add(Database.Tables.Prescriptions.Remark, Remark);
            query.Add(Database.Tables.Prescriptions.StartDate, QueryElement.DateOf(StartDate));
            query.Add(Database.Tables.Prescriptions.EndDate, QueryElement.DateOf(EndDate));
            DoSave(query);
            PatientsManager.Add(this);
        }
예제 #4
0
 public static List <Prescription> GetPrescriptionsByEndDate(DateTime date)
 {
     return(PrescriptionManager.Merge(Database.Tables.PRESCRIPTIONS, ManagerHelper.GetEqualComparator(Database.Tables.Prescriptions.EndDate, QueryElement.DateOf(date))));
 }