Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public async Task<bool> Handle(GetDeviceDetailsCommand request, CancellationToken cancellationToken) {
- var result = await cloudAPI.GetLoggedDeviceDetails();
- using (var transaction = context.Database.BeginTransaction()) {
- try {
- var targetDevice = await context.SSDevice.FirstAsync();
- targetDevice.DatabaseVersion = result.DatabaseVersion;
- targetDevice.SerialNumber = result.SerialNumber;
- targetDevice.SoftwareVersion = result.SoftwareVersion;
- targetDevice.LastSyncDateUTC = result.LastSyncDateUTC;
- targetDevice.ModifiedDateUTC = result.ModifiedDateUTC;
- targetDevice.SSStoreId = result.SSStoreId;
- targetDevice.IsDeleted = result.IsDeleted;
- targetDevice.IsInitiated = result.IsInitiated;
- await context.SaveChangesAsync(cancellationToken);
- var cashRegister = await context.SSCashRegister
- .Where(c => c.SSDeviceId == targetDevice.Id)
- .FirstAsync();
- cashRegister.APIVersion = result.SSCashRegister.APIVersion;
- cashRegister.Description = result.SSCashRegister.Description;
- cashRegister.ERPSyncVersion = result.SSCashRegister.ERPSyncVersion;
- cashRegister.ModifiedDateUTC = result.SSCashRegister.ModifiedDateUTC;
- cashRegister.Name = result.SSCashRegister.Name;
- cashRegister.SSDeviceId = result.SSCashRegister.SSDeviceId;
- await context.SaveChangesAsync(cancellationToken);
- var cashRegisterConfig = await context.SSCashRegisterConfig.FirstAsync();
- cashRegisterConfig.IsActive = result.SSCashRegister.SSCashRegisterConfig.IsActive;
- cashRegisterConfig.IsMaster = result.SSCashRegister.SSCashRegisterConfig.IsMaster;
- cashRegisterConfig.ModifiedDateUTC = result.SSCashRegister.SSCashRegisterConfig.ModifiedDateUTC;
- cashRegisterConfig.RebootEndTime = result.SSCashRegister.SSCashRegisterConfig.RebootEndTime;
- cashRegisterConfig.RebootStartTime = result.SSCashRegister.SSCashRegisterConfig.RebootStartTime;
- cashRegisterConfig.UpdateEndTime = result.SSCashRegister.SSCashRegisterConfig.UpdateEndTime;
- cashRegisterConfig.UpdateStartTime = result.SSCashRegister.SSCashRegisterConfig.UpdateStartTime;
- await context.SaveChangesAsync(cancellationToken);
- var cashRegisterNetworkConfig = await context.SSCashRegisterNetworkConfig.FirstAsync();
- cashRegisterNetworkConfig.DictConnectionType = (byte) result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.DictConnectionType;
- cashRegisterNetworkConfig.DictWirelessProtectionType = (byte) result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.DictWirelessProtectionType;
- cashRegisterNetworkConfig.DNSPrimary = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.DNSPrimary;
- cashRegisterNetworkConfig.DNSSecondary = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.DNSSecondary;
- cashRegisterNetworkConfig.Gateway = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.Gateway;
- cashRegisterNetworkConfig.GSMOperator = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.GSMOperator;
- cashRegisterNetworkConfig.GSMPhoneNumber = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.GSMPhoneNumber;
- cashRegisterNetworkConfig.GSMSimNumber = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.GSMSimNumber;
- cashRegisterNetworkConfig.KeepAliveIntervalInSec = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.KeepAliveIntervalInSec;
- cashRegisterNetworkConfig.ModifiedDateUTC = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.ModifiedDateUTC;
- cashRegisterNetworkConfig.SelfServiceAPISecretKey = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.SelfServiceAPISecretKey;
- cashRegisterNetworkConfig.SelfServiceAPIUrl = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.SelfServiceAPIUrl;
- cashRegisterNetworkConfig.StaticIP = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.StaticIP;
- cashRegisterNetworkConfig.SubnetMask = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.SubnetMask;
- cashRegisterNetworkConfig.UseDHCP = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.UseDHCP;
- cashRegisterNetworkConfig.WirelessPassword = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.WirelessPassword;
- cashRegisterNetworkConfig.WirelessSSID = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterNetworkConfig.WirelessSSID;
- await context.SaveChangesAsync(cancellationToken);
- var cashRegisterERPSyncConfig = await context.SSCashRegisterERPSyncConfig.FirstAsync();
- cashRegisterERPSyncConfig.ERPSyncAPIUrl = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterERPSyncConfig.ERPSyncAPIUrl;
- cashRegisterERPSyncConfig.IsERPSyncActive = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterERPSyncConfig.IsERPSyncActive;
- cashRegisterERPSyncConfig.ModifiedDateUTC = result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterERPSyncConfig.ModifiedDateUTC;
- await context.SaveChangesAsync(cancellationToken);
- var cashRegisterVatRateConfig = await context.SSCashRegisterVatRateConfig.ToListAsync();
- result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterVatRateConfig.ToList().ForEach(cfg => {
- var config = cashRegisterVatRateConfig.Where(config => config.Id == cfg.Id).First();
- if (config != null) {
- config.ModifiedDateUTC = cfg.ModifiedDateUTC;
- config.Symbol = cfg.Symbol;
- config.VatRate = cfg.VatRate;
- } else {
- cashRegisterVatRateConfig.Add(mapper.Map<SSCashRegisterVatRateConfig>(cfg));
- }
- });
- await context.SaveChangesAsync(cancellationToken);
- var cashRegisterComponent = await context.SSCashRegisterComponent.ToListAsync();
- result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterComponent.ToList().ForEach(component => {
- var cmp = cashRegisterComponent.Where(cmp => cmp.Id == component.Id).First();
- if (cmp != null) {
- cmp.DictCashRegisterComponentType = (byte)component.DictCashRegisterComponentType;
- cmp.HardwareVersion = component.HardwareVersion;
- cmp.IsActive = component.IsActive;
- cmp.ModifiedDateUTC = component.ModifiedDateUTC;
- cmp.NextServiceDateUTC = component.NextServiceDateUTC;
- cmp.Status1 = component.Status1;
- cmp.Status2 = component.Status2;
- } else {
- cashRegisterComponent.Add(mapper.Map<SSCashRegisterComponent>(component));
- }
- });
- await context.SaveChangesAsync(cancellationToken);
- var cashRegisterFile = await context.SSCashRegisterFile.ToListAsync();
- result.SSCashRegister.SSCashRegisterConfig.SSCashRegisterFile.ToList().ForEach(file => {
- var f = cashRegisterFile.Where(f => f.SSFileId == file.SSFileId).First();
- if (f != null) {
- f.DictCashRegisterFileType = (byte) file.DictCashRegisterFileType;
- f.ModifiedDateUTC = file.ModifiedDateUTC;
- f.SSFile.FileName = file.SSFile.FileName;
- f.SSFile.IsDeleted = file.SSFile.IsDeleted;
- f.SSFile.ModifiedDateUTC = file.SSFile.ModifiedDateUTC;
- // ?
- } else {
- cashRegisterFile.Add(mapper.Map<SSCashRegisterFile>(file));
- }
- });
- await context.SaveChangesAsync(cancellationToken);
- transaction.Commit();
- } catch (Exception e) {
- transaction.Rollback();
- throw e;
- }
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement