Пример #1
0
        public PartialViewResult SendMessage(SendMessageViewModel message)
        {
            var fileStreams = TempData["Files"];

            if (string.IsNullOrWhiteSpace(message.Text) && fileStreams == null)
            {
                return(null);
            }

            var newMessage = _mapper.Map <MessageViewModel>(message);

            newMessage.IsRead = false;

            var groupId = TempData.Peek("groupId");

            if (groupId == null)
            {
                return(null);
            }

            newMessage.IdGroup  = Convert.ToInt32(groupId);
            newMessage.IdSender = _userService.GetUserByLogin(Thread.CurrentPrincipal.Identity.Name).Id;
            var serverMessage = _messageService.SendMessage(newMessage, (fileStreams as List <FileViewModel>));
            IEnumerable <MessageViewModel> viewModel = new List <MessageViewModel>
            {
                serverMessage
            };

            return(PartialView("_GroupMessages", viewModel));
        }
        public SendMessageUC()
        {
            InitializeComponent();
            SendMessageViewModel sendMessageViewModel = new SendMessageViewModel();

            DataContext = sendMessageViewModel;
        }
        // GET: SendMessage
        public ActionResult Index()
        {
            //Gets all the users to show in a dropdown list, prints also if the message was sent.

            var UserNames = db.Users.Select(x => new SelectListItem {
                Text = x.UserName, Value = x.UserName
            });


            SendMessageViewModel model = new SendMessageViewModel();


            model.Users = new SelectList(UserNames, "Value", "Text");

            var parameter = Request.QueryString["Message"];



            if (parameter != null)
            {
                ViewBag.Message   = parameter;
                ViewBag.ReturnUrl = Url.Action("Index");
            }
            else
            {
                model.SuccessMessage = null;
            }

            return(View(model));
        }
        public void WriteMessage(string senderUserId, SendMessageViewModel model, int?reMessageId = null)
        {
            Message message = db.Messages.Add(new Message {
                ApplicationUserId = model.ToUserId, Theme = model.Theme, Text = model.Text, IsRead = false, DateTime = DateTime.Now
            });

            if (reMessageId != null)
            {
                ReMessage reMessage;
                if (db.ReMessages.Any(rm => rm.Id == reMessageId.Value))
                {
                    reMessage = db.ReMessages.Where(rm => rm.Id == reMessageId.Value).First();
                }
                else
                {
                    reMessage = db.ReMessages.Add(new ReMessage {
                        Id = reMessageId.Value
                    });
                }
                db.MessageReMessages.Add(new MessageReMessage {
                    MessageId = message.Id, ReMessageId = reMessage.Id
                });
            }
            db.ApplicationUserMessages.Add(new ApplicationUserMessage {
                MessageId = message.Id, ApplicationUserId = senderUserId
            });
            db.SaveChanges();
        }
Пример #5
0
        public async Task SendBookingInformationMessage(SendMessageViewModel input, Booking booking, ApplicationUser sender)
        {
            if (input.SendToPassenger)
            {
                if (!string.IsNullOrEmpty(booking.PassengerPhone))
                {
                    await _smsService.Send(booking.PassengerPhone, input.EventMessage, booking);
                }

                if (!string.IsNullOrEmpty(booking.PassengerEmail))
                {
                    var senderText  = $"{sender.Name} ({sender.PhoneNumber.AsPhoneNumber()}, {sender.Email})";
                    var bookingDate = $"{booking.BookingDate:dd.MM.yyyy}";
                    var mailMessage = $@"Hi {booking.PassengerName},

Your booking on {bookingDate} has been updated. {senderText} has sent you a new message:

{input.EventMessage}

kind regards,
{_bookingCoordinatorSettings.Name}
Booking Coordinator
Voss HPK
";
                    await _mailService.Send(booking.PassengerEmail, $"Tandem flight on {bookingDate}", mailMessage);
                }
            }
        }
        public async Task <IActionResult> Send([FromBody] SendMessageViewModel info)
        {
            if (info == null)
            {
                info = new SendMessageViewModel();
                TryValidateModel(info);
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            IClientProxy clientProxy;

            if (info.ClientIds == null || info.ClientIds.Count < 1)
            {
                clientProxy = _chatHubContext.Clients.All;
            }
            else
            {
                clientProxy = _chatHubContext.Clients.Clients(info.ClientIds.ToList());
            }

            await clientProxy.SendAsync(info.EventName, info.Item);

            return(Ok());
        }
Пример #7
0
        public ActionResult Create(SendMessageViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                this.TempData["users"] = this.Cache.Get(
                    "user",
                    () => this.Users.GetAll()
                    .Select(c => new SelectListItem {
                    Value = c.Id, Text = c.Email
                })
                    .ToList(),
                    30 * 60);

                return(this.View(model));
            }

            var messagge = new Message()
            {
                Content = model.Content,
                Title   = model.Title,
                ToId    = model.To,
                FromId  = this.UserProfile.Id
            };

            this.Messages.Add(messagge);

            return(this.RedirectToAction("Sent"));
        }
