/// <summary> /// Maps a <see cref='Altask.Data.Model.User'/> object to a <see cref='Altask.Data.Dto.User'/> object. /// </summary> /// <param name="includeLogs">Indicates whether to load any logs associated with the object when mapping.</param> public static Altask.Data.Dto.User ToDto(this Altask.Data.Model.User entity, bool includeLogs = false) { var dto = new Altask.Data.Dto.User(); dto.Id = entity.Id; dto.Active = entity.Active; dto.UserName = entity.UserName; dto.FullName = entity.FullName; dto.EmailAddress = entity.EmailAddress; dto.SmsAddress = entity.SmsAddress; dto.Metadata = JsonConvert.DeserializeObject("{Properties: []}"); if (!string.IsNullOrEmpty(entity.Metadata)) { try { XmlDocument doc = new XmlDocument(); doc.LoadXml(entity.Metadata); string json = Json.SerizlieXmlDocument(doc); dto.Metadata = JsonConvert.DeserializeObject(json); } catch (Exception) {} } dto.Settings = entity.Settings; dto.MobilePhone = entity.MobilePhone; dto.ReceiveEmail = entity.ReceiveEmail; dto.ReceiveText = entity.ReceiveText; dto.PasswordHash = entity.PasswordHash; dto.SecurityStamp = entity.SecurityStamp; dto.CreatedBy = entity.CreatedBy; dto.CreatedOn = entity.CreatedOn; dto.UpdatedBy = entity.UpdatedBy; dto.UpdatedOn = entity.UpdatedOn; dto.Roles = new List <Altask.Data.Dto.UserRole>(); if (entity.Roles != null) { foreach (var item in entity.Roles) { dto.Roles.Add(item.ToDto()); } } return(dto); }
internal static void NotifyUserUpdate(Guid?clientId, Altask.Data.Dto.User user) { if (!clientId.HasValue) { _context.Clients.All.notifyUserUpdate(new { user = user }); } else { SignalRConnection connection; if (_connections.TryGetValue(clientId.Value, out connection)) { _context.Clients.AllExcept(connection.ConnectionId).notifyUserUpdate(new { connection = connection, user = user }); } else { _context.Clients.All.notifyUserCreate(new { user = user }); } } }
/// <summary> /// Maps all the non-primary key and tracking properties of a <see cref='Altask.Data.Dto.User'/> object to a <see cref='Altask.Data.Model.User'/> object. /// </summary> public static Altask.Data.Model.User FromDto(this Altask.Data.Model.User model, Altask.Data.Dto.User entity) { model.Active = entity.Active; model.UserName = entity.UserName; model.FullName = entity.FullName; model.EmailAddress = entity.EmailAddress; model.SmsAddress = entity.SmsAddress; model.Metadata = string.Empty; try { model.Metadata = ((XmlDocument)JsonConvert.DeserializeXmlNode(entity.Metadata.ToString(), "Properties")).OuterXml; } catch (Exception) {} model.Settings = entity.Settings; model.MobilePhone = entity.MobilePhone; model.ReceiveEmail = entity.ReceiveEmail; model.ReceiveText = entity.ReceiveText; model.PasswordHash = entity.PasswordHash; model.SecurityStamp = entity.SecurityStamp; return(model); }