public async Task SendMessage(SendMessageVM data) { var connection = Connection; if (!connection.Equals(default(SignalRConnection)) && !connection.GroupId.IsNullOrEmptyGuid()) { var group = _groupCache.GetById(GetKeyForGroup(connection.GroupId.Value)); if (group.Equals(default(SignalRGroup))) { SentrySdk.CaptureException(new Exception(APIStatusCode.ERR04007)); return; } var dbResult = await _service.AddAsync(new MessageAddVM() { ChatRoomId = connection.GroupId.Value, Text = data.Text }, connection.UserId); if (dbResult.ResultIsNotTrue()) { SentrySdk.CaptureException(new Exception(APIStatusCode.ERR04008)); return; } await Clients.Group(connection.GroupId.Value.ToString()).SendAsync("ReceiveMessage", data.Text); } }
public async Task <ActionResult> SendMessage([Bind(Include = "ID,ReceiverID,MyContents")] SendMessageVM message) { if (!ModelState.IsValid) { return(View(message)); } Users user = await _unitOfWork.usersRolesRepo.GetAsync(message.ReceiverID); if (user == null) { ModelState.AddModelError(string.Empty, "User does not exist."); return(View(message)); } string myName = User.Identity.GetUserName(); Messages myMessage = CreateMessage(myName, message.ReceiverID, message.MyContents); bool response = await _messageRest.SendAsync(myMessage); if (response) { _unitOfWork.messagesRepo.Add(myMessage); await _unitOfWork.SaveAsync(); return(RedirectToAction("Inbox")); } return(View(myMessage)); }
public IActionResult SendMessage(SendMessageVM model) { bool success; var message = string.Empty; try { if (!model.IsNotRobot) { message = "Confirm that you are not a robot!"; success = false; } else if (ModelState.IsValid) { var supportMessage = new SupportMessage { Email = model.Email, Message = model.Message, Name = model.Name }; success = UnitOfWork.SupportMessages.Merge(supportMessage); } else { message = ModelState.GetHtmlErrors(); success = false; } } catch (Exception ex) { success = false; message = "An error occurred while sending! Contact Support."; } return(Json(new { success, message })); }
public void MessageFromSite(SendMessageVM model, MailAddress to, MailAddress copy = null) { var isRus = Linguistics.IsRussian(model.Title) || Linguistics.IsRussian(model.Message); model.Title = "[Сообщение с сайта]" + model.Title; if (!model.Email.IsEmpty()) { model.Title += ". От " + model.Email; } if (!model.SenderName.IsEmpty()) { model.Message += Br + model.SenderName.Tag("strong"); } var copyList = copy == null ? new MailAddress[0]: new[] { copy }; if (isRus) { Send(info, to, model.Message, model.Title, copyList); } else { Send(info, ptolochko, model.Message, "[FILTER]" + model.Title); } }
public IActionResult SendMessage(SendMessageVM model) { bool success; var message = string.Empty; try { if (!model.IsNotRobot) { message = "Подтвердите, что Вы не робот!"; success = false; } else if (ModelState.IsValid) { var supportMessage = new SupportMessage { Email = model.Email, Message = model.Message, Name = model.Name }; success = UnitOfWork.SupportMessages.Merge(supportMessage); } else { message = ModelState.GetHtmlErrors(); success = false; } } catch (Exception ex) { success = false; message = "При отправке произошла ошибка! Обратитесь в службу поддержки."; } return(Json(new { success, message })); }
public ActionResult SendInviteManager() { var model = new SendMessageVM { Type = SendMessageVM.InviteManager }; model.Title = "Приглашение на переговоры"; return(BaseView(Views.Page.SendMessage, model)); }
public ActionResult SendMessage(SendMessageVM sendMessageVM) { var message = new Message { Email = sendMessageVM.Email, Name = sendMessageVM.Name, Phone = sendMessageVM.Phone, Text = sendMessageVM.Text }; try { unitOfWork.Messages.Insert(message); } catch (Exception) { return(Redirect("Index")); } return(View("Contact")); }
/// <summary> /// This action fetches all users currently in the Db and returns /// all but the user invoking this action /// </summary> /// <returns></returns> public IActionResult SendMessage() { List <User> allUsers = _userHandler.GetAllUsersList(); List <SendMessageUserVM> allUserVMs = new List <SendMessageUserVM>(); foreach (User user in allUsers) { if (user.UserID != _userManager.GetUserId(HttpContext.User)) { allUserVMs.Add(new SendMessageUserVM { UserID = user.UserID, Username = user.Username }); } } SendMessageVM sendMessage = new SendMessageVM { Users = allUserVMs }; return(View(sendMessage)); }
public async Task <ActionResult> SendMessage(int?id) { SendMessageVM reply = new SendMessageVM(); string myName = User.Identity.GetUserName(); if (id == null) { reply.Contents = null; return(View(reply)); } Messages message = await _unitOfWork.messagesRepo.GetAsync((int)id); if (message == null) { return(HttpNotFound()); } reply.ReceiverID = message.ReceiverID == myName ? message.SenderID : message.ReceiverID; reply.ID = message.ID; reply.Contents = message.Contents; return(View(reply)); }
public ActionResult SendForWebMaster(SendMessageVM model) { if (isSpam(model.Message)) { return(null); } if (model.Type.In(SendMessageVM.InviteManager, SendMessageVM.SendToLeader)) { MailService.SendForOrgManager(model.Message, model.Title); } else { MailAddress copy = null; if (model.Email.IsEmpty() && User != null) { model.Email = User.Email; } if (User != null) { model.SenderName = User.FullName; } var email = Services.Common.MailService.contmanagers; switch (model.Type) { case SendMessageVM.Promocode: email = Services.Common.MailService.promocode; break; case SendMessageVM.ForManager: copy = Services.Common.MailService.info; email = new MailAddress( EmployeeService.GetByPK(model.EmployeeTC).FirstEmail); break; case SendMessageVM.CourseIdea: email = Services.Common.MailService.courseIdea; break; case SendMessageVM.MobileAppReview: email = Services.Common.MailService.motorina; copy = Services.Common.MailService.ptolochko; break; case SendMessageVM.CatalogIdea: email = Services.Common.MailService.site; break; case SendMessageVM.TestResponse: email = Services.Common.MailService.testresponse; break; case SendMessageVM.WebinarSpecial: email = Services.Common.MailService.info; break; case SendMessageVM.CourseTender: email = Services.Common.MailService.corporatedepartment; break; case SendMessageVM.EnglishOrder: email = Services.Common.MailService.karpovich; model.Message += "<br/>" + Url.TestRun().Result( StringUtils.ParseInt(model.CustomValue).GetValueOrDefault(), "Ссылка на результат тестирования").AbsoluteHref(); break; case SendMessageVM.DevIdea: email = Services.Common.MailService.devidea; break; case SendMessageVM.JobVacancy: email = Services.Common.MailService.job; break; case SendMessageVM.JobManager: email = Services.Common.MailService.job; break; case SendMessageVM.CareerDay: email = Services.Common.MailService.job; break; default: copy = Services.Common.MailService.ptolochko; break; } MailService.MessageFromSite(model, email, copy); } return(AjaxOk()); }