Пример #8
0
        public async Task <IActionResult> Send(SendMessageViewModel model)
        {
            if (ModelState.IsValid)
            {
                var userId     = userManager.GetUserId(HttpContext.User);
                var recieverId = await userManager.FindByNameAsync(model.UserName);

                if (recieverId != null)
                {
                    Msg newMsg = new Msg()
                    {
                        SenderId   = userId,
                        Content    = Encrypt(model.Content),
                        RecieverId = recieverId.Id
                    };
                    msgRepository.Add(newMsg);

                    ViewBag.SuccessTitle   = "Send Confirmed";
                    ViewBag.SuccessMessage = "Your message has been sent.";
                    return(View("Success"));
                }
                else
                {
                    ModelState.AddModelError(String.Empty, "Invalid Username");
                }
            }
            return(View());
        }
Пример #9
0
        public ActionResult Send(SendMessageViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Message m = new Message(User.Identity.GetUserId(), viewModel.Subject, viewModel.Body);
                Db.Messages.Add(m);
                try
                {
                    string[] gReceivers = viewModel.GroupReceivers.Split(',');
                    foreach (string r in gReceivers)
                    {
                        Group grp = Db.Groups.Where(g => g.Name.Equals(r)).First();
                        m.GroupReceivers.Add(grp);
                        Db.SaveChanges();
                    }
                }
                catch (Exception e) {}

                try
                {
                    string[] uReceivers = viewModel.UserReceivers.Split(',');
                    foreach (string r in uReceivers)
                    {
                        ApplicationUserMessage user_message = new ApplicationUserMessage(m.Id, (Db.Users.First(u => u.Email.Equals(r)).Id.ToString()));
                        Db.ApplicationUserMessages.Add(user_message);
                        Db.SaveChanges();
                    }
                }catch (Exception e) {}

                return(RedirectToAction("Sent"));
            }
            return(View());
        }
Пример #10
0
        public ActionResult SendMessage(SendMessageViewModel SendMessageViewModel, int?messageID)
        {
            var user = _userServices.GetUser(SendMessageViewModel.Username);

            if (user == null)
            {
                ModelState.AddModelError("Username", "User doesn't exist.");
            }
            else if (user.UserID == _currentUser.UserID)
            {
                ModelState.AddModelError("Username", "You can't send a message to yourself!");
            }

            if (IsModelValidAndPersistErrors())
            {
                var message = _messageServices.SendMessage(_currentUser.UserID, user.UserID, SendMessageViewModel.Subject, SendMessageViewModel.Message);
                SetSuccess("Message sent to <b>" + user.Username + "</b>");
                string messageURL = Url.Action("ViewMessage", "Messages", new { MessageID = message.MessageID });
                _emailServices.NewMessage(message, user, messageURL);
                return(RedirectToAction("ViewMessage", new { messageID = message.MessageID }));
            }

            if (messageID.HasValue)
            {
                return(RedirectToAction("ViewMessage", new { messageID = messageID.Value }));
            }
            else
            {
                return(RedirectToSelf());
            }
        }
Пример #11
0
 public ResponseModel SendMessage([FromBody] SendMessageViewModel model)
 {
     try
     {
         new MessageRepo().Insert(new Message()
         {
             Content = model.Content,
             Level   = model.Level,
             SentTo  = model.SentTo,
             SendBy  = HttpContext.Current.User.Identity.GetUserId()
         });
         return(new ResponseModel()
         {
             success = true,
             message = "Mesajınız iletilmiştir"
         });
     }
     catch (Exception ex)
     {
         return(new ResponseModel()
         {
             success = false,
             message = $"Veritabanı bağlantı sorunu: {ex.Message}"
         });
     }
 }
        public async Task <ActionResult> AddMessage(Guid id, SendMessageViewModel input)
        {
            var booking = _context.Bookings
                          .Include(b => b.AssignedPilot)
                          .Include(b => b.BookingEvents)
                          .FirstOrDefault(b => b.Id == id);

            if (string.IsNullOrWhiteSpace(input.EventMessage))
            {
                return(RedirectToAction("Details", new { Id = booking.Id }));
            }

            var user = await _userManager.GetUserAsync(User);

            var userId = user.Id;

            if (!User.IsAdmin() && booking.AssignedPilot.Id != userId)
            {
                return(RedirectToAction("Index"));
            }

            var message = input.EventMessage;

            if (input.SendToPassenger)
            {
                message += " (sent to passenger)";
            }

            _bookingService.AddEvent(booking, User, message);
            _context.SaveChanges();

            await _messageService.SendBookingInformationMessage(input, booking, user);

            return(RedirectToAction("Details", new { Id = booking.Id }));
        }
