예제 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        s = (Sickness)Session["sick"];
        // s.Id = 5;
        s = Q.Sicknesses.Where(z => z.Id == s.Id).SingleOrDefault();


        Label23.Text = s.Disease;
        Label24.Text = s.Type;
        Label25.Text = s.LevelOfRisk.ToString();
        if (s.Description == "")
        {
            Label26.Text           = "N/A !";
            Label26.ForeColor      = System.Drawing.Color.Gray;
            Label26.Font.Underline = true;
            Label26.Font.Italic    = true;
        }
        else
        {
            Label26.Text = s.Description;
        }
        if (s.TreatmentPlan == "")
        {
            Label27.Text           = "N/A !";
            Label27.ForeColor      = System.Drawing.Color.Gray;
            Label27.Font.Underline = true;
            Label27.Font.Italic    = true;
        }
        else
        {
            Label27.Text = s.TreatmentPlan;
        }
    }
예제 #2
0
    private void OnSicknessTrigger(GameObject target, TriggerInfo trigger)
    {
        int      num      = UnityEngine.Random.Range(0, trigger.sickness_ids.Length);
        string   text     = trigger.sickness_ids[num];
        Sickness sickness = null;

        Database.Sicknesses sicknesses = Db.Get().Sicknesses;
        for (int i = 0; i < sicknesses.Count; i++)
        {
            if (sicknesses[i].Id == text)
            {
                sickness = sicknesses[i];
                break;
            }
        }
        if (sickness != null)
        {
            string infection_source_info       = trigger.sourceCallback(base.gameObject, target);
            SicknessExposureInfo exposure_info = new SicknessExposureInfo(sickness.Id, infection_source_info);
            Klei.AI.Sicknesses   sicknesses2   = target.GetComponent <MinionModifiers>().sicknesses;
            sicknesses2.Infect(exposure_info);
        }
        else
        {
            DebugUtil.DevLogErrorFormat(base.gameObject, "Couldn't find sickness with id [{0}]", text);
        }
    }
예제 #3
0
        public Sickness GetSickness()
        {
            var random   = new Random().Next(1, 5);
            var sickness = new Sickness();

            switch (random)
            {
            case 1:
                sickness = Sickness.HeartAttack;
                break;

            case 2:
                sickness = Sickness.Thalassemia;
                break;

            case 3:
                sickness = Sickness.Canser;
                break;

            case 4:
                sickness = Sickness.Covid19;
                break;

            case 5:
                sickness = Sickness.Cold;
                break;
            }

            return(sickness);
        }
예제 #4
0
        public async Task <IActionResult> PutSickness(int id, Sickness sickness)
        {
            if (string.IsNullOrEmpty(sickness.SicknessName)
                )
            {
                return(BadRequest("SicknessName is required."));
            }

            if (id != sickness.SicknessId)
            {
                return(BadRequest());
            }

            sickness.SicknessName = System.Net.WebUtility.HtmlEncode(sickness.SicknessName);

            _context.Entry(sickness).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SicknessExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #5
0
        private static void SpawnSickness(string serializedEventParameters)
        {
            SicknessEventParameters sicknessEventParameters;

            //If null means its a server random event so has no default parameters
            //TODO: when infection system is more deadly change random effects based on player numbers
            //TODO: eg more players == more chance of deadlier disease?
            if (serializedEventParameters == null)
            {
                sicknessEventParameters = new SicknessEventParameters()
                {
                    PlayerToInfect = Random.Range(1, Mathf.Max(1, PlayerList.Instance.AllPlayers.Count)),
                    SicknessIndex  = Random.Range(0, SicknessManager.Instance.Sicknesses.Count)
                };
            }
            else
            {
                sicknessEventParameters = JsonConvert.DeserializeObject <SicknessEventParameters>(serializedEventParameters);
            }

            Sickness sickness = SicknessManager.Instance.Sicknesses[sicknessEventParameters.SicknessIndex];

            foreach (ConnectedPlayer player in PlayerList.Instance.AllPlayers.PickRandom(sicknessEventParameters.PlayerToInfect).ToList())
            {
                if (player.Script != null && player.Script.playerHealth != null)
                {
                    player.Script.playerHealth.AddSickness(sickness);
                }
            }
        }
예제 #6
0
            public void OnStressed()
            {
                Sickness heartattacksickness = Db.Get().Sicknesses.Get(HeartAttackSickness.ID);

                if (sicknesses != null && effects != null)
                {
                    if (!sicknesses.Has(heartattacksickness))
                    {
                        // новый инфаркт
                        float chance = Db.Get().Attributes.Get(ATTRIBUTE_ID).Lookup(gameObject)?.GetTotalValue() ?? 0;
                        if (Random.value < chance)
                        {
                            sicknesses.Infect(new SicknessExposureInfo(HeartAttackSickness.ID, STRINGS.DUPLICANTS.DISEASES.HEARTATTACKSICKNESS.EXPOSURE));
                            Incapacitate();
                            ResetStress();
                        }
                    }
                    // повторный инфаркт, если поциент не лежит на койке или не вылечен
                    else if (!effects.HasEffect("MedicalCotDoctored"))
                    {
                        sicknesses.Get(heartattacksickness).SetPercentCured(0);
                        Incapacitate();
                        ResetStress();
                    }
                }
            }
예제 #7
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        MedicalRecord m = (MedicalRecord)Session["medical"];

        m = Q.MedicalRecords.Where(u => u.Id == m.Id).SingleOrDefault();
        Sickness s = (Sickness)Session["sick"];

        s = Q.Sicknesses.Where(u => u.Id == s.Id).SingleOrDefault();

        sm.DateOfReview = DateTime.Now;
        sm.Note         = TextBox1.Text;

        if (RadioButton1.Checked == true)
        {
            sm.Rate = 1;
        }
        else if (RadioButton2.Checked == true)
        {
            sm.Rate = 2;
        }
        else if (RadioButton3.Checked == true)
        {
            sm.Rate = 3;
        }

        sm.MedicalRecordId = m.Id;
        sm.SicknessId      = s.Id;
        Q.SicknessMedicalRecords.InsertOnSubmit(sm);
        Q.SubmitChanges();
    }
