Beispiel #1
0
        public static Dynamic.Component BuildComponent(TCM.Component tcmComponent, int currentLinkLevel, BuildManager manager)
        {
            log.Debug(string.Format("start BuildComponent with component {0} ({1}) and link level {2}", tcmComponent.Title, tcmComponent.Id, currentLinkLevel));
            Dynamic.Component c = new Dynamic.Component();
            c.Title        = tcmComponent.Title;
            c.Id           = tcmComponent.Id.ToString();
            c.RevisionDate = tcmComponent.RevisionDate;

            c.Version = tcmComponent.Version;
            c.Schema  = manager.BuildSchema(tcmComponent.Schema);

            c.ComponentType = (ComponentType)Enum.Parse(typeof(ComponentType), tcmComponent.ComponentType.ToString());

            if (tcmComponent.ComponentType.Equals(TCM.ComponentType.Multimedia))
            {
                Multimedia multimedia = new Multimedia();
                multimedia.MimeType = tcmComponent.BinaryContent.MultimediaType.MimeType;
                multimedia.Size     = tcmComponent.BinaryContent.Size;
                multimedia.FileName = tcmComponent.BinaryContent.Filename;

                string extension = System.IO.Path.GetExtension(multimedia.FileName);
                if (string.IsNullOrEmpty(extension))
                {
                    multimedia.FileExtension = "";
                }
                else
                {
                    // remove leading dot from extension because microsoft returns this as ".gif"
                    multimedia.FileExtension = extension.Substring(1);
                }

                if (manager.BuildProperties.ResolveWidthAndHeight)
                {
                    try
                    {
                        MemoryStream memstream = new MemoryStream();
                        tcmComponent.BinaryContent.WriteToStream(memstream);
                        Image image = Image.FromStream(memstream);
                        memstream.Close();

                        multimedia.Width  = image.Size.Width;
                        multimedia.Height = image.Size.Height;
                    }
                    catch (Exception e)
                    {
                        log.Warning(string.Format("error retrieving width and height of image: is component with ID {0} really an image? Error message: {1}", c.Id, e.Message));
                        multimedia.Width  = 0;
                        multimedia.Height = 0;
                    }
                }
                else
                {
                    multimedia.Width  = 0;
                    multimedia.Height = 0;
                }
                c.Multimedia     = multimedia;
                c.Multimedia.Url = manager.PublishMultimediaComponent(c);
            }
            else
            {
                c.Multimedia = null;
            }
            c.Fields         = new Dynamic.FieldSet();
            c.MetadataFields = new Dynamic.FieldSet();
            if (currentLinkLevel > 0)
            {
                if (tcmComponent.Content != null)
                {
                    TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmComponent.Content, tcmComponent.Schema);
                    c.Fields = manager.BuildFields(tcmFields, currentLinkLevel);
                }

                if (tcmComponent.Metadata != null)
                {
                    TCM.Fields.ItemFields tcmMetadataFields = new TCM.Fields.ItemFields(tcmComponent.Metadata, tcmComponent.MetadataSchema);
                    c.MetadataFields = manager.BuildFields(tcmMetadataFields, currentLinkLevel);
                }
            }
            if (!manager.BuildProperties.OmitContextPublications)
            {
                c.Publication = manager.BuildPublication(tcmComponent.ContextRepository);
            }
            if (!manager.BuildProperties.OmitOwningPublications)
            {
                c.OwningPublication = manager.BuildPublication(tcmComponent.OwningRepository);
            }
            if (!manager.BuildProperties.OmitFolders)
            {
                TCM.Folder folder = (TCM.Folder)tcmComponent.OrganizationalItem;
                c.Folder = manager.BuildOrganizationalItem(folder);
            }
            if (!manager.BuildProperties.OmitCategories)
            {
                c.Categories = manager.BuildCategories(tcmComponent);
            }
            manager.AddXpathToFields(c.Fields, "tcm:Content/custom:" + tcmComponent.Schema.RootElementName);
            manager.AddXpathToFields(c.MetadataFields, "tcm:Metadata/custom:Metadata");
            return(c);
        }
Beispiel #2
0
        public void Almacenar(Multimedia multimedia)
        {
            _log.RegistrarMensaje(string.Format("Almacenar archivo: {0} - Fecha: {1}", multimedia.Identificador, DateTime.Now));

            _repositorioMultimedia.Almacenar(multimedia);
        }
      public static Dynamic.Component BuildComponent(TCM.Component tcmComponent, int currentLinkLevel, BuildManager manager)
      {
          log.Debug(string.Format("start BuildComponent with component {0} ({1}) and link level {2}", tcmComponent.Title, tcmComponent.Id, currentLinkLevel));
          Dynamic.Component c = new Dynamic.Component();
          c.Title = tcmComponent.Title;
          c.Id = tcmComponent.Id.ToString();
          c.RevisionDate = tcmComponent.RevisionDate;

          c.Version = tcmComponent.Version;
          c.Schema = manager.BuildSchema(tcmComponent.Schema);
          
          c.ComponentType = (ComponentType)Enum.Parse(typeof(ComponentType), tcmComponent.ComponentType.ToString());

          if (tcmComponent.ComponentType.Equals(TCM.ComponentType.Multimedia))
          {
              Multimedia multimedia = new Multimedia();
              multimedia.MimeType = tcmComponent.BinaryContent.MultimediaType.MimeType;

              // PLEASE NOTE: this weird way to set the size of the multimedia is needed because of a difference between Tridion 2011 and 2013
              // The property in Tridion's BinaryContent class changed its name AND its type (int FileSize became long Size)
              // This way, we can use preprocessing to choose the right property
              // Thijs Borst and Quirijn Slings, 9 April 2015
#if Legacy
              PropertyInfo prop = tcmComponent.BinaryContent.GetType().GetProperty("FileSize", BindingFlags.Public | BindingFlags.Instance);
              multimedia.Size = Convert.ToInt64(prop.GetValue(tcmComponent.BinaryContent,null));
#else
              PropertyInfo prop = tcmComponent.BinaryContent.GetType().GetProperty("Size", BindingFlags.Public | BindingFlags.Instance);
              multimedia.Size = (long) prop.GetValue(tcmComponent.BinaryContent,null);
#endif
              multimedia.FileName = tcmComponent.BinaryContent.Filename;

              string extension = System.IO.Path.GetExtension(multimedia.FileName);
              if (string.IsNullOrEmpty(extension))
              {
                  multimedia.FileExtension = "";
              }
              else
              {
                  // remove leading dot from extension because microsoft returns this as ".gif"
                  multimedia.FileExtension = extension.Substring(1);
              }

              if (manager.BuildProperties.ResolveWidthAndHeight)
              {
                  try
                  {
                      MemoryStream memstream = new MemoryStream();
                      tcmComponent.BinaryContent.WriteToStream(memstream);
                      Image image = Image.FromStream(memstream);
                      memstream.Close();

                      multimedia.Width = image.Size.Width;
                      multimedia.Height = image.Size.Height;
                  }
                  catch (Exception e)
                  {
                      log.Warning(string.Format("error retrieving width and height of image: is component with ID {0} really an image? Error message: {1}", c.Id, e.Message));
                      multimedia.Width = 0;
                      multimedia.Height = 0;
                  }
              }
              else
              {
                  multimedia.Width = 0;
                  multimedia.Height = 0;
              }
              c.Multimedia = multimedia;
              c.Multimedia.Url = manager.PublishMultimediaComponent(c);
          }
          else
          {
              c.Multimedia = null;
          }
          c.Fields = new Dynamic.FieldSet();
          c.MetadataFields = new Dynamic.FieldSet();
          if (currentLinkLevel > 0)
          {
              if (tcmComponent.Content != null)
              {
                  TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmComponent.Content, tcmComponent.Schema);
                  c.Fields = manager.BuildFields(tcmFields, currentLinkLevel);
              }
              
              if (tcmComponent.Metadata != null)
              {
                  TCM.Fields.ItemFields tcmMetadataFields = new TCM.Fields.ItemFields(tcmComponent.Metadata, tcmComponent.MetadataSchema);
                  c.MetadataFields = manager.BuildFields(tcmMetadataFields, currentLinkLevel);
              }
          }
          if (!manager.BuildProperties.OmitContextPublications)
          {
              c.Publication = manager.BuildPublication(tcmComponent.ContextRepository);
          }
          if (!manager.BuildProperties.OmitOwningPublications)
          {
              c.OwningPublication = manager.BuildPublication(tcmComponent.OwningRepository);
          }
          if (!manager.BuildProperties.OmitFolders)
          {
              TCM.Folder folder = (TCM.Folder)tcmComponent.OrganizationalItem;
              c.Folder = manager.BuildOrganizationalItem(folder);
          }
          if (!manager.BuildProperties.OmitCategories)
          {
              c.Categories = manager.BuildCategories(tcmComponent);
          }
          manager.AddXpathToFields(c.Fields, "tcm:Content/custom:" + tcmComponent.Schema.RootElementName); 
          manager.AddXpathToFields(c.MetadataFields, "tcm:Metadata/custom:Metadata");
          return c;
      }
