Exemplo n.º 1
0
        // GET: Paramedic
        public ActionResult Index(int?id)
        {
            HajjHackathonDBEntities db = new HackathonWeb.HajjHackathonDBEntities();
            Request REQ = null;

            if (id != null)
            {
                REQ = db.Requests.Where(x => x.ID == id).FirstOrDefault();
            }
            else
            {
                REQ = db.RequestFollowUps.Where(x => x.Status == ERequestStatus.Waiting.ToString()).FirstOrDefault().Request;
            }

            RequestFollowUp FU = db.RequestFollowUps.Where(cc => cc.RequestID == REQ.ID).FirstOrDefault();

            RequestDetailsViewModel model = new Models.RequestDetailsViewModel()
            {
                Comment        = REQ.Comment,
                CreateDateTime = REQ.DateTime,
                DiseaseA       = REQ.Person.DiseaseA,
                DiseaseB       = REQ.Person.DiseaseB,
                DiseaseC       = REQ.Person.DiseaseC,
                GPS            = REQ.GPS,
                VitalSignA     = REQ.VitalSignA,
                VitalSignB     = REQ.VitalSignB,
                Type           = REQ.Type,
                RequestStatus  = REQ.Status,
                ParamedicName  = REQ.Paramedic != null?REQ.Paramedic.Name:"",
                RequestID      = REQ.ID,
            };


            return(View(model));
        }
Exemplo n.º 2
0
        public void HandleWaitingRequests()
        {
            HajjHackathonDBEntities db = new HackathonWeb.HajjHackathonDBEntities();

            var allwaiting = db.Requests.Where(x => x.Status != ERequestStatus.Terminated.ToString() && x.Status != ERequestStatus.Accepted.ToString()).ToList();

            foreach (var x in allwaiting)
            {
                if (x.RequestFollowUps.Where(y => y.Status == ERequestStatus.Waiting.ToString()).Count() > 0)
                {
                    continue;
                }

                List <Paramedic> res = null;
                if (x.Type == ERequestType.AutoH.ToString() || x.Type == ERequestType.Escalated.ToString())
                {
                    res = db.Paramedics.Where(y => y.Status == EParamedicStatus.Available.ToString() &&
                                              y.Type == EParamedicType.B.ToString()).ToList();
                }
                else
                {
                    res = db.Paramedics.Where(y => y.Status == EParamedicStatus.Available.ToString() &&
                                              y.Type == EParamedicType.A.ToString()).ToList();
                }

                Paramedic parRes = GetNearestParamedic(x.GPS, res);
                if (parRes != null)
                {
                    RequestFollowUp reqFU = new HackathonWeb.RequestFollowUp()
                    {
                        AssignedDateTime = DateTime.Now,
                        AssignedToID     = parRes.ID,
                        RequestID        = x.ID,
                        Status           = ERequestStatus.Waiting.ToString(),
                    };
                    parRes.Status = EParamedicStatus.WaitToConfirm.ToString();
                    db.RequestFollowUps.Add(reqFU);
                    db.SaveChanges();
                }
            }
        }
        // GET: Super
        public ActionResult Index()
        {
            HajjHackathonDBEntities db = new HackathonWeb.HajjHackathonDBEntities();

            return(View(db.Paramedics.ToArray()));
        }