예제 #8
0
        public async Task <ActionResult <SicknessDTO> > CreateSickness(Sickness sickness)
        {
            _context.Sickness.Add(sickness);
            await _context.SaveChangesAsync();

            return(SicknessToDTO(sickness));
        }
예제 #9
0
        public async Task <Sickness> AddSickness(Sickness sickness)
        {
            await _context.Sicknesses.AddAsync(sickness);

            await _context.SaveChangesAsync();

            return(sickness);
        }
예제 #10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        MedicalRecord m = (MedicalRecord)Session["medical"];

        //m.Id = 2;
        m = Q.MedicalRecords.Where(u => u.Id == m.Id).SingleOrDefault();

        //x.Id = 1;
        //d.Id = 1;
        Doctor  d = (Doctor)Session["doctor"];
        Patient x = (Patient)Session["patient"];

        x = Q.Patients.Where(z => z.Id == x.Id).SingleOrDefault();
        p = Q.PersonalInfos.Where(w => w.Id == x.PersonalInfoId).SingleOrDefault();

        d = Q.Doctors.Where(z => z.Id == d.Id).SingleOrDefault();
        PersonalInfo p1 = Q.PersonalInfos.Where(w => w.Id == d.PersonalInfoId).SingleOrDefault();

        if (!IsPostBack)
        {
            Label3.Text           = x.Id.ToString();
            Label3.ForeColor      = System.Drawing.Color.Red;
            Label3.Font.Underline = true;


            Label15.Text           = d.Id.ToString();
            Label15.ForeColor      = System.Drawing.Color.Red;
            Label15.Font.Underline = true;


            Label5.Text      = p.FirstName;
            Label5.ForeColor = System.Drawing.Color.Red;


            Label6.Text      = p.LastName;
            Label6.ForeColor = System.Drawing.Color.Red;


            Label8.Text      = p1.FirstName;
            Label8.ForeColor = System.Drawing.Color.Red;


            Label9.Text      = p1.LastName;
            Label9.ForeColor = System.Drawing.Color.Red;

            Label16.Text = m.DateOfPreview.ToString().Substring(0, 10);
            Label18.Text = m.Description;

            Sickness s = (Sickness)Session["sick"];
            s = Q.Sicknesses.Where(z => z.Id == s.Id).SingleOrDefault();

            Label26.Text = s.Disease;
            Label27.Text = s.Type;
            Label28.Text = s.LevelOfRisk.ToString();
            Label29.Text = s.Description;
            Label30.Text = s.TreatmentPlan;
        }
    }
 private void BtnCreateClick()
 {
     SelectedItem = null;
     DeselectItemInDataList();
     EditItem = new Sickness();
     ServiceLocator.Current.GetInstance <HabitSicknessViewModel>().ResetItems();
     ServiceLocator.Current.GetInstance <AdviceSicknessViewModel>().ResetItems();
     ServiceLocator.Current.GetInstance <AreaSicknessViewModel>().ResetItems();
 }
