Exemplo n.º 1
0
Arquivo: User.cs Projeto: efess/Altask
        /// <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);
        }
Exemplo n.º 2
0
Arquivo: User.cs Projeto: efess/Altask
        /// <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);
        }