Ejemplo n.º 1
0
 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);
            }
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 7
0
        public void Operation(MainRequest request)
        {
            var        data      = request as InsertToChatMessageModel;
            ChatModule foundChat = _allChatDetails.GetChatById(data.ChatId);

            SendToAll(request, foundChat);
        }
Ejemplo n.º 8
0
        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");
            }
        }
Ejemplo n.º 9
0
        // 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");
        }
Ejemplo n.º 10
0
        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);
                }
            }
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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;
 }
Ejemplo n.º 17
0
        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();
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 21
0
        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));
        }
Ejemplo n.º 22
0
        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);
            }
        }
Ejemplo n.º 23
0
        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);
            }
        }
Ejemplo n.º 24
0
        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));
        }
Ejemplo n.º 25
0
        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);
        }
Ejemplo n.º 29
0
        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));
            }
        }
Ejemplo n.º 31
0
        public void CreateChat(MainRequest request)
        {
            string message = Utils.SerlizeObject(request);

            _containerInterfaces.RequestHandler.SendData(_user.Client, message);
        }