Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
            }
        }