예제 #1
0
        public virtual AbsentEvent SaveAbsentEventRecord(int patientId)
        {
            AbsentEvent ae = new AbsentEvent();

            // update record
            if (!string.IsNullOrEmpty(AbsentEventId.Value))
            {
                ae.Get(int.Parse(AbsentEventId.Value));
                // validate
                Dictionary <string, string> pairs = new Dictionary <string, string>
                {
                    { AbsentEvent.TableName, AbsentTable },
                    { AbsentEvent.FieldName, AbsentField },
                    { AbsentEvent.FieldValue, AbsentFieldValue }
                };
                // if any pairs don't match, update record
                bool update = pairs.Any(p => ae[p.Key].ToString() != p.Value);
                if (!update)
                {
                    return(ae);
                }
            }
            // create record
            else
            {
                ae[AbsentEvent.PatientId]  = patientId;
                ae[AbsentEvent.TableName]  = AbsentTable;
                ae[AbsentEvent.FieldName]  = AbsentField;
                ae[AbsentEvent.FieldValue] = AbsentFieldValue;
            }
            ae.Save();
            // update pri key
            AbsentEventId.Value = ae[AbsentEvent.AbsentEventId] + "";
            return(ae);
        }
예제 #2
0
        public virtual void DeleteAbsentEvent()
        {
            AbsentEvent ae = new AbsentEvent();

            if (!string.IsNullOrEmpty(AbsentEventId.Value))
            {
                int absentEventId = int.Parse(AbsentEventId.Value);
                ae.Delete(absentEventId);

                AbsentEventId.Value = "";
            }
        }
예제 #3
0
        /// <summary>
        /// Sets the current absent event and returns the record.
        /// </summary>
        /// <param name="patientId"></param>
        /// <returns></returns>
        public virtual AbsentEvent SetAbsentEvent(int patientId)
        {
            AbsentEvent ae = GetAbsentEvent(patientId);

            if (ae != null && ae.PrimaryKeyHasValue)
            {
                AbsentEventId.Value = ae[AbsentEvent.AbsentEventId].ToString();
                NoChecked           = true;
            }
            else
            {
                AbsentEventId.Value = "";
                NoChecked           = false;
            }
            return(ae);
        }
예제 #4
0
        public bool ApplyAbsent(IAgent agent, AssignmentBase assignment, TermStyle type, TimeSpan length)
        {
            TermAlteringListener.Manually();

            var newAbsent = new AbsentEvent(assignment.Start, length, type);
            var success   = false;

            agent.Schedule.Create(newAbsent,
                                  (t, result) =>
            {
                success = result;

                //if (success)
                //    assignment.OccupyStatus = "A";
            }, false);

            return(success);
        }
예제 #5
0
        public bool ApplyAbsent(IAgent agent, AssignmentBase assignment, TermStyle type, TimeSpan length)
        {
            TermAlteringListener.Manually();

            var newAbsent = new AbsentEvent(assignment.Start, length, type);
            var success = false;
            agent.Schedule.Create(newAbsent,
                (t, result) =>
                {
                    success = result;

                    //if (success)
                    //    assignment.OccupyStatus = "A";
                }, false);

            return success;
        }