Пример #13
0
        public ActionResult SendMessage(SendMessageViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                PesanUserToAdmin pesanUser = new PesanUserToAdmin();
                pesanUser.UserId         = User.Identity.GetUserId();
                pesanUser.MessageTitle   = model.MessageTitle;
                pesanUser.MessageContent = model.MessageContent;
                pesanUser.DateCreated    = DateTime.UtcNow;

                db.PesanUserToAdmin.Add(pesanUser);
                db.SaveChanges();

                string informationMessage = "Pesan telah dikirim.";
                return(RedirectToAction("Index", new { InformationMessage = informationMessage }));
            }
            catch (Exception ex)
            {
                string errorMessage = ex.Message;
                ModelState.AddModelError("", ex.Message);

                return(View(model));
            }
        }
Пример #14
0
        public ActionResult SendMessage(int?roadStepId, int?roadMapId, int?roadId)
        {
            var model = new SendMessageViewModel();

            if (CurrentUserId == null)
            {
                model.Message = "Please login into your account to send messages.";
                return(View(model));
            }

            if (model.RoadStepId != null)
            {
                var roadStep = Db.RoadSteps.FirstOrDefault(p => p.Id == model.RoadStepId.Value);
                model.RoadStep   = roadStep;
                model.RoadStepId = roadStepId;
            }
            if (model.RoadId != null)
            {
                var road = Db.Roads.FirstOrDefault(p => p.Id == model.RoadId.Value);
                model.Road   = road;
                model.RoadId = roadId;
            }
            if (model.RoadMapId != null)
            {
                var roadMap = Db.RoadMaps.FirstOrDefault(p => p.Id == model.RoadMapId.Value);
                model.RoadMap   = roadMap;
                model.RoadMapId = roadMapId;
            }

            return(View(model));
        }
Пример #15
0
        public async Task SendBookingInformationMessage(SendMessageViewModel input, Booking booking, ApplicationUser sender)
        {
            if (input.SendToPassenger)
            {
                if (!string.IsNullOrEmpty(booking.PassengerPhone))
                {
                    await _smsService.Send(booking.PassengerPhone, input.EventMessage, booking);
                }

                if (!string.IsNullOrEmpty(booking.PassengerEmail))
                {
                    var senderText  = $"{sender.Name} ({sender.PhoneNumber.AsPhoneNumber()}, {sender.Email})";
                    var bookingDate = $"{booking.BookingDate:dd.MM.yyyy}";
                    var mailMessage = $@"Hei {booking.PassengerName},

Bookingen din {bookingDate} er oppdatert. {senderText} har sendt deg en ny melding:

{input.EventMessage}

Med vennlig hilsen,
{_bookingCoordinatorSettings.Name}
Bookingkoordinator
Bodø Hang & Paragliderklubb
";
                    await _mailService.Send(booking.PassengerEmail, $"Tandemtur {bookingDate}", mailMessage);
                }
            }
        }