예제 #12
0
 private static SicknessDTO SicknessToDTO(Sickness sickness) =>
 new SicknessDTO
 {
     Id   = sickness.Id,
     Name = sickness.Name,
     ScientificNotation = sickness.ScientificNotation,
     Description        = sickness.Description,
     ImageUrl           = sickness.ImageUrl
 };
예제 #13
0
 public Sickness(Sickness sickness)
 {
     this.name         = sickness.name;
     this.cure         = sickness.cure;
     this.gameType     = sickness.gameType;
     this.gameArgument = sickness.gameArgument;
     this.Urgente      = sickness.Urgente;
     OnCure            = new UnityEvent();
 }
예제 #14
0
        private void btnEditSickness_Click(object sender, RoutedEventArgs e)
        {
            Sickness    sick     = sicknessDataGrid.SelectedItem as Sickness;
            AddSickness editSick = new AddSickness(sick);

            editSick.ShowDialog();
            List <Sickness> listSickness = DataManager.getInstance().getAllSickness();

            sicknessDataGrid.DataContext = listSickness;
        }
예제 #15
0
        public Sickness DeleteSick(int SickID)
        {
            Sickness dbEntry = context.Sicknesses.Find(SickID);

            if (dbEntry != null)
            {
                context.Sicknesses.Remove(dbEntry);
                context.SaveChanges();
            }
            return(dbEntry);
        }
예제 #16
0
 public async Task <ActionResult <SicknessDTO> > CreateSickness([FromBody] Sickness sickness)
 {
     try
     {
         return(Ok(await _sicknessService.CreateSickness(sickness)));
     }
     catch (Exception)
     {
         return(BadRequest());
     }
 }
        private void ListItemSelectedChange(Sickness sickness)
        {
            SelectedItem = sickness;
            EditItem     = sickness?.Clone() as Sickness;

            if (EditItem != null)
            {
                ServiceLocator.Current.GetInstance <HabitSicknessViewModel>().SetCheckedItems(new List <Habit>(SelectedItem.Habits));
                ServiceLocator.Current.GetInstance <AdviceSicknessViewModel>().SetCheckedItems(new List <Advice>(SelectedItem.Advice));
                ServiceLocator.Current.GetInstance <AreaSicknessViewModel>().SetCheckedItems(new List <Area>(SelectedItem.Areas));
            }
        }
예제 #18
0
        public bool Delete(int id, string from, string to, string type, string sickness)
        {
            Employee employee = (from emp in repository.Employees where emp.EmployeeID == id select emp).FirstOrDefault();

            if (employee != null)
            {
                DateTime parseFrom;
                DateTime parseTo;

                if (type != "SickAbsence")
                {
                    return(false);
                }

                CalendarItemType cType = CalendarItemType.SickAbsence;

                try
                {
                    parseFrom = DateTime.ParseExact(from, "dd.MM.yyyy", null);
                    parseTo   = DateTime.ParseExact(to, "dd.MM.yyyy", null);
                }
                catch (SystemException)
                {
                    return(false);
                }

                Sickness sicks = (from sick in employee.Sicknesses
                                  where sick.From == parseFrom &&
                                  sick.To == parseTo &&
                                  sick.SickOf == employee &&
                                  sick.EmployeeID == employee.EmployeeID
                                  select sick).FirstOrDefault();

                CalendarItem item = (from i in employee.CalendarItems
                                     where i.Employee == employee &&
                                     i.EmployeeID == employee.EmployeeID &&
                                     i.From == parseFrom &&
                                     i.To == parseTo &&
                                     i.Type == cType
                                     select i).FirstOrDefault();

                if (sicks != null && item != null)
                {
                    repository.DeleteSick(sicks.SickID);
                    employee.CalendarItems.Remove(item);
                    repository.DeleteCalendarItem(item.CalendarItemID);
                    return(true);
                }
                return(false);
            }
            return(false);
        }
