Monday, 28 January 2013
Galaxy Nexus Glass Screen
My 7 months old Galaxy Nexus fell out from my jacket's pocket when I was tying shoe lasses. ~70 cm height on ceramic floor tile .
  
Wednesday, 23 January 2013
Object reflection and parameters querying
Note: post is in progress
                    var product = new GasProduct();
                    // get object property tree to map values on its properties
                    Type productType = product.GetType();
                    PropertyInfo[] properties = productType.GetProperties();
                    for (int col = 1; col <= sheetRange.Columns.Count; col++)
                    {
                        try
                        {
                            // Cells names only in the first row of the spreadsheet
                            if (row == 1)
                            {
                                // collect defined names of the collumns
                                var cellName = sheetRange.Cells[row, col].Name.Name;
                                columnNameMap.Add(col, cellName);
                            }
                            else
                            {
                                var cellValue = sheetRange.Cells[row, col].Value2 != null
                                    ? sheetRange.Cells[row, col].Value2.ToString()
                                    : null;
                                // if "Processed" attribute is not equal "N" (not processed) skip the entire row
                                if (col == 1 && cellValue != "N") break;
                                var prop =
                                    (from p in properties
                                     where p.Name == columnNameMap[col]
                                     select p).FirstOrDefault();
                                prop.SetValue(product, cellValue, null);
                            }
                        }
                        catch (Exception ex)
                        {
                            string error = "log exception";
                        }
                    }
                    if (product.IsValid())
                    {
                        // add product to a bag to fullfill templates lately lately 
                        if (_products == null) _products = new List>();
                        _products.Add(product);
                    }
                }
 
Subscribe to:
Comments (Atom)



