Ejemplo n.º 1
0
        private List <ExportFieldSetting> GetExportFieldSettingsFromScreen()
        {
            var settings = new List <ExportFieldSetting>();

            foreach (var row in grid.Rows)
            {
                var setting = new ExportFieldSetting {
                    CompanyId      = CompanyId,
                    ColumnName     = row.Cells["celColumnName"].Value.ToString(),
                    Caption        = row.Cells["celCaption"].Value.ToString(),
                    ColumnOrder    = row.Index + 1,
                    AllowExport    = int.Parse(row.Cells["celAllowExport"].Value.ToString()),
                    ExportFileType = int.Parse(row.Cells["celExportFileType"].Value.ToString()),
                    UpdateBy       = Login.UserId,
                };
                if (int.Parse(row.Cells["celDataType"].Value.ToString()) == 1)
                {
                    setting.DataFormat = Convert.ToInt32(cmbDateFormat.SelectedItem.SubItems[1].Value);
                }

                settings.Add(setting);
            }
            settings.Add(new ExportFieldSetting
            {
                CompanyId      = CompanyId,
                ColumnName     = "RequireHeader",
                Caption        = cbxRequireHeader.Text,
                ColumnOrder    = 0,
                AllowExport    = cbxRequireHeader.Checked ? 1 : 0,
                ExportFileType = ExportFileType,
                UpdateBy       = Login.UserId,
            });
            return(settings);
        }
        public Task <ExportFieldSetting> SaveAsync(ExportFieldSetting setting, CancellationToken token = default(CancellationToken))
        {
            #region merge query
            var query = @"
MERGE INTO ExportFieldSetting target
USING (
    SELECT @CompanyId       CompanyId
         , @ExportFileType  ExportFileType
         , @ColumnName      ColumnName
) source ON (
        target.CompanyId        = source.CompanyId
    AND target.ExportFileType   = source.ExportFileType
    AND target.ColumnName       = source.ColumnName
)
WHEN MATCHED THEN
    UPDATE SET
           ColumnOrder  = @ColumnOrder
         , AllowExport  = @AllowExport
         , DataFormat   = @DataFormat
         , UpdateBy     = @UpdateBy
         , UpdateAt     = GETDATE()
WHEN NOT MATCHED THEN
    INSERT
         ( CompanyId
         , ExportFileType
         , ColumnName
         , ColumnOrder
         , AllowExport
         , CreateBy
         , CreateAt
         , UpdateBy
         , UpdateAt
         , DataFormat )
    VALUES
         ( @CompanyId
         , @ExportFileType
         , @ColumnName
         , @ColumnOrder
         , @AllowExport
         , @UpdateBy
         , GETDATE()
         , @UpdateBy
         , GETDATE()
         , @DataFormat )
    OUTPUT inserted.*;";
            #endregion
            return(dbHelper.ExecuteAsync <ExportFieldSetting>(query, setting, token));
        }
Ejemplo n.º 3
0
        public async Task <IEnumerable <ExportFieldSetting> > GetAsync(ExportFieldSetting setting, CancellationToken token = default(CancellationToken))
        {
            var items = (await exportFieldSettingQueryProcessor.GetAsync(setting, token)).ToList();
            var app   = await applicationControlQueryProcessor.GetAsync(setting.CompanyId, token);

            foreach (var item in items)
            {
                if (app.UseForeignCurrency == 0 && item.ColumnName == "CurrencyCode")
                {
                    item.AllowExport = 0;
                }
                if (app.UseReceiptSection == 0 &&
                    (item.ColumnName == "SectionCode" || item.ColumnName == "SectionName"))
                {
                    item.AllowExport = 0;
                }
            }

            return(items);
        }
        public Task <IEnumerable <ExportFieldSetting> > GetAsync(ExportFieldSetting setting, CancellationToken token = default(CancellationToken))
        {
            var query = @"
SELECT es.CompanyId
     , es.ColumnName
     , esb.Caption
     , es.ColumnOrder [ColumnOrder]
     , es.AllowExport
     , es.ExportFileType
     , esb.DataType
     , es.DataFormat
  FROM ExportFieldSetting es
 INNER JOIN ExportFieldSettingBase esb
    ON es.CompanyId         = @CompanyId
   AND es.ExportFileType    = @ExportFileType
   AND es.ExportFileType    = esb.ExportFileType
   AND es.ColumnName        = esb.ColumnName
 UNION ALL
SELECT @CompanyId [CompanyId]
     , esb.ColumnName
     , esb.Caption
     , esb.ColumnOrder [ColumnOrder]
     , esb.AllowExport
     , esb.ExportFileType
     , esb.DataType
     , 0 AS DataFormat
  FROM ExportFieldSettingBase esb
 WHERE esb.ExportFileType = @ExportFileType
   AND NOT EXISTS (
       SELECT 1
         FROM ExportFieldSetting es
        WHERE es.CompanyId      = @CompanyId
          AND es.ExportFileType = @ExportFileType
          AND es.ColumnName     = esb.ColumnName )
 ORDER BY ColumnOrder; ";

            return(dbHelper.GetItemsAsync <ExportFieldSetting>(query, setting, token));
        }
Ejemplo n.º 5
0
 public async Task <ActionResult <IEnumerable <ExportFieldSetting> > > GetItems(ExportFieldSetting setting, CancellationToken token)
 => (await exportFieldSettingProcessor.GetAsync(setting, token)).ToArray();