예제 #19
0
        public async Task <ActionResult <SicknessDTO> > UpdateSickness(Sickness sickness)
        {
            try
            {
                _context.Entry(sickness).State = EntityState.Modified;
                await _context.SaveChangesAsync();

                return(SicknessToDTO(sickness));
            }
            catch (Exception ex)
            {
                throw new Exception("Record cannot updated", ex);
            }
        }
 public AddSickness(Sickness sick)
 {
     InitializeComponent();
     if (sick == null)
     {
         btnEditSickness.Visibility = Visibility.Hidden;
     }
     else
     {
         btnAddSickness.Visibility = Visibility.Hidden;
         DataContext      = sick;
         lblTitle.Content = "CHỈNH SỬA LOẠI BỆNH";
     }
 }
예제 #21
0
        private static void SpawnSickness(string serializedEventParameters)
        {
            SicknessEventParameters sicknessEventParameters = JsonConvert.DeserializeObject <SicknessEventParameters>(serializedEventParameters);

            Sickness sickness = SicknessManager.Instance.Sicknesses[sicknessEventParameters.SicknessIndex];

            foreach (ConnectedPlayer player in PlayerList.Instance.AllPlayers.PickRandom(sicknessEventParameters.PlayerToInfect).ToList())
            {
                if ((player.Script != null) && (player.Script.playerHealth != null))
                {
                    player.Script.playerHealth.AddSickness(sickness);
                }
            }
        }
예제 #22
0
        static public List <Sickness> getAllSickness()
        {
            DataTable       dt           = Active.select("select * from sickness where is_delete = " + 0);
            List <Sickness> listSickness = new List <Sickness>();

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                Sickness sick = new Sickness();
                sick.id    = Convert.ToInt32(dt.Rows[i]["id"]);
                sick.name  = dt.Rows[i]["name"].ToString();
                sick.noted = dt.Rows[i]["noted"].ToString();
                listSickness.Add(sick);
            }
            return(listSickness);
        }
예제 #23
0
        public bool Create(int id, string from, string to, string type, string sickness)
        {
            Employee employee = (from emp in repository.Employees where emp.EmployeeID == id select emp).FirstOrDefault();

            if (employee != null)
            {
                DateTime parseFromDate;
                DateTime parseToDate;

                if (type != "SickAbsence")
                {
                    return(false);
                }

                CalendarItemType cType = CalendarItemType.SickAbsence;

                try
                {
                    parseFromDate = DateTime.ParseExact(from, "dd.MM.yyyy", null);
                    parseToDate   = DateTime.ParseExact(to, "dd.MM.yyyy", null);
                }
                catch (SystemException)
                {
                    return(false);
                }

                Sickness sick = new Sickness();
                sick.From         = parseFromDate;
                sick.To           = parseToDate;
                sick.EmployeeID   = employee.EmployeeID;
                sick.SicknessType = sickness;

                CalendarItem item = new CalendarItem
                {
                    Employee   = employee,
                    EmployeeID = employee.EmployeeID,
                    From       = parseFromDate,
                    To         = parseToDate,
                    Type       = cType
                };
                employee.CalendarItems.Add(item);
                repository.SaveSick(sick);
                repository.SaveCalendarItem(item);

                return(true);
            }
            return(false);
        }
예제 #24
0
        private int CalculateWorkDays(Sickness sick)
        {
            int      numberOfWorkingDays = 0;
            DateTime loopFrom            = sick.From;

            while (loopFrom <= sick.To)
            {
                if (ISWorkDay(sick.From) && IsNotNationalHolidayExcludeWeekends(sick.From))
                {
                    numberOfWorkingDays++;
                }
                loopFrom = new DateTime(loopFrom.Year, loopFrom.Month, loopFrom.Day).Date.AddDays(1);
            }

            return(numberOfWorkingDays);
        }
예제 #25
0
        public virtual TaskStatus OnUpdate()
        {
            AgentActor agent     = this.Agent;
            Sickness   sickState = agent.AgentData.SickState;

            if (sickState.ID == 0)
            {
                agent.AgentData.ColdLockInfo.Lock = true;
                if (sickState.Enabled)
                {
                    agent.SetStatus(0, 50f);
                }
            }
            sickState.ID = -1;
            return((TaskStatus)2);
        }
