public Protocol CreateProtocol(NewProtocol protocol)
        {
            try
            {
                Protocol pro = new Protocol();
                if (String.IsNullOrEmpty(protocol.ProtocolId))
                {
                    //generating protocol id
                    pro.ProtocolId   = Guid.NewGuid().ToString();
                    pro.ProtocolEnum = Convert.ToInt32(protocol.ExcerciseName);
                }
                else
                {
                    pro = (from p in context.Protocol
                           where p.ProtocolId == protocol.ProtocolId
                           select p).FirstOrDefault();
                }
                pro.ProtocolName        = protocol.ProtocolName;
                pro.LaymanName          = protocol.LaymanName;
                pro.PatientId           = protocol.PatientId;
                pro.RxId                = protocol.RxId;
                pro.FlexUpLimit         = protocol.FlexUpLimit;
                pro.StretchUpLimit      = protocol.StretchUpLimit;
                pro.FlexDownLimit       = protocol.FlexDownLimit;
                pro.StretchDownLimit    = protocol.StretchDownLimit;
                pro.FlexDownHoldtime    = protocol.FlexDownHoldtime;
                pro.FlexUpHoldtime      = protocol.FlexUpHoldtime;
                pro.EquipmentType       = protocol.EquipmentType;
                pro.DeviceConfiguration = protocol.ExcerciseEnum;
                pro.StretchUpHoldtime   = protocol.StretchUpHoldtime;
                pro.StretchDownHoldtime = protocol.StretchDownHoldtime;
                pro.RestPosition        = protocol.RestPosition;

                pro.StartDate = protocol.StartDate;
                pro.EndDate   = protocol.EndDate;
                pro.RestAt    = protocol.RestAt;
                pro.RepsAt    = protocol.RepsAt;
                pro.Speed     = protocol.Speed;
                pro.Time      = protocol.Time;
                pro.RestTime  = protocol.RestTime;
                pro.Reps      = protocol.Reps;
                pro.Plane     = protocol.Plane;
                if (String.IsNullOrEmpty(protocol.ProtocolId))
                {
                    context.Protocol.Add(pro);
                }
                else
                {
                    context.Entry(pro).State = EntityState.Modified;
                }
                int res = context.SaveChanges();
                if (res > 0)
                {
                    return(pro);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
예제 #2
0
        public IActionResult Add(SessionView session)
        {
            try
            {
                NewProtocol ptoList = INewPatient.GetProtocolByproId(session.ProtocolId);
                if (ptoList != null)
                {
                    PatientRx lrx = IPatientRx.getPatientRx(ptoList.RxId);
                    if (lrx != null)
                    {
                        Session _session = new Session();

                        _session.SessionId    = Guid.NewGuid().ToString();
                        _session.PatientId    = ptoList.PatientId;
                        _session.RxId         = ptoList.RxId;
                        _session.ProtocolId   = ptoList.ProtocolId;
                        _session.SessionDate  = session.SessionDate;
                        _session.Duration     = session.Duration;
                        _session.Reps         = session.Reps;
                        _session.MaxExtension = session.MaxExtension;
                        _session.MaxFlexion   = session.MaxFlexion;
                        _session.MaxPain      = session.MaxPain;
                        _session.PainCount    = session.PainCount;

                        if (session.MaxFlexion > lrx.CurrentFlexion && session.MaxExtension > lrx.CurrentExtension)
                        {
                            int res = INewPatient.ChangeRxCurrent(lrx.RxId, session.MaxFlexion, session.MaxExtension, "Patient");
                        }
                        else if (session.MaxFlexion > lrx.CurrentFlexion)
                        {
                            int res = INewPatient.ChangeRxCurrentFlexion(lrx.RxId, session.MaxFlexion, "Patient");
                        }
                        else if (session.MaxExtension > lrx.CurrentExtension)
                        {
                            int res = INewPatient.ChangeRxCurrentExtension(lrx.RxId, session.MaxExtension, "Patient");
                        }
                        else
                        {
                            RomchangeLog plog = new RomchangeLog();
                            plog.RxId              = lrx.RxId;
                            plog.PreviousFlexion   = lrx.CurrentFlexion.HasValue ? Convert.ToInt32(lrx.CurrentFlexion) : 0;
                            plog.PreviousExtension = lrx.CurrentExtension.HasValue ? Convert.ToInt32(lrx.CurrentExtension) : 0;
                            plog.CreatedDate       = DateTime.UtcNow;
                            plog.ChangedBy         = "Patient";
                            IRomChangeLog.InsertRomChangeLog(plog);
                        }

                        lISessionInterface.InsertSession(_session);
                    }
                }

                return(RedirectToAction("Index", "SessionView", new { id = session.PatientId, Username = session.Patname, Etype = session.EType, actuator = session.EEnum }));
            }


            catch (Exception ex)
            {
                logger.LogDebug("User Post Error: " + ex);
                return(null);
            }
        }
        public IActionResult AddEdit(SessionView session)
        {
            try
            {
                NewProtocol ptoList = INewPatient.GetProtocolByproId(session.ProtocolId);
                if (ptoList != null)
                {
                    PatientRx lrx = IPatientRx.getPatientRx(ptoList.RxId);
                    if (lrx != null)
                    {
                        Session _session = new Session();


                        _session.PatientId      = ptoList.PatientId;
                        _session.RxId           = ptoList.RxId;
                        _session.ProtocolId     = ptoList.ProtocolId;
                        _session.SessionDate    = session.SessionDate;
                        _session.Duration       = session.Duration;
                        _session.Reps           = session.Reps;
                        _session.MaxExtension   = session.MaxExtension;
                        _session.ExtensionReps  = session.ExtensionReps;
                        _session.MaxFlexion     = session.MaxFlexion;
                        _session.FlexionReps    = session.FlexionReps;
                        _session.MaxPain        = session.MaxPain;
                        _session.PainCount      = session.PainCount;
                        _session.Boom1Position  = session.Boom1Position;
                        _session.Boom2Position  = session.Boom2Position;
                        _session.RangeDuration1 = session.RangeDuration1;
                        _session.RangeDuration2 = session.RangeDuration2;
                        _session.GuidedMode     = _session.GuidedMode;
                        _session.TimeZoneOffset = "";

                        if (session.MaxFlexion > lrx.CurrentFlexion && session.MaxExtension > lrx.CurrentExtension)
                        {
                            int res = INewPatient.ChangeRxCurrent(lrx.RxId, session.MaxFlexion, session.MaxExtension, "Patient");
                        }
                        else if (session.MaxFlexion > lrx.CurrentFlexion)
                        {
                            int res = INewPatient.ChangeRxCurrentFlexion(lrx.RxId, session.MaxFlexion, "Patient");
                        }
                        else if (session.MaxExtension > lrx.CurrentExtension)
                        {
                            int res = INewPatient.ChangeRxCurrentExtension(lrx.RxId, session.MaxExtension, "Patient");
                        }
                        else
                        {
                            RomchangeLog plog = new RomchangeLog();
                            plog.RxId              = lrx.RxId;
                            plog.PreviousFlexion   = lrx.CurrentFlexion.HasValue ? Convert.ToInt32(lrx.CurrentFlexion) : 0;
                            plog.PreviousExtension = lrx.CurrentExtension.HasValue ? Convert.ToInt32(lrx.CurrentExtension) : 0;
                            plog.CreatedDate       = DateTime.UtcNow;
                            plog.ChangedBy         = "Patient";
                            IRomChangeLog.InsertRomChangeLog(plog);
                        }
                        if (!string.IsNullOrEmpty(session.SessionId))
                        {
                            _session.SessionId = session.SessionId;

                            //Session editSession = lISessionInterface.getSession(session.SessionId);
                            //if (editSession != null)
                            //{
                            lISessionInterface.UpdateSession(_session);
                            //}
                        }
                        else
                        {
                            _session.SessionId = Guid.NewGuid().ToString();
                            lISessionInterface.InsertSession(_session);
                        }
                    }
                }
                if (!string.IsNullOrEmpty(session.returnView))
                {
                    return(RedirectToAction("Index", "Review", new { id = session.PatientId, Username = session.Patname, EquipmentType = session.EType, actuator = session.EEnum, tab = "Sessions" }));
                }
                else
                {
                    return(RedirectToAction("Index", "SessionView", new { id = session.PatientId, Username = session.Patname, Etype = session.EType, actuator = session.EEnum }));
                }
            }


            catch (Exception ex)
            {
                logger.LogDebug("User Post Error: " + ex);
                return(null);
            }
        }