public IHttpActionResult PutEmergencyMessage(int id, EmergencyMessage emergencyMessage) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != emergencyMessage.Id) { return(BadRequest()); } db.Entry(emergencyMessage).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!EmergencyMessageExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult PostEmergencyMessage(EmergencyMessage emergencyMessage) { List <int> nearbyUsers = new List <int>(); if (!UserExists(emergencyMessage.senderId)) { return(null); } else { int distance = 2;//Utility.getRadarAera(area); var user = db.Users.FirstOrDefault(u => u.Id == emergencyMessage.senderId); foreach (var u in db.Users) { if (u.Id != emergencyMessage.senderId) { if (Utility.distFrom(user.latitude, user.longitude, u.latitude, u.longitude) <= distance) { nearbyUsers.Add(u.Id); } } } foreach (int u in nearbyUsers) { emergencyMessage.receiverId = u; db.EmergencyMessages.Add(emergencyMessage); db.SaveChanges(); } } return(Ok(nearbyUsers.Count)); }
public IHttpActionResult DeleteEmergencyMessage(int id) { EmergencyMessage emergencyMessage = db.EmergencyMessages.Find(id); if (emergencyMessage == null) { return(NotFound()); } db.EmergencyMessages.Remove(emergencyMessage); db.SaveChanges(); return(Ok(emergencyMessage)); }
private void SendMessage(RequestDto itemDto) { var operatorStatuses = GetStatusesByRoleActionIsMessageSent(PropertyConstants.UserRole.Operator.ToUpper(), actions.Update, true); if (operatorStatuses.Contains(itemDto.Status.Id)) { EmergencyMessage emergencyMessage = new EmergencyMessage(); emergencyMessage.Title = "New Request (" + itemDto.Case + ")"; emergencyMessage.Message = "A " + itemDto.KindOfAnimal + " " + " has been found in " + itemDto.AnimalState.ToString() + " state." + Environment.NewLine; emergencyMessage.Message += itemDto.CaseDescription + Environment.NewLine; emergencyMessage.Message += "Contact info: " + itemDto.FirstName + " " + itemDto.LastName + ", phone: " + itemDto.Phone; emergencyMessage.Address = itemDto.Address; _eventEmittingService.PublishMessage(emergencyMessage); } }