protected decimal? ProcessEntity(decimal? listing_id,decimal? id, string type, List<Dictionary<string,object>> mappings, string tableName,List<String>row, List<string> header, string user) { OracleRepository repo = new OracleRepository(); var cols = new Dictionary<string, object>(); if (id != null) { cols.Add("ID", id); } if (listing_id!=null) { cols.Add("LISTING_ID", listing_id); } if (type!=null) { cols.Add("TYPE", type); } for (int i=0; i< mappings.Count(); i++) { try { int parsedOrdinal = 0; int useHeader = 0; if (mappings[i]["ORDINAL"] != DBNull.Value && int.TryParse(mappings[i]["ORDINAL"].ToString(), out parsedOrdinal)) { if (row.Count() > parsedOrdinal) { if (mappings[i]["DATA_TYPE"] != DBNull.Value && mappings[i]["DATA_TYPE"].ToString().StartsWith ("DATE")) { double parseOADate = 0; if (!String.IsNullOrEmpty(row[parsedOrdinal].ToString()) && double.TryParse(row[parsedOrdinal].ToString(), out parseOADate)) { cols.Add(mappings[i]["COLUMN_NAME"].ToString(), DateTime.FromOADate(parseOADate)); } else { if (mappings[i]["DATA_TYPE"].ToString()!="DATE_ONLY") { cols.Add(mappings[i]["COLUMN_NAME"].ToString(), row[parsedOrdinal]); } } } else if (mappings[i]["DATA_TYPE"] != DBNull.Value && mappings[i]["DATA_TYPE"].ToString()=="NUMBER") { if (IsNumeric(row[parsedOrdinal])) { cols.Add(mappings[i]["COLUMN_NAME"].ToString(), row[parsedOrdinal]); } } else { cols.Add(mappings[i]["COLUMN_NAME"].ToString(), row[parsedOrdinal]); } } } if (mappings[i]["USE_HEADER_AS_NAME"] != DBNull.Value && int.TryParse(mappings[i]["USE_HEADER_AS_NAME"].ToString(), out useHeader)) { if (useHeader == 1) { cols.Add("NAME", header[parsedOrdinal]); } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Unable to processEntity (ListingExcelService.ProcessEntity): Reason: {0}", ex.Message); } } var output = repo.InsertOrUpdateEntity(tableName, cols, user); return output as decimal?; }
public ActionResult ListingBuilding(decimal? id) { OracleRepository repo = new OracleRepository(); if (id== null) { id = repo.InsertOrUpdateEntity("TBUILDING_LISTING", new Dictionary<string, object>(), HttpContext.User.Identity.Name) as decimal?; } return View(id); }