示例#1
0
    public void GetGameEvents(Object obj)
    {
        // cast to get incoming type
        Officer sender_officer = obj as Officer;
        Crime   sender_crime   = obj as Crime;

        if (gameState == GameState.Map)
        {
            if (sender_crime != null)
            {
                SelectCrime(sender_crime);
            }
        }
        else if (gameState == GameState.Map_crimeSelected_waitingForOfficer)
        {
            if (sender_officer != null)
            {
                depot.SendOfficerRequest(sender_officer, currentCrimeSelected);
                currentCrimeSelected = null;
                gameState            = GameState.Map;
            }
            else if (sender_crime != null)
            {
                SelectCrime(sender_crime);
            }
        }
        else if (gameState == GameState.Map_officerSelected_waitingForCrime)
        {
            // this workflow (selecting officer then crime) is not yet created
        }
    }
        private void button6_Click(object sender, EventArgs e)
        {
            string  check    = comboBox1.SelectedItem.ToString();
            string  criminal = comboBox2.SelectedItem.ToString();
            Crime   c        = new Crime();
            Officer of       = new Officer();

            of.officer_username = label6.Text;
            c.add_criminal(comboBox2.SelectedItem.ToString(), of);

            string Status = c.status.ToString();

            try
            {
                XmlDocument XMLEdit = new XmlDocument();
                XMLEdit.Load("CRIMEDATA.xml");

                XmlElement XMLEditNode = XMLEdit.DocumentElement;

                foreach (XmlNode node in XMLEditNode)       // Loop through XML file
                {
                    if (node["CrimeID"].InnerText == check) // Check for the ID field information
                    {
                        node["Status"].InnerText   = "1";
                        node["Criminal"].InnerText = criminal;
                        break;
                    }
                }
                // MessageBox.Show("YARAAAB");
                XMLEdit.Save("CRIMEDATA.xml");
            }
            catch (Exception)
            {
            }
        }
示例#3
0
 public void ResolveCurrentCrime()
 {
     currentCrime = null;
     AdjustCondition(-1);
     DisplayNormalState();
     GetNeighborhood().UpdateCrimeLevel(-1);
 }
        public Crime Adicionar(Crime crime)
        {
            this.Context.Crimes.Add(crime);
            this.Context.SaveChanges();

            return(crime);
        }
示例#5
0
        public void InsertCrimeLocalizationItem(Guid crimeId, CrimeLocalization crimeLocalization)
        {
            var crime = _col.Find(c => c.Id == crimeId).FirstOrDefault();

            if (crime == null)
            {
                crime = new Crime {
                    Id = crimeId, ListCrimeLocalizations = new List <CrimeLocalization> {
                        crimeLocalization
                    }
                };
                _col.InsertOne(crime);
            }
            else
            {
                var cartItemFromDb = crime.ListCrimeLocalizations.FirstOrDefault(ci => ci.Id == crimeLocalization.Id);
                if (cartItemFromDb == null)
                {
                    crime.ListCrimeLocalizations.Add(crimeLocalization);
                }
                else
                {
                    cartItemFromDb.Quantity = cartItemFromDb.Quantity + crimeLocalization.Quantity;
                }
                var update = Builders <Crime> .Update
                             .Set(c => c.ListCrimeLocalizations, crime.ListCrimeLocalizations);

                _col.UpdateOne(c => c.Id == crimeId, update);
            }
        }
示例#6
0
        public void OnCrime(ShPlayer player, byte crimeIndex, ShPlayer victim)
        {
            if (player.svPlayer.godMode || player.svPlayer.InvalidCrime(crimeIndex))
            {
                return;
            }

            Crime    crime = player.manager.GetCrime(crimeIndex);
            ShPlayer witness;

            if (!crime.witness)
            {
                witness = victim;
            }
            else if (!player.svPlayer.GetWitness(victim, out witness))
            {
                return;
            }

            player.AddCrime(crime.index, witness);
            player.svPlayer.Send(SvSendType.Self, Channel.Reliable, ClPacket.AddCrime, crime.index, witness ? witness.ID : 0);

            // Don't hand out crime penalties for criminal jobs and default job
            if (!player.svPlayer.job.IsCriminal && player.svPlayer.job.info.shared.jobIndex > 0)
            {
                player.svPlayer.Reward(-crime.experiencePenalty, -crime.fine);
            }
        }