Beispiel #4
0
        public GetBuyerDetailsViewModel Map(Buyer buyer, ApplicationUser user, Address address, Multimedia multimedia)
        {
            var model = new GetBuyerDetailsViewModel
            {
                Id             = buyer.Id,
                Signature      = buyer.Signature,
                ApprovalStatus = buyer.ApprovalStatus,
                SellerType     = buyer.BuyerType,
                FirstName      = user.FirstName,
                LastName       = user.LastName,
                Username       = user.UserName,
                Email          = user.Email,
                Role           = user.Role,
                PhoneNumber    = user.PhoneNumber,
                AddressLine1   = address.AddressLine1,
                AddressLine2   = address.AddressLine2,
                Town           = address.Town,
                Province       = address.Province,
                PostalCode     = address.PostalCode,
                Country        = address.Country,
                PhotoType      = multimedia.Type.Humanize(),
                FileName       = multimedia.FileName.RemoveExtension(),
                Image          = multimedia.Content.GetContent()
            };

            return(model);
        }
Beispiel #5
0
 public void Almacenar(Multimedia multimedia)
 {
     _servicioGestorMultimedia.Almacenar(multimedia);
 }
      public static Dynamic.Component BuildComponent(TCM.Component tcmComponent, int linkLevels, bool resolveWidthAndHeight, bool publishEmptyFields, BuildManager manager)
      {
          GeneralUtils.TimedLog("start BuildComponent");
          Dynamic.Component c = new Dynamic.Component();
          c.Title = tcmComponent.Title;
          c.Id = tcmComponent.Id.ToString();
          c.RevisionDate = tcmComponent.RevisionDate;
          GeneralUtils.TimedLog("component title = " + c.Title);

          c.Version = tcmComponent.Version;
          GeneralUtils.TimedLog("start building schema");
          c.Schema = manager.BuildSchema(tcmComponent.Schema);
          GeneralUtils.TimedLog("finished building schema");
          
          c.ComponentType = (ComponentType)Enum.Parse(typeof(ComponentType), tcmComponent.ComponentType.ToString());

          if (tcmComponent.ComponentType.Equals(TCM.ComponentType.Multimedia))
          {
              GeneralUtils.TimedLog("start building multimedia");
              Multimedia multimedia = new Multimedia();
              multimedia.MimeType = tcmComponent.BinaryContent.MultimediaType.MimeType;
              multimedia.Size = tcmComponent.BinaryContent.FileSize;
              multimedia.FileName = tcmComponent.BinaryContent.Filename;
              // remove leading dot from extension because microsoft returns this as ".gif"
              string extension = System.IO.Path.GetExtension(multimedia.FileName);
              if (string.IsNullOrEmpty(extension))
                  multimedia.FileExtension = "";
              else
                  multimedia.FileExtension = extension.Substring(1);

              if (resolveWidthAndHeight)
              {
                  try
                  {
                      MemoryStream memstream = new MemoryStream();
                      tcmComponent.BinaryContent.WriteToStream(memstream);
                      Image image = Image.FromStream(memstream);
                      memstream.Close();

                      multimedia.Width = image.Size.Width;
                      multimedia.Height = image.Size.Height;
                  }
                  catch (Exception e)
                  {
                      log.Warning("error retrieving width and height of image: " + e.Message);
                      multimedia.Width = 0;
                      multimedia.Height = 0;
                  }
              }
              else
              {
                  multimedia.Width = 0;
                  multimedia.Height = 0;
              }
              c.Multimedia = multimedia;
              GeneralUtils.TimedLog("finished building multimedia");
          }
          else
          {
              c.Multimedia = null;
          }
          c.Fields = new Dynamic.FieldSet();
          c.MetadataFields = new Dynamic.FieldSet();
          if (linkLevels > 0)
          {
              if (tcmComponent.Content != null)
              {
                  GeneralUtils.TimedLog("start retrieving tcm fields");
                  TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmComponent.Content, tcmComponent.Schema);
                  log.Debug("TCM fields" +tcmFields.ToXml());
                  GeneralUtils.TimedLog("finished retrieving tcm fields");
                  GeneralUtils.TimedLog("start building fields");
                  c.Fields = manager.BuildFields(tcmFields, linkLevels, resolveWidthAndHeight,publishEmptyFields);
                  GeneralUtils.TimedLog("finished building fields");
              }
              
              if (tcmComponent.Metadata != null)
              {
                  GeneralUtils.TimedLog("start retrieving tcm metadata fields");
                  TCM.Fields.ItemFields tcmMetadataFields = new TCM.Fields.ItemFields(tcmComponent.Metadata, tcmComponent.MetadataSchema);
                  GeneralUtils.TimedLog("finished retrieving tcm metadata fields");
                  GeneralUtils.TimedLog("start building metadata fields");
                  c.MetadataFields = manager.BuildFields(tcmMetadataFields, linkLevels, resolveWidthAndHeight,publishEmptyFields);
                  GeneralUtils.TimedLog("finished building metadata fields");
              }
          }
          c.Publication = manager.BuildPublication(tcmComponent.ContextRepository);
          c.OwningPublication = manager.BuildPublication(tcmComponent.OwningRepository);
          TCM.Folder folder = (TCM.Folder)tcmComponent.OrganizationalItem;
          c.Folder = manager.BuildOrganizationalItem(folder);
          c.Categories = manager.BuildCategories(tcmComponent);

          manager.AddXpathToFields(c.Fields, "tcm:Content/custom:" + tcmComponent.Schema.RootElementName); // TODO: check if the first part of the XPath is really the root element name, or simply always 'Content'
          manager.AddXpathToFields(c.MetadataFields, "tcm:Metadata/custom:Metadata");
          return c;
      }
        public void UpdateWholeMultimedia(MultimediaDTO multimediaDTO)
        {
            Multimedia multimedia = mapper.Map <MultimediaDTO, Multimedia>(multimediaDTO);

            API.UpdateWholeMultimedia(multimedia);
        }
