public async Task <ActionResult> ValidateDestinationTableAsync([FromBody] ContainerDestinationBO model) { if (model == null) { return(Ok(true)); } bool result = await _containerService.ValidateDestinationTableAsync(model); return(Ok(result)); }
public async Task <bool> ValidateDestinationTableAsync(ContainerDestinationBO container) { try { var columnsLocal = await _edFiRuleExecutionLogDetailQueries.GetColumnsByTableAsync(container.DestinationName, "destination"); List <DestinationTableColumn> columnsCommunity = JsonConvert.DeserializeObject <List <DestinationTableColumn> >(container.DestinationStructure); if (columnsLocal == null || columnsLocal.Count == 0) { return(true); } if (columnsCommunity.Count != columnsLocal.Count) { return(false); } foreach (var column in columnsLocal) { var existColumnCommunity = columnsCommunity .FirstOrDefault(rec => rec.Name.ToLower() == column.Name.ToLower() && rec.Type.ToLower() == column.Type.ToLower() && rec.IsNullable == column.IsNullable); if (existColumnCommunity == null) { return(false); } } return(true); } catch { return(false); } }