public Guid Create(Crisis crisis) { crisis.Id = Guid.NewGuid(); crisis.WhenHappend = DateTime.Now; Bus.Send("CrisisWorkflow", crisis); return(crisis.Id); }
public ActionResult Create([Bind(Include = "Id,CallerName,CallerNumber,Location,Description,EmergencyId,AssistanceRequiredId,CategoryId")] Crisis crisis) { if (!loginHelper.isAuthorized(Convert.ToInt32(Session["userRole"]), roleRequired)) { return(RedirectToAction("NotAuthorized", "Error")); } if (ModelState.IsValid) { crisis.TimeStamp = DateTime.Now; CrisisRepository.addCrisis(crisis); if (crisis.EmergencyId == 3) { crisis.Category = categoriesRepository.getCategoryById(crisis.CategoryId); crisis.AssistanceRequired = assistanceRequiredRepository.getAssistanceRequiredById(crisis.AssistanceRequiredId); crisis.Emergency = emergencyRepository.getEmergencyById(crisis.EmergencyId); Console.WriteLine("Level 3 Report detected!"); ReportJobs reportJobs = new ReportJobs(); //add back ground job to send crisis for approval BackgroundJob.Enqueue(() => reportJobs.sendCrisis(crisis)); } return(RedirectToAction("Index")); } //new code ViewBag.AssistanceRequiredId = new SelectList(assistanceRequiredRepository.getAssistanceRequired(), "Id", "Assistance", crisis.AssistanceRequiredId); ViewBag.CategoryId = new SelectList(categoriesRepository.getCategories(), "Id", "Description", crisis.CategoryId); ViewBag.EmergencyId = new SelectList(emergencyRepository.getEmergencies(), "Id", "Level", crisis.EmergencyId); return(View(crisis)); }
public void AddCrisis() { inCrisis = true; crisis = new Crisis(); crisis.SetNumber(); crisis.myCountry = this; }
public IHttpActionResult PutCrisis(int id, Crisis crisis) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != crisis.CrisisId) { return(BadRequest()); } db.Entry(crisis).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!CrisisExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public void ExampleTest1() { var expected = "Yes"; var actual = Crisis.HelpZoom(new[] { 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1 }); Assert.AreEqual(expected, actual); }
public ActionResult Update(int id) { //retrieves info for a specific crisis Crisis selectedcrisis = db.Crisiss.SqlQuery("select * from Crises where CrisisId = @id", new SqlParameter("@id", id)).FirstOrDefault(); return(View(selectedcrisis)); }
public ActionResult DeleteConfirmed(int id) { Crisis crisis = db.Crises.Find(id); db.Crises.Remove(crisis); db.SaveChanges(); return(RedirectToAction("Index")); }
public void StopCrisis_CrisisOngoing_ReturnOk() { var crisisName = CrisisName.Create("crisis 1"); var crisis = new Crisis(crisisName.Value, "crisis description"); var result = crisis.StopCrisis(); result.IsSuccess.Should().BeTrue(); crisis.Status.Should().Be(CrisisStatus.Ended); }
public ActionResult Edit([Bind(Include = "CrisisId,Type")] Crisis crisis) { if (ModelState.IsValid) { db.Entry(crisis).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(crisis)); }
public void StopCrisis_AlreadyEnded_ReturnFail() { var crisisName = CrisisName.Create("crisis 1"); var crisis = new Crisis(crisisName.Value, "crisis description"); crisis.StopCrisis(); var result = crisis.StopCrisis(); result.IsFailed.Should().BeTrue(); result.WithError("Crisis is already stopped"); }
// GET: api/crises/5 public IHttpActionResult Get(int id) { if (id <= 0) { return(NotFound()); } Crisis crisis = _crisesRepo.GetCrisisById(id); return(Ok(crisis)); }
public IHttpActionResult GetCrisis(int id) { Crisis crisis = db.Crises.Find(id); if (crisis == null) { return(NotFound()); } return(Ok(crisis)); }
public ActionResult Create([Bind(Include = "CrisisId,Type")] Crisis crisis) { if (ModelState.IsValid) { db.Crises.Add(crisis); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(crisis)); }
public IHttpActionResult PostCrisis(Crisis crisis) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Crises.Add(crisis); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = crisis.CrisisId }, crisis)); }
public ActionResult Edit([Bind(Include = "Id,CallerName,CallerNumber,Location,Description,EmergencyId,AssistanceRequiredId,CategoryId,Response")] Crisis crisis) { if (ModelState.IsValid) { CrisisRepository.editCrisis(crisis); return(RedirectToAction("Index")); } ViewBag.AssistanceRequiredId = new SelectList(assistanceRequiredRepository.getAssistanceRequired(), "Id", "Assistance", crisis.AssistanceRequiredId); ViewBag.CategoryId = new SelectList(categoriesRepository.getCategories(), "Id", "Description", crisis.CategoryId); ViewBag.EmergencyId = new SelectList(emergencyRepository.getEmergencies(), "Id", "Level", crisis.EmergencyId); return(View(crisis)); }
public ActionResult DeleteConfirmed(int id) { if (Session["userId"] == null) { return(Redirect("/login/index")); } //Crisis crisis = db.Crises.Find(id); Crisis crisis = CrisisRepository.removeCrisis(id); //db.Crises.Remove(crisis); //db.SaveChanges(); return(RedirectToAction("Index")); }
public IHttpActionResult DeleteCrisis(int id) { Crisis crisis = db.Crises.Find(id); if (crisis == null) { return(NotFound()); } db.Crises.Remove(crisis); db.SaveChanges(); return(Ok(crisis)); }
// GET: Crises/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Crisis crisis = db.Crises.Find(id); if (crisis == null) { return(HttpNotFound()); } return(View(crisis)); }
public bool addCrisis(Crisis crisis) { try { db.Crises.Add(crisis); db.SaveChanges(); return(true); } catch (Exception ex) { Console.WriteLine(ex); return(false); } }
public void AddTeam_TeamAlreadyExist_ReturnFail() { var team1 = new Team { Id = 1, Name = "Team 1", Description = "desc 1" }; var crisisName = CrisisName.Create("crisis 1"); var crisis = new Crisis(crisisName.Value, "crisis description"); crisis.AddTeam(team1); var result = crisis.AddTeam(team1); result.IsSuccess.Should().BeFalse(); }
public WorkItem(int size, Crisis.Ionic.Zlib.CompressionLevel compressLevel, CompressionStrategy strategy, int ix) { this.buffer= new byte[size]; // alloc 5 bytes overhead for every block (margin of safety= 2) int n = size + ((size / 32768)+1) * 5 * 2; this.compressed = new byte[n]; this.compressor = new ZlibCodec(); this.compressor.InitializeDeflate(compressLevel, false); this.compressor.OutputBuffer = this.compressed; this.compressor.InputBuffer = this.buffer; this.index = ix; }
public bool editCrisis(Crisis crisis) { try { crisis.TimeStamp = DateTime.Now; db.Entry(crisis).State = EntityState.Modified; db.SaveChanges(); return(true); } catch (Exception ex) { Console.WriteLine(ex); return(false); } }
public Crisis removeCrisis(int?id) { Crisis crisis = db.Crises.Find(id); try { db.Crises.Remove(crisis); db.SaveChanges(); return(crisis); } catch (Exception ex) { Console.WriteLine(ex); return(crisis); } }
public static BaseCrisisViewModel Map(Crisis crisis) { return(new BaseCrisisViewModel { Id = crisis.Id, Name = crisis.CrisisName.Value, Description = crisis.Description, Status = crisis.Status.ToString(), Teams = crisis.CrisisTeams?.Select(t => new Team { Id = t.Team.Id, Name = t.Team.Name, Description = t.Team.Description }).ToList() }); }
public void AddTeam_TeamAdded_ReturnOk() { var team1 = new Team { Id = 1, Name = "Team 1", Description = "desc 1" }; var team2 = new Team { Id = 2, Name = "Team 2", Description = "desc 2" }; var crisisName = CrisisName.Create("crisis 1"); var crisis = new Crisis(crisisName.Value, "crisis description"); crisis.AddTeam(team1); var result = crisis.AddTeam(team2); result.IsSuccess.Should().BeTrue(); }
//sendcrisis for approval when a level 3 crisis is made public void sendCrisis(Crisis crisis) { Console.WriteLine("Crisis Level 3"); var new_report = new SummaryReport(); string add = ""; add += "Caller Name: " + crisis.CallerName + "\nCaller Number: " + crisis.CallerNumber + "\nLocation: " + crisis.Location + "'nDescription: " + crisis.Description + "\nCategory: " + crisis.Category.Description + "\nAssistance Required: " + crisis.AssistanceRequired.Assistance + "\nEmergency Level: " + crisis.Emergency.Level + "\nDate and Time: " + crisis.TimeStamp; new_report.ReportDetails = add; summaryReportRepository.addNewReport(new_report); new_report.TimeStamp = DateTime.Now; }
// GET: Crises/Details/5 public ActionResult Details(int?id) { if (Session["userId"] == null) { return(Redirect("/login/index")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Crisis crisis = CrisisRepository.getCrisisById(id); if (crisis == null) { return(HttpNotFound()); } return(View(crisis)); }
// GET: Crises/Details/5 public ActionResult Details(int?id) { if (!loginHelper.isAuthorized(Convert.ToInt32(Session["userRole"]), roleRequired)) { return(RedirectToAction("NotAuthorized", "Error")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Crisis crisis = CrisisRepository.getCrisisById(id); if (crisis == null) { return(HttpNotFound()); } return(View(crisis)); }
// GET: Crises/Edit/5 public ActionResult Edit(int?id) { if (!loginHelper.isAuthorized(Convert.ToInt32(Session["userRole"]), roleRequired)) { return(RedirectToAction("NotAuthorized", "Error")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Crisis crisis = CrisisRepository.getCrisisById(id); if (crisis == null) { return(HttpNotFound()); } ViewBag.AssistanceRequiredId = new SelectList(assistanceRequiredRepository.getAssistanceRequired(), "Id", "Assistance", crisis.AssistanceRequiredId); ViewBag.CategoryId = new SelectList(categoriesRepository.getCategories(), "Id", "Description", crisis.CategoryId); ViewBag.EmergencyId = new SelectList(emergencyRepository.getEmergencies(), "Id", "Level", crisis.EmergencyId); return(View(crisis)); }
// GET: Crises/Edit/5 public ActionResult Edit(int?id) { if (Session["userId"] == null) { return(Redirect("/login/index")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Crisis crisis = CrisisRepository.getCrisisById(id); if (crisis == null) { return(HttpNotFound()); } ViewBag.AssistanceRequiredId = new SelectList(db.AssistanceRequireds, "Id", "Assistance", crisis.AssistanceRequiredId); ViewBag.CategoryId = new SelectList(db.Categories, "Id", "Description", crisis.CategoryId); ViewBag.EmergencyId = new SelectList(db.Emergencies, "Id", "Level", crisis.EmergencyId); return(View(crisis)); }
public async Task <Result <BaseCrisisViewModel> > Handle(CreateCrisisRequest request, CancellationToken cancellationToken) { if (request.TeamIds.Count == 0) { return(Result.Fail("Request team empty")); } var teams = await _dbContext .Teams .Where(t => request.TeamIds.Contains(t.Id)) .ToListAsync(cancellationToken); if (teams.Count != request.TeamIds.Count) { return(Result.Fail("Not all teams found")); } var crisisName = CrisisName.Create(request.Name); if (crisisName.IsFailed) { // TODO return result error } var crisis = new Crisis(crisisName.Value, request.Description); foreach (var team in teams) { var result = crisis.AddTeam(team); } _dbContext.Crisises.Add(crisis); await _dbContext.SaveChangesAsync(cancellationToken); var viewModel = BaseCrisisViewModel.Map(crisis); return(Result.Ok(viewModel)); }
internal abstract bool Evaluate(Crisis.Ionic.Zip.ZipEntry entry);
internal override bool Evaluate(Crisis.Ionic.Zip.ZipEntry entry) { // swap forward slashes in the entry.FileName for backslashes string transformedFileName = entry.FileName.Replace("/", "\\"); return _Evaluate(transformedFileName); }
internal override bool Evaluate(Crisis.Ionic.Zip.ZipEntry entry) { return _Evaluate(entry.UncompressedSize); }
/// <summary> /// Retrieve the ZipEntry items in the ZipFile that conform to the specified criteria. /// </summary> /// <remarks> /// /// <para> /// This method applies the criteria set in the FileSelector instance (as described in /// the <see cref="FileSelector.SelectionCriteria"/>) to the specified ZipFile. Using this /// method, for example, you can retrieve all entries from the given ZipFile that /// have filenames ending in .txt. /// </para> /// /// <para> /// Normally, applications would not call this method directly. This method is used /// by the ZipFile class. /// </para> /// /// <para> /// This overload allows the selection of ZipEntry instances from the ZipFile to be restricted /// to entries contained within a particular directory in the ZipFile. /// </para> /// /// <para> /// Using the appropriate SelectionCriteria, you can retrieve entries based on size, /// time, and attributes. See <see cref="FileSelector.SelectionCriteria"/> for a /// description of the syntax of the SelectionCriteria string. /// </para> /// /// </remarks> /// /// <param name="zip">The ZipFile from which to retrieve entries.</param> /// /// <param name="directoryPathInArchive"> /// the directory in the archive from which to select entries. If null, then /// all directories in the archive are used. /// </param> /// /// <returns>a collection of ZipEntry objects that conform to the criteria.</returns> public ICollection<Crisis.Ionic.Zip.ZipEntry> SelectEntries(Crisis.Ionic.Zip.ZipFile zip, string directoryPathInArchive) { if (zip == null) throw new ArgumentNullException("zip"); var list = new List<Crisis.Ionic.Zip.ZipEntry>(); // workitem 8559 string slashSwapped = (directoryPathInArchive == null) ? null : directoryPathInArchive.Replace("/", "\\"); // workitem 9174 if (slashSwapped != null) { while (slashSwapped.EndsWith("\\")) slashSwapped = slashSwapped.Substring(0, slashSwapped.Length - 1); } foreach (Crisis.Ionic.Zip.ZipEntry e in zip) { if (directoryPathInArchive == null || (Path.GetDirectoryName(e.FileName) == directoryPathInArchive) || (Path.GetDirectoryName(e.FileName) == slashSwapped)) // workitem 8559 if (this.Evaluate(e)) list.Add(e); } return list; }
internal override bool Evaluate(Crisis.Ionic.Zip.ZipEntry entry) { bool result = Left.Evaluate(entry); switch (Conjunction) { case LogicalConjunction.AND: if (result) result = Right.Evaluate(entry); break; case LogicalConjunction.OR: if (!result) result = Right.Evaluate(entry); break; case LogicalConjunction.XOR: result ^= Right.Evaluate(entry); break; } return result; }
/// <summary> /// Prepare the given stream for output - wrap it in a CountingStream, and /// then in a CRC stream, and an encryptor and deflator as appropriate. /// </summary> /// <remarks> /// <para> /// Previously this was used in ZipEntry.Write(), but in an effort to /// introduce some efficiencies in that method I've refactored to put the /// code inline. This method still gets called by ZipOutputStream. /// </para> /// </remarks> internal void PrepOutputStream(Stream s, long streamLength, out CountingStream outputCounter, out Stream encryptor, out Stream compressor, out Crisis.Ionic.Crc.CrcCalculatorStream output) { TraceWriteLine("PrepOutputStream: e({0}) comp({1}) crypto({2}) zf({3})", FileName, CompressionLevel, Encryption, _container.Name); // Wrap a counting stream around the raw output stream: // This is the last thing that happens before the bits go to the // application-provided stream. outputCounter = new CountingStream(s); // Sometimes the incoming "raw" output stream is already a CountingStream. // Doesn't matter. Wrap it with a counter anyway. We need to count at both // levels. if (streamLength != 0L) { // Maybe wrap an encrypting stream around that: // This will happen BEFORE output counting, and AFTER deflation, if encryption // is used. encryptor = MaybeApplyEncryption(outputCounter); // Maybe wrap a compressing Stream around that. // This will happen BEFORE encryption (if any) as we write data out. compressor = MaybeApplyCompression(encryptor, streamLength); } else { encryptor = compressor = outputCounter; } // Wrap a CrcCalculatorStream around that. // This will happen BEFORE compression (if any) as we write data out. output = new Crisis.Ionic.Crc.CrcCalculatorStream(compressor, true); }
internal void FinishOutputStream(Stream s, CountingStream entryCounter, Stream encryptor, Stream compressor, Crisis.Ionic.Crc.CrcCalculatorStream output) { if (output == null) return; output.Close(); // by calling Close() on the deflate stream, we write the footer bytes, as necessary. if ((compressor as Crisis.Ionic.Zlib.DeflateStream) != null) compressor.Close(); #if BZIP else if ((compressor as Ionic.BZip2.BZip2OutputStream) != null) compressor.Close(); #if !NETCF else if ((compressor as Ionic.BZip2.ParallelBZip2OutputStream) != null) compressor.Close(); #endif #endif #if !NETCF else if ((compressor as Crisis.Ionic.Zlib.ParallelDeflateOutputStream) != null) compressor.Close(); #endif encryptor.Flush(); encryptor.Close(); _LengthOfTrailer = 0; _UncompressedSize = output.TotalBytesSlurped; #if AESCRYPTO WinZipAesCipherStream wzacs = encryptor as WinZipAesCipherStream; if (wzacs != null && _UncompressedSize > 0) { s.Write(wzacs.FinalAuthentication, 0, 10); _LengthOfTrailer += 10; } #endif _CompressedFileDataSize = entryCounter.BytesWritten; _CompressedSize = _CompressedFileDataSize; // may be adjusted _Crc32 = output.Crc; // Set _RelativeOffsetOfLocalHeader now, to allow for re-streaming StoreRelativeOffset(); }
private bool Evaluate(Crisis.Ionic.Zip.ZipEntry entry) { bool result = _Criterion.Evaluate(entry); return result; }
internal override bool Evaluate(Crisis.Ionic.Zip.ZipEntry entry) { bool result = (ObjectType == 'D') ? entry.IsDirectory : !entry.IsDirectory; if (Operator != ComparisonOperator.EqualTo) result = !result; return result; }
internal override bool Evaluate(Crisis.Ionic.Zip.ZipEntry entry) { DateTime x; switch (Which) { case WhichTime.atime: x = entry.AccessedTime; break; case WhichTime.mtime: x = entry.ModifiedTime; break; case WhichTime.ctime: x = entry.CreationTime; break; default: throw new ArgumentException("??time"); } return _Evaluate(x); }
internal override bool Evaluate(Crisis.Ionic.Zip.ZipEntry entry) { FileAttributes fileAttrs = entry.Attributes; return _Evaluate(fileAttrs); }
/// <summary> /// Retrieve the ZipEntry items in the ZipFile that conform to the specified criteria. /// </summary> /// <remarks> /// /// <para> /// This method applies the criteria set in the FileSelector instance (as described in /// the <see cref="FileSelector.SelectionCriteria"/>) to the specified ZipFile. Using this /// method, for example, you can retrieve all entries from the given ZipFile that /// have filenames ending in .txt. /// </para> /// /// <para> /// Normally, applications would not call this method directly. This method is used /// by the ZipFile class. /// </para> /// /// <para> /// Using the appropriate SelectionCriteria, you can retrieve entries based on size, /// time, and attributes. See <see cref="FileSelector.SelectionCriteria"/> for a /// description of the syntax of the SelectionCriteria string. /// </para> /// /// </remarks> /// /// <param name="zip">The ZipFile from which to retrieve entries.</param> /// /// <returns>a collection of ZipEntry objects that conform to the criteria.</returns> public ICollection<Crisis.Ionic.Zip.ZipEntry> SelectEntries(Crisis.Ionic.Zip.ZipFile zip) { if (zip == null) throw new ArgumentNullException("zip"); var list = new List<Crisis.Ionic.Zip.ZipEntry>(); foreach (Crisis.Ionic.Zip.ZipEntry e in zip) { if (this.Evaluate(e)) list.Add(e); } return list; }