예제 #26
0
        public async Task <ActionResult <SicknessDTO> > UpdateSickness([FromBody] Sickness sickness)
        {
            try
            {
                var updateSickness = await _sicknessService.UpdateSickness(sickness);

                if (updateSickness is null)
                {
                    return(NotFound());
                }
                return(Ok(updateSickness));
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
예제 #27
0
    public Sickness GetRandomsickness()
    {
        Sickness sicknessToReturn = sicknesses[0];
        float    value            = totalWeight * Random.value;

        for (int i = 0; i < sicknesses.Length; i++)
        {
            sicknessToReturn = sicknesses[i];
            value           -= sicknessToReturn.weight;
            if (value <= 0)
            {
                break;
            }
        }

        return(new Sickness(sicknessToReturn));
    }
            public static void Postfix()
            {
                if (Helper.MinionsLoaded)
                {
                    return;
                }
                List <MinionIdentity> minions = Components.LiveMinionIdentities?.Items;

                if (minions == null || minions.Count == 0)
                {
                    return;
                }
                try
                {
                    ConfigSettings settings = ConfigReader <ConfigSettings> .GetConfig();

                    Helper.showLocation = settings == null ? false : settings.ShowLocation;
                }
                catch (Exception)
                {
                    Helper.showLocation = false;
                }
                try
                {
                    foreach (MinionIdentity minion in minions)
                    {
                        GermExposureMonitor.Instance monitor = minion.gameObject.GetSMI <GermExposureMonitor.Instance>();
                        foreach (GermExposureMonitor.ExposureType exposure in GermExposureMonitor.exposureTypes)
                        {
                            GermExposureMonitor.ExposureState state = monitor.GetExposureState(exposure.germ_id);
                            if (state == GermExposureMonitor.ExposureState.Contracted || state == GermExposureMonitor.ExposureState.Exposed)
                            {
                                Sickness sickness     = Db.Get().Sicknesses.Get(exposure.sickness_id);
                                string   sicknessName = sickness != null ? sickness.Name : "a disease";
                                Helper.CreateAndAddNotification(monitor, sicknessName);
                            }
                        }
                    }
                }
                catch (Exception)
                {
                    //Do nothing. Can't be sure why this error occurred, but hopefully will only happen this time.
                }
                Helper.MinionsLoaded = true;
            }
예제 #29
0
        private void SicknessStages(Sickness sickness)
        {
            int stageCount = EditorGUILayout.IntField("Number of Stages", sickness.SicknessStages.Count);

            if (stageCount != sickness.SicknessStages.Count)
            {
                while (stageCount > sickness.SicknessStages.Count)
                {
                    sickness.SicknessStages.Insert(sickness.SicknessStages.Count, new SicknessStage());
                }
                while (stageCount < sickness.SicknessStages.Count)
                {
                    sickness.SicknessStages.RemoveAt(sickness.SicknessStages.Count - 1);
                }
            }

            for (int stage = 0; stage < sickness.SicknessStages.Count; stage++)
            {
                SerializedProperty currentStage = serializedObject.FindProperty("sicknessStages").GetArrayElementAtIndex(stage);
                SerializedProperty symptom      = currentStage.FindPropertyRelative("symptom");
                EditorGUILayout.PropertyField(symptom);

                EditorGUI.indentLevel++;

                SerializedProperty repeatSymptom = currentStage.FindPropertyRelative("repeatSymptom");
                EditorGUILayout.PropertyField(repeatSymptom);

                if (repeatSymptom.boolValue)
                {
                    EditorGUILayout.PropertyField(currentStage.FindPropertyRelative("repeatMinDelay"));
                    EditorGUILayout.PropertyField(currentStage.FindPropertyRelative("repeatMaxDelay"));
                }

                EditorGUILayout.PropertyField(currentStage.FindPropertyRelative("secondsBeforeNextStage"));

                sickness.SicknessStages[stage].Symptom = (SymptomType)symptom.intValue;
                if (symptom.intValue == (int)SymptomType.CustomMessage)
                {
                    ShowCustomMessageOptions((CustomMessageParameter)sickness.SicknessStages[stage].ExtendedSymptomParameters);
                }

                EditorGUI.indentLevel--;
            }
        }
예제 #30
0
        public async Task <IActionResult> AddSickness([FromBody] SicknessForAddOrUpdateDto sicknessForAddOrUpdateDto, int AppointmentId)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var serviceToCreate = new Sickness
            {
                sicknessName        = sicknessForAddOrUpdateDto.sicknessName,
                sicknessDescription = sicknessForAddOrUpdateDto.sicknessDescription,
                cured         = sicknessForAddOrUpdateDto.cured,
                appointmentId = AppointmentId
            };

            await _repo.AddSickness(serviceToCreate);

            return(StatusCode(201));
        }