/// <summary>
 /// Gets the size.
 /// </summary>
 /// <param name="line">The design line.</param>
 /// <param name="code">The riviera design code</param>
 /// <param name="values">The nominal values.</param>
 public RivieraMeasure GetSize(DesignLine line, String code, KeyValuePair<string, double>[] values)
 {
     try
     {
         RivieraDesignDatabase db = this.LineDB[line];
         var sizes = db?.Sizes.FirstOrDefault(x => x.Key == code).Value.Sizes;
         return sizes.FirstOrDefault(x => x.HasSize(values));
     }
     catch (Exception)
     {
         throw new RivieraException(ERR_SIZE_NOT_EXIST);
     }
  
 }
        /// <summary>
        /// Initializes the database.
        /// </summary>
        /// <param name="app">The riviera application.</param>
        /// <param name="database">The database to initialize on the application.</param>
        public static void InitDatabase(this RivieraApplication app, params RivieraDatabase[] database)
        {
            var databaseLoaded = app.Database.DatabaseLoaded;

            app.Database = new RivieraDatabase();
            app.Database.DatabaseLoaded = databaseLoaded;
            DesignLine[]            spLines = new DesignLine[] { DesignLine.Bordeo };
            RivieraDesignDatabase[] dbs     = new RivieraDesignDatabase[] { new BordeoDesignDatabase() };
            for (int i = 0; i < spLines.Length; i++)
            {
                app.Database.LineDB.Add(spLines[i], dbs[i]);
            }
            WinAppInitializer win = new WinAppInitializer();

            win.Show();
            app.Database.Init(win);
        }
Пример #3
0
        /// <summary>
        /// Gets the riviera code for a specific design line.
        /// </summary>
        /// <param name="rows">The selected rows from the database.</param>
        /// <param name="line">The Riviera design line.</param>
        /// <returns>The List of Riviera codes</returns>
        /// <returns>The Riviera codes</returns>
        public static List <RivieraCode> GetRivieraCodeForLine(IEnumerable <RivieraCodeRow> rows, DesignLine line)
        {
            List <RivieraCode> codes = new List <RivieraCode>();
            RivieraCode        code;

            foreach (var row in rows.Where(x => x.Data[FIELD_LINE].ParseDesignLine() == line))
            {
                code = codes.FirstOrDefault(x => x.Code == row.Data[FIELD_ID]);
                if (code == null)
                {
                    code = new RivieraCode()
                    {
                        Block       = row.Data[FIELD_BLOQUE],
                        Code        = row.Data[FIELD_ID],
                        Description = row.Data[FIELD_CODE_DESC],
                        DoublePanel = row.Data[FIELD_PP] == "S",
                        Line        = line,
                        ElementType = row.Data[FIELD_TYPE].ParseElementType()
                    };
                    codes.Add(code);
                }
                code.AddAcabado(row.Data[FIELD_ACAB], row.Data[FIELD_ACAB_DESC]);
            }
            return(codes);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="RivieraDatabase"/> class.
 /// </summary>
 /// <param name="line">The Riviera design line.</param>
 public RivieraDesignDatabase(DesignLine line)
 {
     this.Line  = line;
     this.Codes = new List <RivieraCode>();
     this.Sizes = new Dictionary <String, ElementSizeCollection>();
 }