Beispiel #8
0
        public async Task <Usuario> Post()
        {
            try
            {
                if (!Request.Content.IsMimeMultipartContent())
                {
                    throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
                }

                string root     = HttpContext.Current.Server.MapPath("~/App_Data");
                var    provider = new MultipartFormDataStreamProvider(root);

                try
                {
                    // Read the form data.
                    var result = await Request.Content.ReadAsMultipartAsync(provider);

                    if (result.FormData["usuario"] == null)
                    {
                        throw new HttpResponseException(HttpStatusCode.BadRequest);
                    }
                    var usuarioObject = JsonConvert.DeserializeObject <Usuario>(result.FormData["usuario"]);

                    var usuarioNuevo = UM.Create(usuarioObject, usuarioObject.codigoCampo);

                    foreach (MultipartFileData file in provider.FileData)
                    {
                        var multimediaObject = new Multimedia
                        {
                            mulTipo   = file.Headers.ContentType.MediaType.StartsWith("image", StringComparison.InvariantCulture) ? 1 : 2,
                            mulPath   = $"{file.LocalFileName.Split('\\').Last()}.{ file.Headers.ContentType.MediaType.Split('/').Last()}",
                            idUsuario = usuarioNuevo.idUsuario
                        };
                        var newFileName = $"{usuarioNuevo.idUsuario}_ImagenUsuario.{file.Headers.ContentType.MediaType.Split('/').Last()}";
                        MoveFiles.MoveFilesUsuarioToFolder(file.LocalFileName, newFileName);

                        multimediaObject.mulPath = newFileName;

                        new MultimediaManager().Create(multimediaObject);

                        Trace.WriteLine(file.Headers.ContentDisposition.FileName);
                        Trace.WriteLine("Server file path: " + file.LocalFileName);
                    }

                    return(usuarioNuevo);
                }
                catch (Exception ex)
                {
                    throw;
                }

                //var user = JsonConvert.DeserializeObject<Usuario>(usuario);
                //var codCampo = Regex.Replace(codigoCampo, @"[^\d]", "");
                //return UM.Create(user, Int64.Parse(codCampo));
            }
            catch (Exception ex)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound)
                {
                    Content      = new StringContent(string.Format("Error: {0}", ex.Message)),
                    ReasonPhrase = (ex.GetType() == typeof(ArgumentException) ? ex.Message : "Get_Error")
                });
            }
        }
Beispiel #9
0
        // Adds the given list of file references to the multimedia list.
        private void AddMultimediaFileReferences(List <GDMFileReference> fileRefs, string mmPrefix,
                                                 string mmLargePrefix, int maxWidth, int maxHeight, Stats stats)
        {
            if (fileRefs == null)
            {
                return;
            }

            for (int i = 0; i < fileRefs.Count; i++)
            {
                GDMFileReferenceWithTitle mfr = fileRefs[i] as GDMFileReferenceWithTitle;
                string    copyFilename        = "";
                int       nMmOrdering         = i;
                string    mmTitle             = mfr.Title;
                string    mmFilename          = mfr.StringValue;
                string    mmFormat            = mfr.MultimediaFormat.ToString();
                Rectangle rectArea            = new Rectangle(0, 0, 0, 0);
                string    extPart;
                bool      blockThisMediaType = false;

                // Don't trust extension on sFilename. Use our own. (Happens for .tmp files from embedded data)
                switch (mmFormat)
                {
                case "bmp":
                    extPart = ".bmp";
                    break;

                case "gif":
                    extPart = ".gif";
                    break;

                case "jpg":
                case "jpeg":
                    extPart = ".jpg";
                    break;

                case "tiff":
                case "tif":
                    extPart = ".tif";
                    break;

                case "png":
                    extPart = ".png";
                    break;

                case "ole":
                    blockThisMediaType = true;
                    extPart            = ".ole";
                    break;

                default:
                    extPart = Path.GetExtension(mmFilename);
                    if (extPart.ToUpper() == ".TMP")
                    {
                        extPart = "." + mmFormat;
                    }
                    break;
                }
                string originalFilename = Path.GetFileName(mmFilename);

                bool pictureFormat = GMHelper.IsPictureFormat(mfr);
                if (pictureFormat || GMConfig.Instance.AllowNonPictures)
                {
                    if (!pictureFormat && GMConfig.Instance.AllowNonPictures)
                    {
                        stats.NonPicturesIncluded = true;
                    }

                    string newFilename = originalFilename;
                    if (!string.IsNullOrEmpty(mmFilename))
                    {
                        // Give multimedia files a standard name
                        if (GMConfig.Instance.RenameOriginalPicture)
                        {
                            //string sFilePart = sMmPrefix;//string.Concat( mm_prefix, nMultimediaFiles.ToString() );
                            newFilename = string.Concat(mmPrefix, extPart.ToLower());
                        }

                        if (!blockThisMediaType)
                        {
                            if (pictureFormat)
                            {
                                // TODO

                                /*if (mfr.m_asidPair != null) {
                                 *  Rectangle rectAsidArea = mfr.m_asidPair.m_rectArea;
                                 *  rectArea = new Rectangle(rectAsidArea.X, rectAsidArea.Y, rectAsidArea.Width, rectAsidArea.Height);
                                 * }*/
                                copyFilename = CopyMultimedia(mmFilename, newFilename, maxWidth, maxHeight, ref rectArea, stats);
                            }
                            else
                            {
                                copyFilename = CopyMultimedia(mmFilename, newFilename, 0, 0, ref rectArea, stats);
                            }
                        }
                    }

                    if (!string.IsNullOrEmpty(copyFilename))
                    {
                        string largeFilename = "";
                        // Copy original original version
                        if (GMConfig.Instance.LinkOriginalPicture)
                        {
                            if (GMConfig.Instance.RenameOriginalPicture)
                            {
                                //string sFilePart = sMmLargePrefix;
                                largeFilename = string.Concat(mmLargePrefix, extPart.ToLower());
                            }
                            else
                            {
                                largeFilename = originalFilename;
                            }

                            Rectangle rectLargeArea = new Rectangle(0, 0, 0, 0);
                            largeFilename = CopyMultimedia(mmFilename, largeFilename, 0, 0, ref rectLargeArea, null);
                        }

                        // Add format and new sFilename to multimedia list
                        Multimedia imm = new Multimedia(nMmOrdering, mmFormat, mmTitle, copyFilename, largeFilename, rectArea.Width, rectArea.Height);
                        fMultimediaList.Add(imm);
                    }
                    else
                    {
                        // Happens e.g. when original file doesn't exist.
                    }
                }
            }
        }
        public MultimediaDTO UpdateMultimedia(MultimediaDTO multimediaDTO)
        {
            Multimedia multimedia = mapper.Map <MultimediaDTO, Multimedia>(multimediaDTO);

            return(mapper.Map <Multimedia, MultimediaDTO>(API.UpdateMultimedia(multimedia)));
        }
