/// <summary>
        /// Constructor for a quote based on Products to be translated
        /// </summary>
        /// <param name="products"></param>
        /// <param name="translationOptions"></param>
        /// <param name="referenceFiles"></param>
        public GenerateQuote(IEnumerable <Product> products, TranslationOptions translationOptions, IEnumerable <File> referenceFiles = null)
            : this()
        {
            this.Products.AddRange(products);
            this.TranslationOptions = translationOptions;

            if (referenceFiles != null)
            {
                this.ReferenceFiles.AddRange(referenceFiles);
            }
        }
 /// <summary>
 /// Constructor when a project consists of Files to be translated
 /// </summary>
 /// <param name="name"></param>
 /// <param name="files"></param>
 /// <param name="translationOptions"></param>
 /// <param name="referenceFiles"></param>
 public AddProject(String name, IEnumerable <File> files, TranslationOptions translationOptions, IEnumerable <File> referenceFiles = null)
     : base(files, translationOptions, referenceFiles)
 {
     this.ProjectName = name;
 }
 /// <summary>
 /// Constructor for a quote given already created Projects
 /// </summary>
 /// <param name="projects"></param>
 /// <param name="translationOptions"></param>
 public GenerateQuote(IEnumerable <Project> projects, TranslationOptions translationOptions)
     : this()
 {
     this.Projects.AddRange(projects);
     this.TranslationOptions = translationOptions;
 }