private void ShowImportForm(ShowViewParameters svp) { var os = Application.CreateObjectSpace(); var paramObj = ImportArOpenInvoicesParam.GetInstance(os); var detailView = Application.CreateDetailView(os, paramObj); svp.TargetWindow = TargetWindow.NewModalWindow; svp.CreatedView = detailView; }
public string Execute(ImportArOpenInvoicesParam paramObj) { var statusMessage = string.Empty; Func <string, string> formatSql = delegate(string sql) { return(Smart.Format(sql, new { AsAtDate = string.Format("{0:yyyy-MM-dd}", paramObj.AsAtDate.Date), })); }; var conn = (SqlConnection)objSpace.Connection; int rowCount = 0; using (var csv = new CachedCsvReader(new StreamReader(paramObj.FilePath), true)) using (var cmd = conn.CreateCommand()) using (var bc = new SqlBulkCopy(conn)) { //cmd.Transaction = trn; cmd.CommandTimeout = CashDiscipline.Common.Constants.SqlCommandTimeout; cmd.CommandText = createSql; cmd.ExecuteNonQuery(); bc.DestinationTableName = "#TmpArOpenInvoice"; bc.WriteToServer(csv); cmd.CommandText = "SELECT COUNT(*) FROM #TmpArOpenInvoice"; rowCount = Convert.ToInt32(cmd.ExecuteScalar()); cmd.CommandText = formatSql(persistSql); cmd.ExecuteNonQuery(); } statusMessage = string.Format("{0} rows processed.", rowCount); return(statusMessage); }