public void Operation(MainRequest chatData) { try { string commands = $"Commands : {Environment.NewLine}"; foreach (var command in _commandHandler.Commands) { commands += $"Name : {command.Name} - {command.Description} {Environment.NewLine}"; } var successBody = new OkResponseMessage { RequestType = MessageType.SuccessResponse, Message = commands }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(successBody)); _containerInterfaces.Logger.LogInformation("Success send all commands"); } catch (Exception e) { var errorBody = new ErrorMessage { RequestType = MessageType.ErrorResponse, Error = $"Error when get all commands {e.Message}" }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(errorBody)); _containerInterfaces.Logger.LogError($"Error when get all commands {e.Message}"); } }
public void Operation(MainRequest chatData) { var data = chatData as GroupChatMessageModel; var groupChat = _allChatDetails.GetGroupByName(data.GroupName); var client = _allChatDetails.GetClientByName(Name); if (!groupChat.IsClientManager(client)) { var errorBody = new ErrorMessage { RequestType = "ErrorResponse", Error = $"The user name {Name} cannot add user to group beacuse he has not permission" }; _requestHandler.SendData(client.Client, Utils.SerlizeObject(errorBody)); return; } var alClientsToAdd = data.lsUsers.Where(c => !groupChat.IsClientExistInChat(_allChatDetails.GetClientByName(c))).Select(u => _allChatDetails.GetClientByName(u)).ToList(); groupChat.AddMultiClient(alClientsToAdd); Console.WriteLine($"Group users updated"); var successBody = new OkResponseMessage { RequestType = "SuccessResponse", Message = $"Group {data.GroupName} users updated" }; _requestHandler.SendData(client.Client, Utils.SerlizeObject(successBody)); }
public void Operation(MainRequest chatData) { var data = chatData as PrivateChatMessageModel; ChatModule newChat = new PrivateChat(); newChat.AddClient(_userClient); List <IClientModel> clients = new List <IClientModel>(); clients.Add(_userClient); foreach (var clientName in data.lsUsers) { if (_allChatDetails.IsClientExist(clientName)) { IClientModel client = _allChatDetails.GetClientByName(clientName); clients.Add(client); newChat.AddClient(client); } } if (!_allChatDetails.IsExistChatWithSamePeaple(clients, ChatType.Private)) { _allChatDetails.AddChat(newChat); } }
public void Operation(MainRequest chatData) { var data = chatData as GroupChatMessageModel; GroupChat newGroupChat = new GroupChat(data.GroupName); List <IClientModel> clients = new List <IClientModel>(); clients.Add(_userClient); if (data.lsUsers.Count == 0) { return; } newGroupChat.AddManager(_userClient); newGroupChat.AddClient(_userClient); foreach (var clientName in data.lsUsers) { if (_allChatDetails.IsClientExist(clientName)) { IClientModel client = _allChatDetails.GetClientByName(clientName); clients.Add(client); newGroupChat.AddClient(client); } } if (!_allChatDetails.IsExistChatWithName(data.GroupName)) { _allChatDetails.AddChat(newGroupChat); _containerInterfaces.Logger.LogInformation($"Group {data.GroupName} added"); } }
public void Operation(MainRequest chatData) { RestClient client = new RestClient("http://worldtimeapi.org/api/timezone/Asia/Jerusalem"); RestRequest request = new RestRequest(Method.GET); IRestResponse response = client.Execute(request); if (response.StatusCode != HttpStatusCode.OK) { var errorBody = new ErrorMessage { RequestType = MessageType.ErrorResponse, Error = $"The user name {_userClient.Name} cannot add user to group beacuse he has not permission" }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(errorBody)); return; } var body = Utils.DeSerlizeObject <TimeZoneModel>(response.Content); var successBody = new OkResponseMessage { RequestType = MessageType.SuccessResponse, Message = $"time now in Isreal : {body.Datatime} and number of day {body.DayOfWeekNumber}" }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(successBody)); }
public void Operation(MainRequest chatData) { var data = chatData as GroupChatMessageModel; var groupChat = _allChatDetails.GetGroupByName(data.GroupName); if (groupChat == null) { var errorBody = new ErrorMessage { RequestType = MessageType.ErrorResponse, Error = $"There is not group chat with name {data.GroupName}" }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(errorBody)); return; } if (!groupChat.IsClientManager(_userClient)) { var errorBody = new ErrorMessage { RequestType = MessageType.ErrorResponse, Error = $"The user name {_userClient.Name} cannot remove admin permission beacuse he has not permission" }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(errorBody)); return; } var alClientsToAdd = data.lsUsers.Where(c => groupChat.IsClientExistInChat(_allChatDetails.GetClientByName(c))).Select(u => _allChatDetails.GetClientByName(u)).ToList(); groupChat.RemoveMultiManagrs(alClientsToAdd); var successBody = new OkResponseMessage { RequestType = MessageType.SuccessResponse, Message = $"Group {data.GroupName} users updated" }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(successBody)); }
public void Operation(MainRequest request) { var data = request as InsertToChatMessageModel; ChatModule foundChat = _allChatDetails.GetChatById(data.ChatId); SendToAll(request, foundChat); }
public void Operation(MainRequest chatData) { var data = chatData as GroupChatMessageModel; GroupChat newGroupChat = new GroupChat(data.GroupName); ClientModel senerClient = _allChatDetails.GetClientByName(Name); List <ClientModel> clients = new List <ClientModel>(); clients.Add(senerClient); if (data.lsUsers.Count == 0) { return; } newGroupChat.AddManager(senerClient); newGroupChat.AddClient(senerClient); foreach (var clientName in data.lsUsers) { if (_allChatDetails.IsClientExist(clientName)) { ClientModel client = _allChatDetails.GetClientByName(clientName); clients.Add(client); newGroupChat.AddClient(client); } } if (!_allChatDetails.IsExistChatWithName(data.GroupName)) { _allChatDetails.AddChat(newGroupChat); Console.WriteLine($"Group {data.GroupName} added"); } }
// GET: MainRequest public ActionResult Index() { MainRequest mainModel = new MainRequest(); mainModel.CrimeLocationModels = new List<CrimeLocationModel>(); var client = new HttpClient(); var task = client.GetAsync("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=51.510343,-0.073214&radius=1&types=parking&key=" + APIkey) .ContinueWith(taskResponse => { var response = taskResponse.Result; var readTask = response.Content.ReadAsAsync<GooglePlaces>(); readTask.Wait(); foreach (var place in readTask.Result.Results) { CrimeLocationModel crimeLocationModel = new CrimeLocationModel(); crimeLocationModel.PlaceModel = place; mainModel.CrimeLocationModels.Add(crimeLocationModel); } }); task.Wait(); HttpClient subClient = null; Task subTask = null; foreach (var crimeLocationModel in mainModel.CrimeLocationModels) { crimeLocationModel.CrimeModel = new CrimeModel(); crimeLocationModel.CrimeModel.Crimes = new List<CrimeReport>(); List<string> monthIndexes = new List<string>() { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", }; for (int i = 0; i < 12; i++) { subClient = new HttpClient(); subTask = client.GetAsync("https://data.police.uk/api/crimes-at-location?date=2014-" + monthIndexes[i] + "&lat=" + crimeLocationModel.PlaceModel.Geometry.Location.Latitude + "&lng=" + crimeLocationModel.PlaceModel.Geometry.Location.Longitude) .ContinueWith(taskResponse => { var response = taskResponse.Result; var readTask = response.Content.ReadAsAsync<List<CrimeReport>>(); readTask.Wait(); foreach (var crime in readTask.Result) { if (crime.Category.Equals("vehicle-crime", StringComparison.InvariantCultureIgnoreCase)) { crimeLocationModel.CrimeModel.Crimes.Add(crime); } } }); subTask.Wait(); } } return Content(JsonConvert.SerializeObject(mainModel, Formatting.Indented, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }), "application/json"); }
public void UpdateChat(MainRequest request) { string message = Utils.SerlizeObject(request); _containerInterfaces.RequestHandler.SendData(_user.Client, message); var response = _containerInterfaces.ResponseHandler.GetResponse(_user.Client); var responserStr = new GetResponseFactory().GetResponse(response); Console.WriteLine(responserStr); }
private void SendToAllExit(ChatModule chat, MainRequest request, string message) { var allUserToSend = chat.Clients.Where(c => c.CurrentConnectChat != null).Where(g => g.Connected == true && g.CurrentConnectChat.ChatId == chat.ChatId); foreach (var client in allUserToSend) { if (client.Client.Connected) { _requestHandler.SendData(client.Client, message); } } }
private void SendToAll(ChatModule chat, MainRequest request, string message) { var allUserToSend = GetAllConnectedToSend(chat, request); foreach (var client in allUserToSend) { if (client.Client.Connected) { _requestHandler.SendData(client.Client, message); } } }
public string GetAllUserConnected() { var dataChat = new MainRequest { RequestType = MessageType.GetAllUserConnected }; string message = Utils.SerlizeObject(dataChat); _containerInterfaces.RequestHandler.SendData(_user.Client, message); var response = _containerInterfaces.ResponseHandler.GetResponse(_user.Client); var responserStr = new GetResponseFactory().GetResponse(response); return(responserStr); }
public List <ChatMessageModel> GetAllChatGroupModels() { var dataChat = new MainRequest { RequestType = MessageType.GetAllChats }; string message = Utils.SerlizeObject(dataChat); _containerInterfaces.RequestHandler.SendData(_user.Client, message); var response = _containerInterfaces.ResponseHandler.GetResponse(_user.Client); var allChatsResponse = Utils.DeSerlizeObject <AllChatsMessage>(response); return(allChatsResponse.Chats.Where(c => c.ChatType != ChatType.Private).ToList()); }
public string GetAllUserConnected() { var dataChat = new MainRequest { RequestType = "GetAllUserConnected" }; string message = Utils.SerlizeObject(dataChat); _requestHandler.SendData(Client, message); var response = _responseHandler.GetResponse(Client); var responserStr = new GetResponseFactory().GetResponse(response); return(responserStr); }
public void InitRequest() { _getSignRecordRequest = GetComponent <GetSignRecordRequest>(); _getUserInfoRequest = GetComponent <GetUserInfoRequest>(); _getEmailRequest = GetComponent <GetEmailRequest>(); _getUserBagRequest = GetComponent <GetUserBagRequest>(); _getNoticeRequest = GetComponent <GetNoticeRequest>(); _getRankRequest = GetComponent <GetRankRequest>(); _mainRequest = GetComponent <MainRequest>(); _getTaskRequest = GetComponent <GetTaskRequest>(); LogicEnginerScript.Instance.GetComponent <GetUserBagRequest>().CallBack = onReceive_GetUserBag; LogicEnginerScript.Instance.GetComponent <GetRankRequest>().CallBack = onReceive_GetGoldRank; }
public void Operation(MainRequest chatData) { List <string> ls = _allChatDetails.GetAllUsers().Select(u => u.Name).ToList(); var body = new AllUsersMessage { From = _name, RequestType = "GetAllUserConnected", Names = ls }; var client = _allChatDetails.GetClientByName(_name).Client; string message = Utils.SerlizeObject(body); _requestHandler.SendData(client, message); }
private void AddingNewRequest(string date, string time, string content, string applicant, string admissionTime, string notes) { _executorCommands.AddEvent = AddEventHandler; var newRequest = new MainRequest() { RequestDate = date, RequestTime = time, RequestContent = content, RequestApplicant = applicant, AdmissionTime = admissionTime, Notes = notes }; var command = new AddCommand <MainRequest>(_executorCommands, newRequest); command.Execute(); }
public ActionResult Index() { string request = ""; var fileStream = new FileStream(@"C:\Users\Chathuranga.Sandun\Documents\visual studio 2017\Projects\PunchoutTesting\PunchoutTesting\Documentations\request.xml", FileMode.Open, FileAccess.Read); using (var streamReader = new StreamReader(fileStream, Encoding.UTF8)) { request = streamReader.ReadToEnd(); } var xmlSerializer = new XmlSerializer(typeof(MainRequest)); MainRequest punchOutSetupRequest = (MainRequest)xmlSerializer.Deserialize(new StringReader(request)); MainResponse mainResponse = new MainResponse() { PayloadID = punchOutSetupRequest.PayloadID, Timestamp = punchOutSetupRequest.Timestamp, Response = new Response() { Status = new Status() { Code = "200", Text = "Ok" }, PunchOutSetupResponse = new PunchOutSetupResponse() { StartPage = new StartPage() { URL = "" } } } }; var stringwriter = new StringWriter(); XmlSerializer serializer = new XmlSerializer(typeof(MainResponse)); serializer.Serialize(stringwriter, mainResponse); var s = stringwriter.ToString(); return(View(s)); }
public void Operation(MainRequest chatData) { var data = chatData as ChatMessageHistory; var chat = _allChatDetails.GetChatById(data.ChatId); if (chat == null) { var errorBody = new ErrorMessage { RequestType = MessageType.ErrorResponse, Error = $"The chat with id {data.ChatId} not found" }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(errorBody)); return; } List <MessageDetails> messages = new List <MessageDetails>(); foreach (var message in chat.Messages) { var msg = new MessageDetails { SenderName = message.ClientSender.Name, Message = message.Message, Datetime = message.DateSended, MessageType = message.MessageType }; messages.Add(msg); } var allChatMessages = new ChatMessageHistory { RequestType = MessageType.HistoryChatMessages, From = _userClient.Name, AllMessages = messages.ToArray() }; string data5 = Utils.SerlizeObject(allChatMessages); Console.WriteLine(data5); _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(allChatMessages)); _containerInterfaces.Logger.LogInformation("Send all history of chat " + data.ChatId); }
public void Operation(MainRequest chatData) { var data = chatData as GroupChatMessageModel; var groupChat = _allChatDetails.GetGroupByName(data.GroupName); var client = _allChatDetails.GetClientByName(Name); var alClientsToRemove = data.lsUsers.Where(c => groupChat.IsClientExistInChat(_allChatDetails.GetClientByName(c))).Select(u => _allChatDetails.GetClientByName(u)).ToList(); groupChat.RemoveMultiClients(alClientsToRemove); var successBody = new OkResponseMessage { RequestType = "SuccessResponse", Message = $"Group {data.GroupName} users updated" }; _requestHandler.SendData(client.Client, Utils.SerlizeObject(successBody)); }
private void SendToAll(MainRequest request, ChatModule chat) { var data = request as InsertToChatMessageModel; var clientSneder = _allChatDetails.GetClientByName(data.From); if (!ValidateFirstConnectionToChat(clientSneder, chat, data)) { return; } try { lock (locker) { _allChatDetails.UpdateCurrentChat(clientSneder, chat); } var model = new NewChatMessage { RequestType = MessageType.NewChatMessage, From = request.From, Message = data.MessageChat }; string message = Utils.SerlizeObject(model); if (data.MessageChat == "exit") { ExitFromChat(clientSneder, chat, request); return; } SendToAll(chat, request, message); chat.AddMessage(new MessageModel(ChatMessageType.TextMessage, data.MessageChat, clientSneder, DateTime.Now)); } catch (Exception e) { ExitFromChat(clientSneder, chat, request); } }
public void Operation(MainRequest chatData) { var data = chatData as CommandMessage; if (!data.Command.StartsWith("/")) { var errorBody = new ErrorMessage { RequestType = MessageType.ErrorResponse, Error = $"not valid command , must start with /" }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(errorBody)); return; } else { IOption optionCommand = _operationCommandFactory.GetOption(data.Command); if (optionCommand == null) { var errorBody = new ErrorMessage { RequestType = MessageType.ErrorResponse, Error = $"There is not command like" }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(errorBody)); return; } var successBody = new OkResponseMessage { RequestType = MessageType.SuccessResponse, Message = $"The request for command {data.Command} starting .. " }; _containerInterfaces.RequestHandler.SendData(_userClient.Client, Utils.SerlizeObject(successBody)); optionCommand.Operation(data); } }
private void ExitFromChat(IClientModel clientSneder, ChatModule chat, MainRequest request) { lock (locker) { _allChatDetails.UpdateCurrentChat(clientSneder, null); } var model = new NewChatMessage { RequestType = MessageType.NewChatMessage, From = request.From }; model.Message = $"The user {clientSneder.Name} disconnect from server"; chat.AddMessage(new MessageModel(ChatMessageType.TextMessage, model.Message, clientSneder, DateTime.Now)); SendToAll(chat, request, Utils.SerlizeObject(model)); model.Message = $"exit"; chat.AddMessage(new MessageModel(ChatMessageType.TextMessage, model.Message, clientSneder, DateTime.Now)); _containerInterfaces.RequestHandler.SendData(clientSneder.Client, Utils.SerlizeObject(model)); }
private List <IClientModel> GetAllConnectedToSend(ChatModule chat, MainRequest requestData) { var request = requestData as InsertToChatMessageModel; List <IClientModel> ls = new List <IClientModel>(); foreach (var client in chat.Clients) { if ((client.Name != request.From) && (client.Connected == true)) { if (client.CurrentConnectChat != null) { if (client.CurrentConnectChat.ChatId == chat.ChatId) { ls.Add(client); } } } } return(ls); }
public void Operation(MainRequest request) { var allChatsMessageModel = new AllChatsMessage { RequestType = "GetAllChats", Chats = new List <ChatMessageModel>() }; var allChats = _allChatDetails.GetAllChatThatClientExist(_name); foreach (var chat in allChats) { allChatsMessageModel.Chats.Add(new ChatMessageModel { ChatId = chat.ChatId, Names = chat.GetAllNamesInChat(), ChatType = chat.ChatType, GroupName = (chat.GetType() == typeof(GroupChat)) ? ((GroupChat)chat).GroupName : null }); } string msg = Utils.SerlizeObject(allChatsMessageModel); _requestHandler.SendData(_allChatDetails.GetClientByName(_name).Client, msg); }
private void SendToAll(MainRequest request, ChatModule chat) { var data = request as InsertToChatMessageModel; var clientSneder = _allChatDetails.GetClientByName(data.From); lock (locker) { _allChatDetails.UpdateCurrentChat(clientSneder, chat); } var model = new NewChatMessage { RequestType = "NewChatMessage", From = request.From, Message = data.MessageChat }; string message = Utils.SerlizeObject(model); if (data.MessageChat == "exit") { model.Message = $"The user {data.From} disconnect from server"; SendToAll(chat, request, Utils.SerlizeObject(model)); model.Message = $"exit"; SendToAllExit(chat, request, Utils.SerlizeObject(model)); lock (locker) { _allChatDetails.UpdateCurrentChat(clientSneder, null); } return; } SendToAll(chat, request, message); chat.AddMessage(new MessageModel(MessageType.TextMessage, message, clientSneder, DateTime.Now)); }
public void Operation(MainRequest request) { var allChatsMessageModel = new AllChatsMessage { RequestType = MessageType.GetAllChats, Chats = new List <ChatMessageModel>() }; var allChats = _allChatDetails.GetAllChatThatClientExist(_userClient.Name); foreach (var chat in allChats) { allChatsMessageModel.Chats.Add(new ChatMessageModel { ChatId = chat.ChatId, Names = chat.GetAllNamesInChat(), ChatType = chat.ChatType, GroupName = (chat.GetType() == typeof(GroupChat)) ? ((GroupChat)chat).GroupName : null, AdminUsersNames = (chat.GetType() == typeof(GroupChat)) ? ((GroupChat)chat).GetAllManagersNames() : null }); } string msg = Utils.SerlizeObject(allChatsMessageModel); _containerInterfaces.RequestHandler.SendData(_userClient.Client, msg); }
private void SendToAll(ChatModule chat, MainRequest request, string message) { var allUserToSend = GetAllConnectedToSend(chat, request); _containerInterfaces.RequestHandler.SendDataMultiClients(allUserToSend.Select(u => u.Client).ToList(), message); }
public ActionResult PunchoutSetupRequest() { _log.TrackTrace("Ok " + DateTime.Now.ToString()); var req = Request.InputStream; var xml = new StreamReader(req).ReadToEnd(); _log.TrackTrace(xml.ToString()); var xmlSerializer = new XmlSerializer(typeof(MainRequest)); request = (MainRequest)xmlSerializer.Deserialize(new StringReader(xml.ToString())); System.Web.HttpContext.Current.Application["BUYER_URL"] = request.Request.PunchOutSetupRequest.BrowserFormPost.URL; MainResponse mainResponse = new MainResponse() { PayloadID = request.PayloadID, Timestamp = request.Timestamp, Response = new Response() { Status = new Status() { Code = "402", Text = "Unauthorized", __Text = "unautherized" } } }; var stringwriter = new StringWriter(); XmlSerializer serializer = new XmlSerializer(typeof(MainResponse)); serializer.Serialize(stringwriter, mainResponse); var responseTest = stringwriter.ToString().Replace("utf-16", "utf-8"); var contains = responseTest.Contains("!DOCTYPE"); if (!contains) { var indexDoctypePut = responseTest.IndexOf("?>", StringComparison.Ordinal) + 2; var firstPart = responseTest.Substring(0, indexDoctypePut); var secondPart = responseTest.Substring(indexDoctypePut, responseTest.Length - indexDoctypePut); secondPart = secondPart.Replace( "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"", ""); var text = firstPart + "<!DOCTYPE cXML SYSTEM \"http://xml.cxml.org/schemas/cXML/1.2.011/cXML.dtd\">" + secondPart; _log.TrackTrace(text); return(Content(text)); } else { return(Content(responseTest)); } }
public void CreateChat(MainRequest request) { string message = Utils.SerlizeObject(request); _containerInterfaces.RequestHandler.SendData(_user.Client, message); }