public static IoTDevice DTOMessageToIoTDevice(DTOMessage dtoMessage) { IoTDevice ioTDevice = new IoTDevice() { Id = dtoMessage.Iotdeviceid, Messages = new HashSet <Message>() }; Message message = new Message() { TimeStampSent = dtoMessage.TimeStamp, TimeStampReceived = (long)DateTime.Now.ToUniversalTime().Subtract( new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc) ).TotalMilliseconds, TransmissionsCounter = dtoMessage.TransmissionsCounter, IoTDevice = ioTDevice, Measurements = new HashSet <Measurement>() }; foreach (var dtoMeasurement in dtoMessage.Measurements) { message.Measurements.Add(new Measurement() { SensorType = dtoMeasurement.SensorType, Value = dtoMeasurement.Value, Message = message }); } ioTDevice.Messages.Add(message); return(ioTDevice); }
private void PrintDTOMessage(DTOMessage message) { Console.WriteLine($"IoT Device ID: {message.Iotdeviceid}"); Console.WriteLine($"Message Timestamp: {message.TimeStamp}"); Console.WriteLine($"Message TransmissionsCounter: {message.TransmissionsCounter}"); foreach (var measurement in message.Measurements) { Console.WriteLine($" Measurement SensorType: {measurement.SensorType}"); Console.WriteLine($" Measurement Value: {measurement.Value}"); } }
private void SendRegistrationEmail(string userName, string password, string email) { MailService mailService = MailService.Instance; string _mailConfigFilePath = AppDomain.CurrentDomain.GetData("DataDirectory") + "\\Mail.xml"; mailService.LoadFile(_mailConfigFilePath); DTOMessage message = mailService.GetMessage("NewEmail"); string sendFrom = (ConfigurationSettings.AppSettings["MailFromAddress"] != null) ? ConfigurationSettings.AppSettings["MailFromAddress"].ToString() : ""; string messageSubject = MailService.formatMsg(message.Subject, null); string bodyStr = MailService.formatMsg(message.Body, new string[] { userName, password }); MailService.SendMessageWithAttachment(sendFrom, email, null, messageSubject, bodyStr, null); }
//public static void PublicarMensajes(DTOChat chat) //{ // WCFHelper.ExecuteService<IChatService>(ConfiguracionSistemaURLsEnumDestino.ChatService, i => i.EnviarMensaje(chat)); //} //public static int InsertarMensaje(int idChat, int origen, string mensaje) //{ // return ChatDAL.InsertarMensaje(idChat, origen, mensaje); //} //public static void InformarNuevoGrupo(ChatEntity chat, string usuarios, int idOwner) //{ // //agrego el owner a participantes // usuarios += "," + idOwner.ToString(); // DTONuevoChat nuevoChat = new DTONuevoChat() // { // IdChat = chat.IdChat, // Nombre = chat.Nombre, // Participantes = usuarios.Split(',').Select(x => new DTOUsuario() { IdUsuario = int.Parse(x) }).ToList(), // IdOwner = idOwner, // Fecha = chat.Fecha // }; // WCFHelper.ExecuteService<IChatService>(ConfiguracionSistemaURLsEnumDestino.ChatService, i => i.InformarNuevoGrupo(nuevoChat)); //} public static void InformarNuevoMensaje(int IdUser, string type, string subType, string message, DateTime date) { DTOMessage dto = new DTOMessage() { IdUser = IdUser, Type = type, SubType = subType, Message = message, Date = date }; var client = new HttpClient(); var uri = OrdenesApplication.Instance.ContextoAplicacion.Urls.Find(x => x.TipoUrl == ConfiguracionSistemaURLsEnumDestino.Notificaciones).Url; //"https://localhost:44324/api/Message"; var jsonInString = JsonConvert.SerializeObject(dto); client.PostAsync(uri, new StringContent(jsonInString, Encoding.UTF8, "application/json")); //List<DTOUsuario> participantes; //ChatEntity chat; //string nombreChat; //using (OrdenesContext mc = new OrdenesContext()) //{ // participantes = (from p in mc.ChatUsuarios where p.IdChat == idChat select new DTOUsuario() { IdUsuario = p.IdUsuario }).ToList(); // chat = (from c in mc.Chats where c.IdChat == idChat select c).FirstOrDefault(); // if (chat.EsGrupo) // { // nombreChat = chat.Nombre; // } else // { // //Si no es grupo, en participantes solo hay 2 usuarios, porque es chat individual. Como busco la contraparte, pongo que sea distinto a idUsuarioOrigen // int idContraparte = participantes.Find(x => x.IdUsuario != idUsuarioOrigen).IdUsuario; // nombreChat = (from u in mc.Usuario where u.IdUsuario == idContraparte select u).FirstOrDefault().Username; // } //} //DTONuevoMensajeChat nuevoMensajeChat = new DTONuevoMensajeChat() //{ // IdChat = idChat, // Mensaje = mensaje, // Target = nombreChat, // Participantes = participantes, // Fecha = DateTime.Now, // EsGrupo = chat.EsGrupo, // IdUsuarioOrigen = idUsuarioOrigen, // UsernameOrigen = MAEUserSession.Instancia.UserName, // IdChatMensaje = idChatMensaje //}; //WCFHelper.ExecuteService<IChatService>(ConfiguracionSistemaURLsEnumDestino.ChatService, i => i.InformarNuevoMensaje(nuevoMensajeChat)); }
public IActionResult UploadMessage([FromBody] DTOMessage message) { Console.WriteLine("Got POST message"); PrintDTOMessage(message); using (var ctx = _context) { var entity = ctx.IoTDevices.Find(message.Iotdeviceid); IoTDevice ioTDevice = DTOMessageMapper.DTOMessageToIoTDevice(message); if (entity == null) // Add or Update? { ctx.IoTDevices.Add(ioTDevice); } else { // Initialize a new set on the already attached entity. // This is required since we do NOT want to load all messages from the database. // EF figures out automatically that the entity is modified and makes an INSERT of the message. entity.Messages = new HashSet <Message> { ioTDevice.Messages.First() }; // DO NOT DO LIKE THIS. THIS WILL CAUSE THE ENTITY FRAMEWORK TO LOAD ALL MESSAGE RECORDS. // IN TIME, AS THE AMOUNT OF RECORDS GROWS, THIS CALL WILL BE EXTREMELY SLOW. /*ctx.Entry(entity).Collection("Messages").IsModified = true; * ctx.Entry(entity).Collection("Messages").Load(); * entity.Messages.Add(ioTDevice.Messages.First()); */ } try { ctx.SaveChanges(); } catch (DbUpdateException e) { return(Problem("Could not update the DB. " + e.Message + e.StackTrace, statusCode: 500)); } catch (Exception e) { return(Problem("Unspecified error while saving the given data. " + e.Message + e.StackTrace, statusCode: 500)); } } return(Ok()); }
public JsonResult Post([FromBody] DTOMessage dto)//(int IdUser, string type, string subType, string message) { MessageHelper.OnNewMessageHandle(new DTONewMessage() { IdUser = dto.IdUser, Type = dto.Type, SubType = dto.SubType, Message = dto.Message, Date = dto.Date }, _hubContext); return(new JsonResult(new { ok = true })); }
private void button8_Click(object sender, EventArgs e) { StringBuilder strResult = new StringBuilder(1000); BUSMessage.ForceUpdate(); int nMessages = BUSMessage.Count(); for (int i = 0; i < nMessages; i++) { DTOMessage mess = BUSMessage.Get(i); strResult.Append("Message: " + mess.Message); strResult.Append("\r\n"); } tbResult.Text = strResult.ToString(); }
public static DTOMessage[] Get10LastMessage() {//xem nhu chuyen trang roi` HtmlNodeCollection nodeCol = Gloval.Database.DocumentNode.SelectNodes(XPathManager.XPathMessage.MessageEntry); List <DTOMessage> list = new List <DTOMessage>(); foreach (HtmlNode node in nodeCol) { DTOMessage mess = new DTOMessage(); mess.Message = node.ChildNodes[1].InnerText; list.Add(mess); } Gloval.Database.Account.Message = list.ToArray(); return(Gloval.Database.Account.Message); }
public static DTOMessage[] Get10LastMessage() {//xem nhu chuyen trang roi` HtmlNodeCollection nodeColMessage = Gloval.Database.DocumentNode.SelectNodes(XPathManager.XPathMessage.MessageEntry); HtmlNodeCollection nodeColSender = Gloval.Database.DocumentNode.SelectNodes(XPathManager.XPathMessage.MessageSender); DTOMessage[] list; if (nodeColMessage == null) { //khong co tin nhan nao list = new DTOMessage[1] { new DTOMessage { Message = "don't have any message", Sender = "" } }; return(list); } list = new DTOMessage[nodeColSender.Count]; for (int i = nodeColSender.Count - 1; i >= 0; i--) { DTOMessage mes = new DTOMessage(); //khử nhiễu string[] strSplit = nodeColMessage[i].InnerText.Split(new char[] { '\r', '\n', '\t' }); StringBuilder strResultMessage = new StringBuilder(500); foreach (string str in strSplit) { if (str.Trim() != "") { strResultMessage.Append(str); strResultMessage.Append("<br/>"); } } mes.Message = strResultMessage.ToString(); mes.Sender = nodeColSender[i].InnerText.Trim(new char[] { '\t', '\r', '\n', ' ' }); list[i] = mes; } return(list); }