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 }); }