Beispiel #11
0
 /// <summary>
 /// Creates a new VideoBrush for using a MediaPlayer as a Brush
 /// </summary>
 /// <param name="player">The player to use for input of the VideoBrush</param>
 /// <returns>A new instance of VideoBrush</returns>
 public Brushes.VideoBrush CreateVideoBrush(Multimedia.MediaPlayer player)
 {
     return m_resources.CreateVideoBrush(player);
 }
Beispiel #12
0
 public Usuario(string id, string nombre, string apellido, DateTime fechaNacimiento, Multimedia fotoPerfil, TipoSexo tipoSexo, string correoElectronico, string ciudad, string pais, TipoRol rol)
 {
     this.id                = id;
     this.nombre            = nombre;
     this.apellido          = apellido;
     this.fechaNacimiento   = fechaNacimiento;
     this.fotoPerfil        = fotoPerfil;
     this.tipoSexo          = tipoSexo;
     this.correoElectronico = correoElectronico;
     this.ciudad            = ciudad;
     this.pais              = pais;
     this.rol               = rol;
 }
Beispiel #13
0
 public static Usuario CrearUsuario(String id, String nombre, String apellido, DateTime fechaNacimiento, Multimedia fotoPerfil, TipoSexo tipoSexo, String correoElectronico, String ciudad, String pais, TipoRol rol, List <Multimedia> certificado, String descripcionExperiencia)
 {
     return(rol switch
     {
         TipoRol.Historiador => new Historiador(id, nombre, apellido, fechaNacimiento, fotoPerfil, tipoSexo, correoElectronico, ciudad, pais, rol, certificado, descripcionExperiencia),
         TipoRol.Usuario => new Usuario(id, nombre, apellido, fechaNacimiento, fotoPerfil, tipoSexo, correoElectronico, ciudad, pais, rol),
         TipoRol.ContadorHistorias => new ContadorHistorias(id, nombre, apellido, fechaNacimiento, fotoPerfil, tipoSexo, correoElectronico, ciudad, pais, rol),
         _ => null,
     });
        public static Dynamic.Component BuildComponent(TCM.Component tcmComponent, int currentLinkLevel, BuildManager manager)
        {
            log.Debug(string.Format("start BuildComponent with component {0} ({1}) and link level {2}", tcmComponent.Title, tcmComponent.Id, currentLinkLevel));
            Dynamic.Component c = new Dynamic.Component();
            c.Title        = tcmComponent.Title;
            c.Id           = tcmComponent.Id.ToString();
            c.RevisionDate = tcmComponent.RevisionDate;

            c.Version = tcmComponent.Version;
            c.Schema  = manager.BuildSchema(tcmComponent.Schema);

            c.ComponentType = (ComponentType)Enum.Parse(typeof(ComponentType), tcmComponent.ComponentType.ToString());

            if (tcmComponent.ComponentType.Equals(TCM.ComponentType.Multimedia))
            {
                Multimedia multimedia = new Multimedia();
                multimedia.MimeType = tcmComponent.BinaryContent.MultimediaType.MimeType;

                // PLEASE NOTE: this weird way to set the size of the multimedia is needed because of a difference between Tridion 2011 and 2013
                // The property in Tridion's BinaryContent class changed its name AND its type (int FileSize became long Size)
                // This way, we can use preprocessing to choose the right property
                // Thijs Borst and Quirijn Slings, 9 April 2015
#if Legacy
                PropertyInfo prop = tcmComponent.BinaryContent.GetType().GetProperty("FileSize", BindingFlags.Public | BindingFlags.Instance);
                multimedia.Size = Convert.ToInt64(prop.GetValue(tcmComponent.BinaryContent, null));
#else
                PropertyInfo prop = tcmComponent.BinaryContent.GetType().GetProperty("Size", BindingFlags.Public | BindingFlags.Instance);
                multimedia.Size = (long)prop.GetValue(tcmComponent.BinaryContent, null);
#endif
                multimedia.FileName = tcmComponent.BinaryContent.Filename;

                string extension = System.IO.Path.GetExtension(multimedia.FileName);
                if (string.IsNullOrEmpty(extension))
                {
                    multimedia.FileExtension = "";
                }
                else
                {
                    // remove leading dot from extension because microsoft returns this as ".gif"
                    multimedia.FileExtension = extension.Substring(1);
                }

                if (manager.BuildProperties.ResolveWidthAndHeight)
                {
                    try
                    {
                        MemoryStream memstream = new MemoryStream();
                        tcmComponent.BinaryContent.WriteToStream(memstream);
                        Image image = Image.FromStream(memstream);
                        memstream.Close();

                        multimedia.Width  = image.Size.Width;
                        multimedia.Height = image.Size.Height;
                    }
                    catch (Exception e)
                    {
                        log.Warning(string.Format("error retrieving width and height of image: is component with ID {0} really an image? Error message: {1}", c.Id, e.Message));
                        multimedia.Width  = 0;
                        multimedia.Height = 0;
                    }
                }
                else
                {
                    multimedia.Width  = 0;
                    multimedia.Height = 0;
                }
                c.Multimedia = multimedia;
                manager.PublishMultimediaComponent(c);
            }
            else
            {
                c.Multimedia = null;
            }
            c.Fields         = new Dynamic.FieldSet();
            c.MetadataFields = new Dynamic.FieldSet();
            if (currentLinkLevel > 0)
            {
                if (tcmComponent.Content != null)
                {
                    TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmComponent.Content, tcmComponent.Schema);
                    c.Fields = manager.BuildFields(tcmFields, currentLinkLevel);
                }

                if (tcmComponent.Metadata != null)
                {
                    TCM.Fields.ItemFields tcmMetadataFields = new TCM.Fields.ItemFields(tcmComponent.Metadata, tcmComponent.MetadataSchema);
                    c.MetadataFields = manager.BuildFields(tcmMetadataFields, currentLinkLevel);
                }
            }
            if (!manager.BuildProperties.OmitContextPublications)
            {
                c.Publication = manager.BuildPublication(tcmComponent.ContextRepository);
            }
            if (!manager.BuildProperties.OmitOwningPublications)
            {
                c.OwningPublication = manager.BuildPublication(tcmComponent.OwningRepository);
            }
            if (!manager.BuildProperties.OmitFolders)
            {
                TCM.Folder folder = (TCM.Folder)tcmComponent.OrganizationalItem;
                c.Folder = manager.BuildOrganizationalItem(folder);
            }
            if (!manager.BuildProperties.OmitCategories)
            {
                c.Categories = manager.BuildCategories(tcmComponent);
            }
            manager.AddXpathToFields(c.Fields, "tcm:Content/custom:" + tcmComponent.Schema.RootElementName);
            manager.AddXpathToFields(c.MetadataFields, "tcm:Metadata/custom:Metadata");
            return(c);
        }
        public void RemoveLocations(MultimediaDTO multimediaDTO)
        {
            Multimedia multimedia = mapper.Map <MultimediaDTO, Multimedia>(multimediaDTO);

            API.RemoveLocations(multimedia);
        }