示例#7
0
 public ActionResult Create([Bind(Include = "TypeOfCrimeId,SuspectId,Description,Date,Suspect_SuspectId, Suspect_SuspectId1")] Crime crime, string[] selectedSuspects)
 {
     if (selectedSuspects != null)
     {
         crime.Suspects = new List <Suspect>();
         foreach (var suspect in selectedSuspects)
         {
             var suspectToAdd = db.Suspects.Find(int.Parse(suspect));
             crime.Suspects.Add(suspectToAdd);
         }
     }
     try
     {
         if (ModelState.IsValid)
         {
             db.Crimes.Add(crime);
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     catch (DataException)
     {
         ModelState.AddModelError("", "Kan ikke lagre endringer. Prøv igjen, om problemet fortsetter kontakt din system administrator.");
     }
     PopulateAssignedSuspects(crime);
     //ViewBag.SuspectId = new SelectList(db.Suspects, "SuspectId", "Name", crime.SuspectId);
     ViewBag.TypeOfCrimeId = new SelectList(db.TypeOfCrimes, "TypeOfCrimeId", "CrimeTypeName", crime.TypeOfCrimeId);
     return(View(crime));
 }
示例#8
0
        public async Task <ActionResult <Crime> > PostCrime(Crime crime)
        {
            _context.Crimes.Add(crime);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCrime", new { id = crime.Id }, crime));
        }
示例#9
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Date,Name,Punishment")] Crime crime)
        {
            if (id != crime.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(crime);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CrimeExists(crime.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(crime));
        }
示例#10
0
        private void UpdateSuspectsOnCrime(string[] selectedSuspect, Crime crimeToUpdate)
        {
            if (selectedSuspect == null)
            {
                crimeToUpdate.Suspects = new List <Suspect>();
                return;
            }

            var selectedCrimesHS = new HashSet <string>(selectedSuspect);
            var crimeSuspects    = new HashSet <int>
                                       (crimeToUpdate.Suspects.Select(s => s.SuspectId));

            foreach (var suspect in db.Suspects)
            {
                if (selectedCrimesHS.Contains(suspect.SuspectId.ToString()))
                {
                    if (!crimeSuspects.Contains(suspect.SuspectId))
                    {
                        crimeToUpdate.Suspects.Add(suspect);
                    }
                }
                else
                {
                    if (crimeSuspects.Contains(suspect.SuspectId))
                    {
                        crimeToUpdate.Suspects.Remove(suspect);
                    }
                }
            }
        }
示例#11
0
 public void Bind(Crime crime)
 {
     this.crime                 = crime;
     titleTextView.Text         = this.crime.Title;
     dateTextView.Text          = this.crime.Date.ToString();
     solvedImageView.Visibility = crime.IsSolved ? ViewStates.Visible : ViewStates.Gone;
 }
示例#12
0
        private void AddButtonItem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var ac = new Crime();

            ac.FormClosed += new FormClosedEventHandler(acClose);
            ac.ShowDialog();
        }
示例#13
0
 void CancelTripToCrime()
 {
     currentCrime      = null;
     m_destinationType = types.DestinationType.Building;
     m_officerState    = types.OfficerState.isTravelling_interruptible;
     SubmitTask((Structure)theDepot);
 }
示例#14
0
    void LeaveCompletedCrimeScene()
    {
        m_officerState = types.OfficerState.isTravelling_interruptible;
        currentCrime   = null;

        InitiateTrip((Structure)theDepot);
    }
示例#15
0
 public CrimeDetailsForm(Crime crime)
 {
     InitializeComponent();
     SetCrimeDetails(crime);
     DisableControls();
     this.crime = crime;
 }
示例#16
0
        public async Task <IActionResult> PutCrime(int id, Crime crime)
        {
            if (id != crime.Id)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
        public ActionResult SaveCrimeReportInDatabase(FormCollection form, HttpPostedFileBase file)
        {
            string fileName = "";

            if (file.ContentLength > 0)
            {
                fileName = Path.GetFileName(file.FileName);
                var path = Path.Combine(Server.MapPath("~/Content/images"), fileName);
                file.SaveAs(path);
            }

            var crimereport = new Crime
            {
                Message       = form["Message"],
                CrimeDate     = Convert.ToDateTime(form["CrimeDate"]),
                Name          = form["Name"],
                CriminalName  = form["CriminalName"],
                Email         = form["Email"],
                Subject       = string.IsNullOrEmpty(form["Subject"]) ? form["Other"] : form["Subject"],
                Location      = form["Location"],
                Files         = fileName,
                ReportingDate = DateTime.Now,
                UpdateDate    = DateTime.Now
            };

            try
            {
                context.Crimes.Add(crimereport);
                context.SaveChanges();
            } catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            return(RedirectToAction("RetrieveCrimeReportView", "RetrieveCrimeReport"));
        }
示例#18
0
        public void InsertCrime(Guid crimeId, Crime crimeItem)
        {
            var crime = _col.Find(c => c.Id == crimeId).FirstOrDefault();

            if (crime == null)
            {
                crime = new Crime {
                    Id = Guid.NewGuid(), Natural = crimeItem.Natural, Year = crimeItem.Year, ListCrimeLocalizations = new List <CrimeLocalization>(crimeItem.ListCrimeLocalizations)
                };
                _col.InsertOne(crime);
            }
            else
            {
                var cartItemFromDb = crime.ListCrimeLocalizations.FirstOrDefault(ci => ci.Id == crimeItem.ListCrimeLocalizations[0].Id);
                if (cartItemFromDb == null)
                {
                    crime.ListCrimeLocalizations.Add(crimeItem.ListCrimeLocalizations[0]);
                }
                else
                {
                    cartItemFromDb.Quantity = cartItemFromDb.Quantity + crimeItem.ListCrimeLocalizations[0].Quantity;
                }
                var update = Builders <Crime> .Update
                             .Set(c => c.ListCrimeLocalizations, crime.ListCrimeLocalizations);

                _col.UpdateOne(c => c.Id == crimeId, update);
            }
        }
示例#19
0
        public static bool Update(Crime crime)
        {
            try
            {
                String update_sql = "UPDATE " + TABLE_NAME + " SET DATE=@date ,TIME=@time,TYPE=@type,CRIME=@crime,DETAISL=@details,PERPETRATOR_ID=@perp_id WHERE ID=@id";
                //Sql command
                sql_command             = new MySqlCommand();
                sql_command.Connection  = (MySqlConnection)database.OpenConnection();
                sql_command.CommandText = update_sql;

                sql_command.Parameters.AddWithValue("@date", crime.date_of_crime);
                sql_command.Parameters.AddWithValue("@time", crime.time_of_crime);
                sql_command.Parameters.AddWithValue("@type", crime.type_of_crime);
                sql_command.Parameters.AddWithValue("@crime", crime.crime_committed);
                sql_command.Parameters.AddWithValue("@details", crime.details_of_crime);
                sql_command.Parameters.AddWithValue("@perp_id", crime.perpetrator_id);

                sql_command.Prepare();

                //execute command
                database.Update(sql_command);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
            finally
            {
                CloseDatabaseConnection();
            }
        }
示例#20
0
        /// <summary>
        /// Selects crime information from the underlying data source.
        /// </summary>
        /// <param name="id">The ID of the associated crime information.</param>
        /// <returns>Returns a Crime object representing the result of the operation.</returns>
        public Crime GetCrimeByID(int id)
        {
            Crime crime = null;

            using (SqlConnection sqlConnection = SqlConnectionFactory.NewSqlConnetion())
            {
                crime = SqlMapper
                        .Query(sqlConnection, CrimeSpGetCrimeByID, new { ID = id }, commandType: CommandType.StoredProcedure)
                        .Select(m => new Crime
                                (
                                    m.Count,
                                    m.DateCreatedUtc,
                                    m.DateUpdatedUtc,
                                    m.Id,
                                    m.IsDeleted,
                                    m.IsVisible,
                                    m.LocalGovernmentAreaID,
                                    m.Month,
                                    m.OffenceID,
                                    m.Year
                                ))
                        .FirstOrDefault();
            }

            return(crime);
        }
示例#21
0
        public void TestCrimeConfig()
        {
            // Save original data
            CrimeMonitorConfiguration data = CrimeMonitorConfiguration.FromFile();

            CrimeMonitorConfiguration config = CrimeMonitorConfiguration.FromJsonString(crimeConfigJson);

            Assert.AreEqual(3, config.criminalrecord.Count);
            Assert.AreEqual(275915, config.claims);
            Assert.AreEqual(400, config.fines);

            record = config.criminalrecord.ToList().FirstOrDefault(r => r.faction == "Calennero State Industries");
            Assert.AreEqual(Superpower.Empire, record.Allegiance);
            Assert.AreEqual("Empire", record.allegiance);
            Assert.AreEqual(105168, record.bountiesAmount);
            Assert.AreEqual(400, record.finesIncurred.Sum(r => r.amount));

            // Verify faction report object
            Assert.AreEqual(2, record.factionReports.Count);
            report = record.factionReports[0];
            Assert.IsTrue(report.bounty);
            Assert.AreEqual(Crime.None, report.crimeDef);
            Assert.AreEqual("HIP 20277", report.system);
            Assert.AreEqual(105168, report.amount);
            report = record.factionReports[1];
            Assert.IsFalse(report.bounty);
            Assert.AreEqual(Crime.FromEDName("dockingMinorTresspass"), report.crimeDef);
            Assert.AreEqual("Fabian City", report.station);

            // Restore original data
            data.ToFile();
        }
示例#22
0
        public bool _handleMissionFine(DateTime timestamp, Mission mission, long fine)
        {
            bool update = false;

            if (mission?.faction != null)
            {
                int    shipId        = EDDI.Instance?.CurrentShip?.LocalId ?? 0;
                Crime  crime         = Crime.FromEDName("missionFine");
                string currentSystem = EDDI.Instance?.CurrentStarSystem?.systemname;

                FactionReport report = new FactionReport(timestamp, false, shipId, crime, currentSystem, fine)
                {
                    station = EDDI.Instance?.CurrentStation?.name,
                    body    = EDDI.Instance?.CurrentStellarBody?.bodyname,
                };

                FactionRecord record = GetRecordWithFaction(mission.faction);
                if (record == null)
                {
                    record = AddRecord(mission.faction);
                }
                AddCrimeToRecord(record, report);
                update = true;
            }
            return(update);
        }
示例#23
0
        public ActionResult UpdateCrimeReportOfDatabase(Crime crime, HttpPostedFileBase file)
        {
            string fileName = "";

            if (file.ContentLength > 0)
            {
                fileName = Path.GetFileName(file.FileName);
                var path = Path.Combine(Server.MapPath("~/Content/images"), fileName);
                file.SaveAs(path);
            }


            try
            {
                crime.UpdateDate           = System.DateTime.Now;
                crime.Files                = fileName;
                context.Entry(crime).State = System.Data.Entity.EntityState.Modified;
                context.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            return(RedirectToAction("RetrieveCrimeReportView", "RetrieveCrimeReport"));
        }
示例#24
0
    //Read from file "Crime.text"
    void PopulateCrime()
    {
        string       line;
        StreamReader r = new StreamReader("Assets/Text/Crime.txt");

        using (r)
        {
            do
            {
                line = r.ReadLine();
                if (line != null)
                {
                    string[] lineData  = line.Split(';');
                    Crime    tempcrime = new Crime();
                    tempcrime.crimename              = lineData[0];
                    tempcrime.crimedia               = new DialogueChoices();
                    tempcrime.crimedia.question      = lineData[1];
                    tempcrime.crimedia.choiceRight   = lineData[2];
                    tempcrime.crimedia.choiceWrong   = lineData[3];
                    tempcrime.crimedia.responseRight = lineData[4];
                    tempcrime.crimedia.responseWrong = lineData[5];

                    Allcrimes.Add(tempcrime);
                }
            } while (line != null);
            r.Close();
        }
    }
示例#25
0
        private void _handleBountyIncurredEvent(BountyIncurredEvent @event)
        {
            int    shipId        = EDDI.Instance?.CurrentShip?.LocalId ?? 0;
            Crime  crime         = Crime.FromEDName(@event.crimetype);
            string currentSystem = EDDI.Instance?.CurrentStarSystem?.systemname;

            // Get victim allegiance from the 'Ship targeted' data
            Target target = shipTargets.FirstOrDefault(t => t.name == @event.victim);

            FactionReport report = new FactionReport(@event.timestamp, true, shipId, crime, currentSystem, @event.bounty)
            {
                station          = EDDI.Instance?.CurrentStation?.name,
                body             = EDDI.Instance?.CurrentStellarBody?.bodyname,
                victim           = @event.victim,
                victimAllegiance = (target?.Allegiance ?? Superpower.None).invariantName
            };

            FactionRecord record = GetRecordWithFaction(@event.faction);

            if (record == null)
            {
                record = AddRecord(@event.faction);
            }
            AddCrimeToRecord(record, report);
        }
示例#26
0
 protected override void finishPathUnit()
 {
     if (heroState == HeroState.ToCrime)
     {
         if (currentFocusedCrime.GetIsActive())
         {
             if (crimeManager.OnCrimeScene(currentTile, currentFocusedCrime.tiles))
             {
                 currentFocusedCrime.AddHeroToScene(hero);
                 SetHeroState(HeroState.Fighting);
             }
             else
             {
                 // if somehow finished on wrong tile, reroute to the actual crime tile
                 GoToTile(crimeManager.GetCrimeInRange(currentTile, currentFocusedCrime.tiles).closestTile);
             }
         }
         else
         {
             // if crime already not active, go back to patrol
             currentFocusedCrime = null;
             SetHeroState(HeroState.Patrol);
             StopPath();
         }
     }
 }
示例#27
0
        public void OnGet()
        {
            using (var webClient = new WebClient())
            {
                //Consuming Parks data
                string crimesJSON = webClient.DownloadString("https://raw.githubusercontent.com/JMFrank215/IS7024Project/master/Parks_Data.txt");
                var    parks      = Parks.FromJson(crimesJSON);
                ViewData["Parks"] = parks;
                ParkSpace.Parks[] Parksparks = ParkSpace.Parks.FromJson(crimesJSON);


                //Consuming Crime data
                string jsonString = webClient.DownloadString("https://raw.githubusercontent.com/JMFrank215/IS7024Project/master/PDI_Crime_Data.txt");


                //Validation received data
                string  crimeschema = System.IO.File.ReadAllText("CrimeSchema.json");
                JSchema cschema     = JSchema.Parse(crimeschema);

                JArray cjsonObject = JArray.Parse(jsonString);

                if (cjsonObject.IsValid(cschema))
                {
                    var crimes = Crime.FromJson(jsonString);
                    ViewData["Crime"] = crimes;
                }
            }
        }
        public void CrimesManagerGetCrimeTest()
        {
            bool  sucess  = CrimesManager.Save(crime);
            Crime a_crime = CrimesManager.GetCrime(crime.id);

            Assert.IsNotNull(a_crime);
        }
示例#29
0
        public ActionResult DeleteConfirmed(int id)
        {
            Crime crime = db.Crime.Find(id);

            db.Crime.Remove(crime);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#30
0
 public BountyIncurredEvent(DateTime timestamp, string crimetype, string faction, string victim, long bounty) : base(timestamp, NAME)
 {
     this.crimetype = crimetype;
     this.crime     = Crime.FromEDName(crimetype).localizedName;
     this.faction   = faction;
     this.victim    = victim;
     this.bounty    = bounty;
 }