Пример #16
0
        public void SendMessage(SendMessageViewModel model)
        {
            if (model.ReceiverUserIds != null)
            {
                var user = _userService.GetUser();
                foreach (var item in model.ReceiverUserIds)
                {
                    var message = new Message();
                    message.MessageText    = model.MessageText;
                    message.ReceiverUserId = item;
                    message.SenderUserId   = user.UserId;
                    message.CreateDate     = DateTime.Now;

                    var entity = _messageRepository.Add(message);
                    if (entity != null)
                    {
                        try
                        {
                            _messageRepository.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                            var errorMessage = ex.Message;
                            throw;
                        }
                    }
                }
            }
        }
 public ActionResult WriteMessage(SendMessageViewModel model)
 {
     if (User.Identity.IsAuthenticated && (User.IsInRole("User") || User.IsInRole("Admin")))
     {
         if (ModelState.IsValid)
         {
             if (model.ToUserId != "-1")
             {
                 if (model.Theme == null)
                 {
                     model.Theme = "<Без теми>";
                 }
                 MessageManager.WriteMessage(User.Identity.GetUserId(), model);
                 return(RedirectToAction("SentMessages", "Message"));
             }
             else
             {
                 ModelState.AddModelError("ToUserId", "Виберіть користувача!");
                 List <SiteUser> siteUsers = SiteUserManager.GetContactUsers(User.Identity.GetUserId()).ToList();
                 siteUsers.Insert(0, new SiteUser {
                     Id = "-1", Surname = "Виберіть користувача..."
                 });
                 model.UserContacts = new SelectList(siteUsers, "Id", "FullName");
                 return(View(model));
             }
         }
         else
         {
             return(View(model));
         }
     }
     return(RedirectToAction("Index", "Home"));
 }
        public ActionResult Send(SendMessageFormModel Form)
        {
            SendMessageViewModel model = new SendMessageViewModel();

            model.Form = Form;
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var json = JsonConvert.SerializeObject(new { toDid = Form.User, message = new
                                                         { BirthDate = Form.BirthDate, City = Form.City, Country = Form.Country, Name = Form.Name, NationalDocument = Form.NationalDocument,
                                                           NationalDocumentNumber = Form.NationalDocumentNumber,
                                                           Passport       = Form.Passport,
                                                           PassportNumber = Form.PassportNumber,
                                                           Photo          = Form.Photo,
                                                           Text           = Form.Text } });
            var data = new StringContent(json, Encoding.UTF8, "application/json");

            var url = AffinidyURLMessage + "/messages";

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("Api-Key", HashAffinidy);
                client.DefaultRequestHeaders.Add("Authorization", AccessToken);
                var response = client.PostAsync(url, data).Result;

                ViewBag.Message = "Message sent successfully.";

                return(RedirectToAction("Index"));
            }
        }
Пример #19
0
        public async Task SendMessage(SendMessageViewModel message)
        {
            GetChannelByIdQueryResult channel = await _channelRepository.GetById(message.ChannelId);

            if (channel is null)
            {
                return;
            }
            GetUserByIdQueryResult user = await _userRepository.GetById(message.SenderId);

            if (user is null)
            {
                return;
            }
            var finalMessage = new Message
            {
                Content   = message.Content,
                Date      = message.Date,
                ChannelId = message.ChannelId,
                Sender    = new User
                {
                    Id       = user.Id,
                    Username = user.Username
                }
            };
            await Clients.Group(message.ChannelId.ToString()).SendAsync("ReceiveMessage", finalMessage);
        }
Пример #20
0
        public ActionResult Send(SendMessageViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var userId        = User.Identity.GetUserId();
            var messageToSend = new Message
            {
                Subject     = model.Subjcet,
                Text        = model.Message,
                TimeCreated = DateTime.Now
            };
            var com    = new SingleCommunication();
            var isSend = com.Send(userId, model.ReceiverName, messageToSend);

            if (!isSend)
            {
                TempData["errorMessage"] = "Invalid user name!";
                return(View(model));
            }
            ModelState.Clear();
            TempData["successMessage"] = "Your message is send!";
            return(View());
        }
Пример #21
0
        public ViewResult Send()
        {
            var user = SessionHelper.CurrentEntity;

            var vm = new SendMessageViewModel();

            return(View(vm));
        }
        public ActionResult Index([Bind(Include = "MessageSubject,MessageText, Receiver")] SendMessageViewModel message)
        {
            //Save message to db

            var Sender = db.Users.Find(User.Identity.GetUserId());

            var Receiver = db.Users.SingleOrDefault(recv => recv.UserName.Equals(message.Receiver));

            //var TotalMessages =    //.Where(u => u.Id == Sender.Id).Select(m => m);



            if (ModelState.IsValid)
            {
                Message MessageDB = new Message();

                MessageDB.MessageSubject = message.MessageSubject;
                MessageDB.MessageText    = message.MessageText;
                MessageDB.MessageStatus  = false;
                MessageDB.MessageTime    = DateTime.Now;
                MessageDB.sender         = Sender;
                MessageDB.receiver       = Receiver;

                var findLoginInfo = db.LoginInfos.Where(i => i.LoginUser.Id == Sender.Id);

                /*UserInfo loginInfo = null;
                 *
                 * if (findLoginInfo.Count() == 0)
                 * {
                 *  loginInfo = new UserInfo();
                 *  loginInfo.TotalMessages += 1;
                 *  loginInfo.LoginUser = Sender;
                 *  db.LoginInfos.Add(loginInfo);
                 *  System.Diagnostics.Debug.WriteLine("if: ");
                 * }
                 * else
                 * {
                 *  loginInfo = db.LoginInfos.Find(findLoginInfo.SingleOrDefault().LoginInfoID);
                 *  db.LoginInfos.Attach(loginInfo);
                 *  loginInfo.TotalMessages += 1;
                 *  System.Diagnostics.Debug.WriteLine("Else: ");
                 * }*/


                db.Messages.Add(MessageDB);
                db.SaveChanges();



                var TotalMessages = db.LoginInfos.Where(u => u.LoginUser.Id == Sender.Id).Select(m => m.TotalMessages);

                var successMessage = "Message was sent to " + Receiver.UserName + " succesfully!, " + DateTime.Now;
                return(RedirectToAction("Index", new { Message = successMessage }));
                //return RedirectToAction("Index");
            }

            return(View(message));
        }
