예제 #1
0
 public InvoiceDao(
     DbContextManager <CrmDbContext> dbContextManager,
     TenantManager tenantManager,
     SecurityContext securityContext,
     FactoryIndexerInvoice factoryIndexer,
     IOptionsMonitor <ILog> logger,
     ICache ascCache,
     SettingsManager settingsManager,
     InvoiceSetting invoiceSetting,
     InvoiceFormattedData invoiceFormattedData,
     CrmSecurity crmSecurity,
     TenantUtil tenantUtil,
     IMapper mapper)
     : base(dbContextManager,
            tenantManager,
            securityContext,
            logger,
            ascCache,
            mapper)
 {
     _factoryIndexer       = factoryIndexer;
     _settingsManager      = settingsManager;
     _invoiceSetting       = invoiceSetting;
     _invoiceFormattedData = invoiceFormattedData;
     _crmSecurity          = crmSecurity;
     _tenantUtil           = tenantUtil;
 }
예제 #2
0
        public InvoiceSetting SaveInvoiceSettings(InvoiceSetting invoiceSetting)
        {
            var tenantSettings = Global.TenantSettings;
            tenantSettings.InvoiceSetting = invoiceSetting;
            tenantSettings.Save();

            return tenantSettings.InvoiceSetting;
        }
예제 #3
0
        public InvoiceSetting SaveInvoiceSettings(InvoiceSetting invoiceSetting)
        {
            var tenantSettings = _settingsManager.Load <CrmSettings>();

            tenantSettings.InvoiceSetting = invoiceSetting;

            _settingsManager.Save <CrmSettings>(tenantSettings);

            return(tenantSettings.InvoiceSetting);
        }
예제 #4
0
        public InvoiceSetting SaveInvoiceSettings(InvoiceSetting invoiceSetting)
        {
            var tenantSettings = Global.TenantSettings;

            tenantSettings.InvoiceSetting = invoiceSetting;

            SettingsManager.Instance.SaveSettings(tenantSettings, TenantProvider.CurrentTenantID);

            return(tenantSettings.InvoiceSetting);
        }
예제 #5
0
        public InvoiceSetting SaveInvoiceSettings(InvoiceSetting invoiceSetting)
        {
            var tenantSettings = Global.TenantSettings;

            tenantSettings.InvoiceSetting = invoiceSetting;

            SettingsManager.Instance.SaveSettings(tenantSettings, TenantProvider.CurrentTenantID);

            AdminLog.PostAction("CRM Settings: saved crm invoice settings to \"{0:Json}\"", tenantSettings.InvoiceSetting);

            return(tenantSettings.InvoiceSetting);
        }
        public async Task <IActionResult> Post([FromBody] InvoiceSettingApi item)
        {
            if (!ModelState.IsValidUpdated())
            {
                return(new BadRequestObjectResult(ModelState));
            }

            var dbReferenceType = 0;

            if (SettingApi.ReferenceTypes.Group.Equals(item.ReferenceType, StringComparison.InvariantCultureIgnoreCase))
            {
                dbReferenceType = 10;
            }
            else if (SettingApi.ReferenceTypes.Task.Equals(item.ReferenceType, StringComparison.InvariantCultureIgnoreCase))
            {
                dbReferenceType = 20;
            }
            else
            {
                ModelState.AddModelError("item.ReferenceType", "Invalid Invoice Settings Reference Type.");
                return(new BadRequestObjectResult(ModelState));
            }


            var invoiceSetting = await DbContext.InvoiceSettings.Where(s => s.PartitionId == CurrentPartitionId && s.ReferenceType == dbReferenceType && s.ReferenceKey == item.ReferenceKey).FirstOrDefaultAsync();

            if (invoiceSetting == null)
            {
                invoiceSetting = new InvoiceSetting
                {
                    PartitionId   = CurrentPartitionId,
                    ReferenceType = dbReferenceType,
                    ReferenceKey  = item.ReferenceKey,
                };
                DbContext.InvoiceSettings.Add(invoiceSetting);
            }

            await MapDeltaValuesAndCleanWhiteSpace(item, invoiceSetting, new string[] { "ReferenceType", "ReferenceKey" }, updateNulls : true);

            await DbContext.SaveChangesAsync();

            return(Ok());
        }
예제 #7
0
 public UtilsController(CrmSecurity crmSecurity,
                        DaoFactory daoFactory,
                        MessageService messageService,
                        SettingsManager settingsManager,
                        CurrencyProvider currencyProvider,
                        InvoiceSetting invoiceSetting,
                        ImportFromCSVManager importFromCSVManager,
                        OrganisationLogoManager organisationLogoManager,
                        Global global,
                        ImportFromCSV importFromCSV,
                        ExportToCsv exportToCsv,
                        IMapper mapper)
     : base(daoFactory, crmSecurity, mapper)
 {
     _messageService          = messageService;
     _currencyProvider        = currencyProvider;
     _settingsManager         = settingsManager;
     _invoiceSetting          = invoiceSetting;
     _importFromCSVManager    = importFromCSVManager;
     _organisationLogoManager = organisationLogoManager;
     _global        = global;
     _importFromCSV = importFromCSV;
     _exportToCsv   = exportToCsv;
 }