private VisitorInitViewModel InitRequest() { VisitorInitViewModel vm = new VisitorInitViewModel(); var onlineOps = OperatorService.GetOnlineOperator(); List <string> departments = new List <string>(); foreach (var op in onlineOps) { foreach (string d in op.Department.Split(',')) { if (!departments.Contains(d.ToLower())) { departments.Add(d.ToLower()); } } } vm.Departments = departments; vm.ChatOnline = onlineOps.Count() > 0; vm.NewChatRequest = new ChatRequest(); return(vm); }
public ActionResult Session(VisitorInitViewModel data) { if (!ModelState.IsValid) { var vm = InitRequest(); vm.NewChatRequest = data.NewChatRequest; return(View(vm)); } data.NewChatRequest.ChatId = Guid.NewGuid(); data.NewChatRequest.Requested = DateTime.Now; data.NewChatRequest.VisitorIp = Request.UserHostAddress; data.NewChatRequest.VisitorUserAgent = Request.UserAgent; data.NewChatRequest.WasAccepted = false; ChatService.RequestChat(data.NewChatRequest); HttpCookie ck = new HttpCookie("lcsk_name"); ck.Value = data.NewChatRequest.VisitorName; Response.Cookies.Add(ck); return(RedirectToAction("Chat", new { id = data.NewChatRequest.ChatId })); }