Пример #23
0
 public SendMessageView(Case jobOrder)
 {
     InitializeComponent();
     this.jobOrder = jobOrder;
     customer      = SendMessageViewModel.GetCustomerInfo(jobOrder.ClientId);
     dealer        = SendMessageViewModel.GetCustomerInfo(jobOrder.DealerId);
     spCustomerInfo.DataContext = customer;
     spDealerInfo.DataContext   = dealer;
 }
        // GET: Messages/Create
        public ActionResult Create()
        {
            //TODO: fix this
            SendMessageViewModel model = new SendMessageViewModel();

            model.users      = new SelectList(Facade.GetAllUsers(), "Id", "Username"); //Poupulate selectlist in viewmodel with all users
            model.GroupsList = new SelectList(Facade.GetAllGroups(), "Id", "Name");
            return(View(model));
        }
Пример #25
0
 public ActionResult SendMessage(SendMessageViewModel request)
 {
     messageManger.SendMessage(request.PrivateMessage, new MessageTitleDto {
         Title = request.Title, ToUser = new UserDto {
             ID = request.ToUser.ID
         }
     });
     return(RedirectToAction("PrivateMessages", "Account"));
 }
Пример #26
0
 public SendMessageViewModel GetMessageInfoByGroupOrderId(int groupOrderId)
 {
     using (conn = new SqlConnection(connectionString))
     {
         string sql = "SELECT lg.LineGroupID,p.ProductName,c.Title,c.PostTime,c.EndTime FROM LineGroup lg INNER JOIN Campaign c ON c.GroupID = lg.GroupID INNER JOIN GroupOrder g ON g.CampaignID = c.CampaignID INNER JOIN Products p ON p.ProductID = c.ProductID WHERE g.GroupOrderID = @GroupOrderId";
         SendMessageViewModel result = conn.QueryFirstOrDefault <SendMessageViewModel>(sql, new { GroupOrderId = groupOrderId });
         return(result);
     }
 }
Пример #27
0
        public ActionResult SendMessage(string ToUsername)
        {
            SetBreadCrumb("Send Message");
            var model = new SendMessageViewModel()
            {
                Username = ToUsername
            };

            return(View(model));
        }
Пример #28
0
        public ActionResult SendMessage([FromBody] SendMessageViewModel viewModel)
        {
            _service.SendMessage(new Queue()
            {
                Name = viewModel.Queue, Durable = true
            }, new Message()
            {
                Content = viewModel.Message
            });

            return(Ok("Mensagem enviada com sucesso"));
        }
        /// <summary>
        /// Create message
        /// </summary>
        /// <param </param>
        /// <returns></returns>
        public IActionResult Create()
        {
            var    users         = _context.Users.ToList();
            var    usernameList  = new SendMessageViewModel();
            string currentUserId = _userManager.GetUserId(User);

            usernameList.Values = users.Where(u => u.Id != currentUserId).Select((u, index) => new SelectListItem {
                Value = u.Id, Text = u.UserName
            });

            return(View(usernameList));
        }
Пример #30
0
        public SendMessageViewModel GetSendMessageFormData()
        {
            var model = new SendMessageViewModel();

            model.ReceiverUserIds = new List <int>()
            {
                0
            };
            model.UserList = _userService.getAllEmployeeUsersToForm();

            return(model);
        }
Пример #31
0
        public ActionResult Send(SendMessageViewModel message)
        {
            if (message != null && this.ModelState.IsValid)
            {
                var newMessage = this.Mapper.Map<Message>(message);

                var advertisementAuthor = this.manager.Users.FirstOrDefault(u => u.Id == message.AdvertisementAuthorId);
                if (advertisementAuthor == null)
                {
                    throw new HttpException(404, "No such user found");
                }

                newMessage.UserId = message.AdvertisementAuthorId;

                this.messages.Add(newMessage);

                return this.RedirectToAction("Index", "Home");
            }

            return this.View(message);
        }