Beispiel #16
0
        public void CargaDatos(GaroNETDbContexto contexto)
        {
            Articulo[] articulos =
            {
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "Lenguage Integrated Query",
                    URI          = "/Articulo/CSharp/LINQ", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "LINQ to Objects",
                    URI          = "/APIs/LINQ 2 Objects", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "LINQ to XML",
                    URI          = "/APIs/LINQ 2 XML", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "LINQ to Entities",
                    URI          = "/APIs/LINQ 2 Entities", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "ADO .NET (clásico)",           // [4]
                    URI          = "/APIs/ADO NET", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "Entity Framework",
                    URI          = "/Frameworks/Entity Framework", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "Entity Framework Model First Approach",
                    URI          = "/Frameworks/Entity Framework MFA", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "Entity Framework Database First Approach",
                    URI          = "/Frameworks/Entity Framework DFA", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "Entity Framework Code First Approach",
                    URI          = "/Frameworks/Entity Framework CFA", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "Entity Framework Técnicas de Modelado",
                    URI          = "/Frameworks/Entity Framework TM", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "ASP .NET",           // [10]
                    URI          = "/Frameworks/ASP NET", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "ASP .NET WEB FORMS",           // [11]
                    URI          = "/Frameworks/ASP NET WEB FORMS", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "ASP .NET MVC",           // [12]
                    URI          = "/Frameworks/ASP NET WEB MVC", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "ASP .NET WEB API",           // [13]
                    URI          = "/Frameworks/ASP NET WEB API", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "WINDOWS FORMS",           // [14]
                    URI          = "/Frameworks/Windows Forms", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new Articulo {
                    Localizacion = "Ciudad de México", Titulo = "Windows Presentation Foundation",           // [15]
                    URI          = "/Frameworks/WPF", Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    }
                }
            };
            ClasePersonalizada[] clasesPersonalizadas =
            {
                new ClasePersonalizada {
                    Articulo  = articulos[5], Nombre = "HomeControllerFake",
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new ClasePersonalizada {
                    Articulo  = articulos[5], Nombre = "ControladorBase",
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new ClasePersonalizada {
                    Articulo  = articulos[5], Nombre = "Respuesta",
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new ClasePersonalizada {
                    Articulo  = articulos[5], Nombre = "OpcionMenu",
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new ClasePersonalizada {
                    Articulo  = articulos[5], Nombre = "AvisoCarrusel",
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new ClasePersonalizada {
                    Articulo  = articulos[5], Nombre = "NoticiaPrincipal",
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new ClasePersonalizada {
                    Articulo  = articulos[5], Nombre = "Multimedia",
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    }
                },
                new ClasePersonalizada {
                    Articulo  = articulos[5], Nombre = "Autor",
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    }
                }
            };
            Autor[] autores =
            {
                new Autor {
                    Apellido = "GaRo", Articulos = articulos, Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Estado = true, Imagen = "garo.jpg", Nacimiento = new DateTime(1991, 09, 25), Nombre = "Esteban",
                    Puesto = new Puesto{
                        Auditoria = new InfoRegistro{
                            UsuarioCreacion = "estebangaro"
                        },
                        Descripcion = "Desarrollador .NET en Financiera Contigo", Nombre = "Desarrollador .NET",
                        Inicio      = new DateTime(2016, 01, 18)
                    }, Orden = 1, Email = "*****@*****.**"
                }
            };
            RedSocial[] redes =
            {
                new RedSocial {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Autor = autores[0], Descripcion = "Facebook personal", Icono = "icono_fb.png",
                    URI   = "https://www.facebook.com/esteban.garo.1", Visible = true
                },
                new RedSocial {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Autor = autores[0], Descripcion = "Twitter personal", Icono = "icono_tw.png",
                    URI   = "https://twitter.com/estebangaro", Visible = true
                },
                new RedSocial {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Autor = autores[0], Descripcion = "Perfil Linkedin", Icono = "icono_lnk.png",
                    URI   = "https://www.linkedin.com/in/estebangaro", Visible = true
                }
            };
            OpcionMenu[] opcionesP =
            {
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Acerca De", Orden = 5, Visible = true
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Multimedia", Orden = 4, Visible = true
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "APIs", Orden = 3, Visible = true
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Frameworks", Orden = 2, Visible = true
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Demostraciones", Orden = 1, Visible = true
                },
            };
            OpcionMenu[] subOpciones1 =
            {
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "ADO .NET (Clásico)", Orden = 1, Visible = true, Padre = opcionesP[2],
                    Articulo    = articulos[4]
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "LINQ", Orden = 2, Visible = true, Padre = opcionesP[2],
                    Articulo    = articulos[0]
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Microsoft ASP .NET", Orden = 1, Visible = true, Padre = opcionesP[3]
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Windows Forms", Orden = 2, Visible = true, Padre = opcionesP[3],
                    Articulo    = articulos[14]
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "WPF", Orden = 3, Visible = true, Padre = opcionesP[3],
                    Articulo    = articulos[15]
                },
            };
            OpcionMenu[] subOpciones2 =
            {
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "ASP .NET WEB FORMS", Orden = 2, Visible = true, Padre = subOpciones1[2],
                    Articulo    = articulos[11]
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "ASP .NET MVC", Orden = 1, Visible = true, Padre = subOpciones1[2],
                    Articulo    = articulos[12]
                },
                new OpcionMenu {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "ASP .NET WEB API", Orden = 3, Visible = true, Padre = subOpciones1[2],
                    Articulo    = articulos[13]
                },
            };
            BotonAviso[] botones =
            {
                new BotonAviso {
                    Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Color = "azul_slider", Texto = "Leer"
                }
            };
            AvisoCarrusel[] avisos =
            {
                new AvisoCarrusel {
                    Articulo = articulos[13], Boton = botones[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Orden = 1, Visible = true, Contenido = "¡Construye Servicios Web estilo REST con ASP .NET WEB API!"
                },
                new AvisoCarrusel {
                    Articulo = articulos[0], Boton = botones[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Orden = 2, Visible = true, Contenido = "¿Qué es LINQ y cómo puedo incluirlo en mis aplicaciones?"
                },
                new AvisoCarrusel {
                    Articulo = articulos[5], Boton = botones[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Orden = 3, Visible = true, Contenido = "ORMs y ADO .NET Entity Framework"
                },
                new AvisoCarrusel {
                    Articulo = articulos[10], Boton = botones[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Orden = 4, Visible = true, Contenido = "Patrones de diseño en ASP .NET, ¿Cúales son?, ¿Diferencias?, ¿Cómo elegir el mejor?"
                },
            };
            NoticiaPrincipal[] noticias =
            {
                new NoticiaPrincipal {
                    Articulo = articulos[9], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Table Splitting y Entity Spliting en Entity Framework", Imagen = "entity.png",
                    Titulo      = "Técnicas de modelado en EF"
                },
                new NoticiaPrincipal {
                    Articulo = articulos[5], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Database First, Model First y Code First", Imagen = "entity.png",
                    Titulo      = "Enfoques en Entity Framework"
                },
                new NoticiaPrincipal {
                    Articulo = articulos[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Crea una aplicación MVC + Entity Framework", Imagen = "asp.png",
                    Titulo      = "Conociendo una aplicación ASP NET MVC"
                },
                new NoticiaPrincipal {
                    Articulo = articulos[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Usando Entity Framework + MySQL", Imagen = "mysql.png",
                    Titulo      = "EF y MySQL"
                },
                new NoticiaPrincipal {
                    Articulo = articulos[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "¿Cuál enfoque de Entity Framework usar?", Imagen = "entity.png",
                    Titulo      = "Enfoques en EF"
                },
                new NoticiaPrincipal {
                    Articulo = articulos[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Manipulando XMLs con LINQ", Imagen = "entity.png",
                    Titulo      = "LINQ to XML"
                },
                new NoticiaPrincipal {
                    Articulo = articulos[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Ventejas y desventajas de WEB FORMS", Imagen = "asp.png",
                    Titulo      = "ASP .NET WEB FORMS"
                },
                new NoticiaPrincipal {
                    Articulo = articulos[0], Auditoria = new InfoRegistro{
                        UsuarioCreacion = "estebangaro"
                    },
                    Descripcion = "Enviando peticiones AJAX a controladores MVC", Imagen = "ajax.png",
                    Titulo      = "ASP .NET y AJAX"
                },
            };
            Multimedia[] multimedia = new Multimedia[]
            {
                new Multimedia {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Articulo    = articulos[9], Boton = botones[0], Estado = true, Imagen = "fondo.JPG",
                    Informacion = "Conoce las ventajas y desventajas del .NET Framework y porqué lo deberías " +
                                  "de considerar como tu plataforma de desarrollo preferida.(1)", Orden = 0, Titulo = "¿Por qué .NET?"
                },
                new Multimedia {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Articulo    = articulos[9], Boton = botones[0], Estado = true, Imagen = "fondo2.jpg",
                    Informacion = "Conoce las ventajas y desventajas del .NET Framework y porqué lo deberías " +
                                  "de considerar como tu plataforma de desarrollo preferida.(3)", Orden = 2, Titulo = "¿Por qué .NET (3)?"
                },
                new Multimedia {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Articulo    = articulos[9], Boton = botones[0], Estado = true, Imagen = "fondo2.jpg",
                    Informacion = "Conoce las ventajas y desventajas del .NET Framework y porqué lo deberías " +
                                  "de considerar como tu plataforma de desarrollo preferida.(2)", Orden = 2, Titulo = "¿Por qué .NET (4)?"
                }
            };
            CategoriaPalabraCodigo[] categoriasPalabras = new CategoriaPalabraCodigo[]
            {
                new CategoriaPalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "reservadas"
                },
                new CategoriaPalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "clases"
                }
            };
            PalabraCodigo[] palabras = new PalabraCodigo[]
            {
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "using", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "namespace", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "public", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "Console", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "protected", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "private", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "void", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "override", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "return", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "null", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "get", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "set", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "ref", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "out", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "string", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "int", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "float", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "double", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "short", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "decimal", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "bool", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "true", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "false", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "static", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "object", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "if", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "else", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "for", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "while", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "foreach", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "async", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "await", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "abstract", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "interface", Categoria = categoriasPalabras[0]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "Task", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "DbContext", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "List", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "Dictionary", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "IEnumerable", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "File", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "FileStream", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "StreamReader", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "StreamWritter", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "Controller", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "ApiController", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "HttpResponseMessage", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "HttpRequestMessage", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "MediaTypeFormatter", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "ActionResult", Categoria = categoriasPalabras[1]
                },
                new PalabraCodigo {
                    Auditoria = new InfoRegistro {
                        UsuarioCreacion = "estebangaro"
                    },
                    Nombre = "PartialViewResult", Categoria = categoriasPalabras[1]
                }
            };

            contexto.CategoriasPalabrasCode.AddRange(categoriasPalabras);
            contexto.PalabrasCode.AddRange(palabras);
            contexto.Articulos.AddRange(articulos);
            contexto.ClasesPersonalizadasCode.AddRange(clasesPersonalizadas);
            contexto.Autores.AddRange(autores);
            contexto.RedesSociales.AddRange(redes);
            contexto.OpcionesMenu.AddRange(opcionesP);
            contexto.OpcionesMenu.AddRange(subOpciones1);
            contexto.OpcionesMenu.AddRange(subOpciones2);
            contexto.BotonesAvisos.AddRange(botones);
            contexto.AvisosCarrusel.AddRange(avisos);
            contexto.NoticiasPrincipales.AddRange(noticias);
            contexto.Multimedia.AddRange(multimedia);

            contexto.SaveChanges();
        }
        public void RemovePeople(MultimediaDTO multimediaDTO)
        {
            Multimedia multimedia = mapper.Map <MultimediaDTO, Multimedia>(multimediaDTO);

            API.RemovePeople(multimedia);
        }
Beispiel #18
0
        /// <summary>
        /// Metodo que le permite a un usuario registrar sus datos personales la primera vez que ingresa al sistema
        /// </summary>
        /// <param name="accessToken">Token generado por el API de Google</param>
        /// <param name="nombre">nombre del usuario</param>
        /// <param name="apellido">apellido del usuario</param>
        /// <param name="fechaNacimiento">fecha de nacimiento del usuario</param>
        /// <param name="fotoPerfiL">foto de perfil del usuario</param>
        /// <param name="sexo">sexo del usuario</param>
        /// <param name="ciudad">ciudad de origen del usuario</param>
        /// <param name="pais">pais del usuario</param>
        /// <param name="rol">rol del nuevo usuario</param>
        /// <returns>True si se registro correctamente</returns>
        public bool registrarDatosUsuario(String accessToken, String nombre, String apellido, DateTime fechaNacimiento, Multimedia fotoPerfiL, TipoSexo sexo, String ciudad, String pais, TipoRol rol)
        {
            GoogleUserOutputData usuario = obtenerInformacionGoogle(accessToken);

            Usuario usuarioBuscado = buscarUsuario(usuario.id);

            if (usuarioBuscado != null)
            {
                throw new UsuarioException("El usuario ya existe");
            }

            Usuario nuevoUsuario = new Usuario(usuario.id, nombre, apellido, fechaNacimiento, fotoPerfiL, sexo, usuario.email, ciudad, pais, rol);

            IRepositorioUsuario repositorioUsuarios = FabricaRepositoriosUsuarios.CrearRepositorioUsuarios("json");

            repositorioUsuarios.guardarUsuario(nuevoUsuario);

            return(true);
        }
        public void AddMultimedia(MultimediaDTO multimediaDTO)
        {
            Multimedia multimedia = mapper.Map <MultimediaDTO, Multimedia>(multimediaDTO);

            API.AddMultimedia(multimedia);
        }
Beispiel #20
0
        private void AddMultimediaFromFile(string filename)
        {
            if (IsReadOnly)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(filename))
            {
                return;
            }

            FileInfo finfo = new FileInfo(filename);

            if (finfo.Exists)
            {
                MultimediaLink          model     = null;
                MultimediaLinkViewModel viewModel = null;
                Multimedia duplicate = null;
                var        action    = CheckDuplicate(finfo, out duplicate);
                switch (action)
                {
                case MultimediaDuplicateAction.Cancel:
                    // Do nothing
                    break;

                case MultimediaDuplicateAction.NoDuplicate:
                case MultimediaDuplicateAction.InsertDuplicate:
                    // Insert new multimedia and new link
                    model = new MultimediaLink();
                    model.MultimediaID     = NextNewId();
                    model.MultimediaLinkID = model.MultimediaID;
                    if (finfo.Name.Contains("."))
                    {
                        model.Name      = finfo.Name.Substring(0, finfo.Name.LastIndexOf("."));
                        model.Extension = finfo.Extension.Substring(1);
                    }
                    else
                    {
                        model.Name = finfo.Name;
                    }
                    model.SizeInBytes = (int)finfo.Length;

                    viewModel           = new MultimediaLinkViewModel(model);
                    viewModel.Thumbnail = GraphicsUtils.GenerateThumbnail(filename, THUMB_SIZE);
                    _tempFileManager.CopyToTempFile(viewModel.MultimediaID, filename);
                    _model.Add(viewModel);
                    RegisterPendingChange(new InsertMultimediaCommand(model, _tempFileManager.GetContentFileName(viewModel.MultimediaID, finfo.Extension.Substring(1))));
                    RegisterPendingChange(new InsertMultimediaLinkCommand(model, CategoryType, Owner));
                    break;

                case MultimediaDuplicateAction.UseExisting:
                    // Link to existing multimedia
                    model = new MultimediaLink();
                    model.MultimediaID     = duplicate.MultimediaID;
                    model.MultimediaLinkID = NewLinkID();
                    model.Name             = duplicate.Name;
                    model.Extension        = duplicate.FileExtension;
                    viewModel = new MultimediaLinkViewModel(model);
                    GenerateThumbnail(viewModel, THUMB_SIZE);
                    _model.Add(viewModel);
                    RegisterPendingChange(new InsertMultimediaLinkCommand(model, CategoryType, Owner));
                    break;

                case MultimediaDuplicateAction.ReplaceExisting:
                    // register an update for the multimedia,
                    // and insert a new link
                    // Link to existing multimedia
                    model = new MultimediaLink();
                    model.MultimediaID     = duplicate.MultimediaID;
                    model.MultimediaLinkID = NewLinkID();
                    model.Name             = duplicate.Name;
                    model.Extension        = duplicate.FileExtension;
                    viewModel = new MultimediaLinkViewModel(model);
                    GenerateThumbnail(viewModel, THUMB_SIZE);
                    _model.Add(viewModel);
                    _tempFileManager.CopyToTempFile(viewModel.MultimediaID, filename);
                    RegisterPendingChange(new UpdateMultimediaBytesCommand(model, filename));
                    RegisterPendingChange(new InsertMultimediaLinkCommand(model, CategoryType, Owner));
                    break;
                }

                if (viewModel != null)
                {
                    viewModel.IsSelected   = true;
                    thumbList.SelectedItem = viewModel;
                }
            }
        }
        public MultimediaDTO GetMultimediaById(int id)
        {
            Multimedia multimedia = API.GetMultimediaById(id);

            return(mapper.Map <Multimedia, MultimediaDTO>(multimedia));
        }
      public static Dynamic.Component BuildComponent(TCM.Component tcmComponent, int currentLinkLevel, BuildManager manager)
      {
          log.Debug(string.Format("start BuildComponent with component {0} ({1}) and link level {2}", tcmComponent.Title, tcmComponent.Id, currentLinkLevel));
          Dynamic.Component c = new Dynamic.Component();
          c.Title = tcmComponent.Title;
          c.Id = tcmComponent.Id.ToString();
          c.RevisionDate = tcmComponent.RevisionDate;

          c.Version = tcmComponent.Version;
          c.Schema = manager.BuildSchema(tcmComponent.Schema);
          
          c.ComponentType = (ComponentType)Enum.Parse(typeof(ComponentType), tcmComponent.ComponentType.ToString());

          if (tcmComponent.ComponentType.Equals(TCM.ComponentType.Multimedia))
          {
              Multimedia multimedia = new Multimedia();
              multimedia.MimeType = tcmComponent.BinaryContent.MultimediaType.MimeType;
              multimedia.Size = tcmComponent.BinaryContent.Size;
              multimedia.FileName = tcmComponent.BinaryContent.Filename;

              string extension = System.IO.Path.GetExtension(multimedia.FileName);
              if (string.IsNullOrEmpty(extension))
              {
                  multimedia.FileExtension = "";
              }
              else
              {
                  // remove leading dot from extension because microsoft returns this as ".gif"
                  multimedia.FileExtension = extension.Substring(1);
              }

              if (manager.BuildProperties.ResolveWidthAndHeight)
              {
                  try
                  {
                      MemoryStream memstream = new MemoryStream();
                      tcmComponent.BinaryContent.WriteToStream(memstream);
                      Image image = Image.FromStream(memstream);
                      memstream.Close();

                      multimedia.Width = image.Size.Width;
                      multimedia.Height = image.Size.Height;
                  }
                  catch (Exception e)
                  {
                      log.Warning(string.Format("error retrieving width and height of image: is component with ID {0} really an image? Error message: {1}", c.Id, e.Message));
                      multimedia.Width = 0;
                      multimedia.Height = 0;
                  }
              }
              else
              {
                  multimedia.Width = 0;
                  multimedia.Height = 0;
              }
              c.Multimedia = multimedia;
              c.Multimedia.Url = manager.PublishMultimediaComponent(c);
          }
          else
          {
              c.Multimedia = null;
          }
          c.Fields = new Dynamic.FieldSet();
          c.MetadataFields = new Dynamic.FieldSet();
          if (currentLinkLevel > 0)
          {
              if (tcmComponent.Content != null)
              {
                  TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmComponent.Content, tcmComponent.Schema);
                  c.Fields = manager.BuildFields(tcmFields, currentLinkLevel);
              }
              
              if (tcmComponent.Metadata != null)
              {
                  TCM.Fields.ItemFields tcmMetadataFields = new TCM.Fields.ItemFields(tcmComponent.Metadata, tcmComponent.MetadataSchema);
                  c.MetadataFields = manager.BuildFields(tcmMetadataFields, currentLinkLevel);
              }
          }
          if (!manager.BuildProperties.OmitContextPublications)
          {
              c.Publication = manager.BuildPublication(tcmComponent.ContextRepository);
          }
          if (!manager.BuildProperties.OmitOwningPublications)
          {
              c.OwningPublication = manager.BuildPublication(tcmComponent.OwningRepository);
          }
          if (!manager.BuildProperties.OmitFolders)
          {
              TCM.Folder folder = (TCM.Folder)tcmComponent.OrganizationalItem;
              c.Folder = manager.BuildOrganizationalItem(folder);
          }
          if (!manager.BuildProperties.OmitCategories)
          {
              c.Categories = manager.BuildCategories(tcmComponent);
          }
          manager.AddXpathToFields(c.Fields, "tcm:Content/custom:" + tcmComponent.Schema.RootElementName); 
          manager.AddXpathToFields(c.MetadataFields, "tcm:Metadata/custom:Metadata");
          return c;
      }
        public IActionResult GetUrlImagen(int idMultimedia)
        {
            Multimedia multimedia = _contactosService.GetMultimedia(idMultimedia);

            return(multimedia == null ? null : File(multimedia.Archivo, multimedia.MimeType));
        }
        public static Dynamic.Component BuildComponent(TCM.Component tcmComponent, int linkLevels, bool resolveWidthAndHeight, BuildManager manager)
        {
            GeneralUtils.TimedLog("start BuildComponent");
            Dynamic.Component c = new Dynamic.Component();
            c.Title = tcmComponent.Title;
            c.Id = tcmComponent.Id.ToString();
             GeneralUtils.TimedLog("component title = " + c.Title);

             GeneralUtils.TimedLog("start building schema");
             c.Schema = manager.BuildSchema(tcmComponent.Schema);
             GeneralUtils.TimedLog("finished building schema");
             c.ComponentType = (ComponentType)Enum.Parse(typeof(ComponentType), tcmComponent.ComponentType.ToString());

             if (tcmComponent.ComponentType.Equals(TCM.ComponentType.Multimedia))
             {
            GeneralUtils.TimedLog("start building multimedia");
            Multimedia multimedia = new Multimedia();
            multimedia.MimeType = tcmComponent.BinaryContent.MultimediaType.MimeType;
            multimedia.Size = tcmComponent.BinaryContent.FileSize;
            multimedia.FileName = tcmComponent.BinaryContent.Filename;
            // remove leading dot from extension because microsoft returns this as ".gif"
            multimedia.FileExtension = System.IO.Path.GetExtension(multimedia.FileName).Substring(1);

            if (resolveWidthAndHeight)
            {
               MemoryStream memstream = new MemoryStream();
               tcmComponent.BinaryContent.WriteToStream(memstream);
               Image image = Image.FromStream(memstream);
               memstream.Close();

               multimedia.Width = image.Size.Width;
               multimedia.Height = image.Size.Height;
            }
            else
            {
               multimedia.Width = 0;
               multimedia.Height = 0;
            }
            c.Multimedia = multimedia;
            GeneralUtils.TimedLog("finished building multimedia");
             }
             else
             {
            c.Multimedia = null;
             }
             c.Fields = new Dynamic.SerializableDictionary<string,Field>();
            c.MetadataFields = new Dynamic.SerializableDictionary<string, Field>();
            if (linkLevels > 0) {
            if (tcmComponent.Content != null)
            {
               GeneralUtils.TimedLog("start retrieving tcm fields");
               TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmComponent.Content, tcmComponent.Schema);
               GeneralUtils.TimedLog("finished retrieving tcm fields");
               GeneralUtils.TimedLog("start building fields");
               c.Fields = manager.BuildFields(tcmFields, linkLevels, resolveWidthAndHeight);
               GeneralUtils.TimedLog("finished building fields");
            }
                if (tcmComponent.Metadata != null) {
               GeneralUtils.TimedLog("start retrieving tcm metadata fields");
               TCM.Fields.ItemFields tcmMetadataFields = new TCM.Fields.ItemFields(tcmComponent.Metadata, tcmComponent.MetadataSchema);
               GeneralUtils.TimedLog("finished retrieving tcm metadata fields");
               GeneralUtils.TimedLog("start building metadata fields");
               c.MetadataFields = manager.BuildFields(tcmMetadataFields, linkLevels, resolveWidthAndHeight);
               GeneralUtils.TimedLog("finished building metadata fields");
            }
            }

             GeneralUtils.TimedLog("start retrieving tcm publication");
             TCM.Repository pub = tcmComponent.ContextRepository;
             GeneralUtils.TimedLog("finished retrieving tcm publication");
             GeneralUtils.TimedLog("start building publication");
             c.Publication = manager.BuildPublication(pub);
             GeneralUtils.TimedLog("finished building publication");

             GeneralUtils.TimedLog("start retrieving tcm folder");
             TCM.Folder folder = (TCM.Folder) tcmComponent.OrganizationalItem;
             GeneralUtils.TimedLog("finished retrieving tcm folder");
             GeneralUtils.TimedLog("start building folder");
             c.Folder = manager.BuildOrganizationalItem(folder);
             GeneralUtils.TimedLog("finished building folder");
             GeneralUtils.TimedLog("start building categories");
             c.Categories = manager.BuildCategories(tcmComponent);
             GeneralUtils.TimedLog("finished building categories");

             GeneralUtils.TimedLog("finished BuildComponent " + c.Title);

             return c;
        }
Beispiel #25
0
 public void Almacenar(Multimedia multimedia)
 {
 }