public ConsumerDetailsViewModel(Consumer consumer, bool isReadOnly, bool isNew = false) { Title = isNew ? "Создание абонента" : "Редактирование абонента"; Update(consumer); InitializeBill(consumer); IsReadOnly = isReadOnly; }
public void Update(Consumer consumer) { Uid = consumer.UID; ParentUid = consumer.ParentUID; Name = consumer.Name; Description = consumer.Description; }
private FilterConsumerViewModel AddConsumerInternal(Consumer consumer, FilterConsumerViewModel parentConsumerViewModel= null) { var consumerViewModel = new FilterConsumerViewModel(consumer); if (parentConsumerViewModel != null) parentConsumerViewModel.AddChild(consumerViewModel); foreach (var childConsumer in consumer.Children) AddConsumerInternal(childConsumer, consumerViewModel); return consumerViewModel; }
static DbCache() { RootDevice = GetRootDevice(); if (RootDevice == null) CreateSystem(); if(GetAllUsers()!= null) Users = GetAllUsers(); RootConsumer = GetRootConsumer(); Tariffs = ReadAllTariffs(); }
public DepositsViewModel(Consumer consumer) { Title = "История пополнения баланса"; Consumer = consumer; Deposits = new ObservableCollection<DepositViewModel>(consumer.Deposits.Select(x => new DepositViewModel(x))); AddCommand = new RelayCommand(OnAdd, CanAdd); EditCommand = new RelayCommand(OnEdit, CanEdit); RemoveCommand = new RelayCommand(OnRemove, CanRemove); }
void InitializeBill(Consumer consumer) { ShowReceiptCommand = new RelayCommand(OnShowReceipt, CanShowReceipt); Receipts = ReceiptHelper.GetAllTemplate(); SelectedReceipt = Receipts.FirstOrDefault(); AddDeviceCommand = new RelayCommand(OnAddDevice); RemoveDeviceCommand = new RelayCommand<DeviceViewModel>(OnRemoveDevice); SelectDeviceCommand = new RelayCommand<Guid>(OnSelectDevice); AddDepositCommand = new RelayCommand(OnAddDeposit); ShowDepositsCommand = new RelayCommand(OnShowDeposits); DepositsViewModel = new DepositsViewModel(consumer); }
public void Update(Consumer consumer) { UID = consumer.UID; ParentUID = consumer.ParentUID; Name = consumer.Name; Address = consumer.Address; Description = consumer.Description; Phone = consumer.Phone; Email = consumer.Email; Login = consumer.Login; Password = consumer.Password; IsSendEmail = consumer.IsSendEmail; Number = consumer.Number; Balance = consumer.Balance; Devices = new ObservableCollection<DeviceViewModel>(consumer.Devices.Select(x => new DeviceViewModel(x))); }
public ConsumersFolderDetailsViewModel(Consumer consumer, bool isReadOnly, bool isNew = false) { Title = isNew ? "Создание группы абонентов" : "Редактирование группы абонентов"; Update(consumer); IsReadOnly = isReadOnly; }
void UpdateConsumerDetailsViewModels(Device device, Consumer oldConsumer = null) { var newConsumer = device.Consumer; if (oldConsumer == newConsumer) return; if (oldConsumer != null) { var consumerDetailsViewModel = Bootstrapper.MainViewModel.ConsumersViewModel.FindConsumerDetailsViewModel(oldConsumer.UID); if (consumerDetailsViewModel != null) { var deviceViewModel = consumerDetailsViewModel.Devices.FirstOrDefault(x => x.Device.UID == device.UID); if (deviceViewModel != null) consumerDetailsViewModel.Devices.Remove(deviceViewModel); } } if (newConsumer != null) { var consumerDetailsViewModel = Bootstrapper.MainViewModel.ConsumersViewModel.FindConsumerDetailsViewModel(newConsumer.UID); if (consumerDetailsViewModel != null) { var deviceViewModel = consumerDetailsViewModel.Devices.FirstOrDefault(x => x.Device.UID == device.UID); if (deviceViewModel == null) consumerDetailsViewModel.Devices.Add(new DeviceViewModel(device)); } } }
void UpdateDeviceViewModels(Consumer oldConsumer, Consumer newConsumer) { if (oldConsumer == null && newConsumer == null) return; var devicesToRemove = oldConsumer == null ? null : newConsumer == null ? oldConsumer.Devices : oldConsumer.Devices.Except(newConsumer.Devices); var devicesToAdd = newConsumer == null ? null : oldConsumer == null ? newConsumer.Devices : newConsumer.Devices.Except(oldConsumer.Devices); if (devicesToRemove != null) foreach (var device in devicesToRemove) { var deviceViewModel = Bootstrapper.MainViewModel.DevicesViewModel.AllDevices.FirstOrDefault(x => x.Device.UID == device.UID); if (deviceViewModel != null) { deviceViewModel.Device.Consumer = null; deviceViewModel.Device.ConsumerUID = null; DbCache.AddJournalForUser(JournalType.EditDevice, deviceViewModel.Device, string.Format("Разорвана связь с лицевым счетом [{0}]{1}", oldConsumer.Number, oldConsumer.Name)); } } if (devicesToAdd != null) foreach (var device in devicesToAdd) { var deviceViewModel = Bootstrapper.MainViewModel.DevicesViewModel.AllDevices.FirstOrDefault(x => x.Device.UID == device.UID); if (deviceViewModel != null) { deviceViewModel.Device.Consumer = newConsumer; deviceViewModel.Device.ConsumerUID = newConsumer.UID; DbCache.AddJournalForUser(JournalType.EditDevice, deviceViewModel.Device, string.Format("Добавлена связь с лицевым счетом [{0}]{1}", newConsumer.Number, newConsumer.Name)); } } }
public static void CreateConsumers() { if (RootConsumer == null) RootConsumer = GetRootConsumer(); using (var context = DatabaseContext.Initialize()) { context.Configuration.AutoDetectChangesEnabled = false; Random random = new Random(); for (int x = 1; x <= 10; x++) { var a = new Consumer { ParentUID = RootConsumer.UID, IsFolder = true, Name = "ДОМ №" + x, Description = "Описание дома №" + x }; context.Consumers.Add(a); for (int y = 1; y <= 4; y++) { var b = new Consumer { ParentUID = a.UID, IsFolder = true, Name = "Подъезд №" + y, Description = "Описание подъезда №" + y }; context.Consumers.Add(b); for (int z = (y - 1) * 50 + 1; z <= y * 50; z++) { var c = new Consumer { ParentUID = b.UID, Name = "Квартира №" + z, Address = string.Format("410012, г. Саратов, ул. Московская, д. {0}, кв. {1}", x, z), Phone = string.Format("(8452) {0:00-00-00}", random.Next(200000, 799999)), Password = "******" + x + y + z, Login = "******" + x + y + z, Number = string.Format("{0:00000000}", random.Next(99999999)), Email = "consumer" + x + y + z + "@gmail.com", IsSendEmail = random.Next(2) == 1, Description = "Описание квартриры №" + z, Balance = (decimal)random.Next(-500000, 2000000) / 100 }; context.Consumers.Add(c); } } } context.ChangeTracker.DetectChanges(); context.SaveChanges(); } }
public static void DeleteConsumer(Consumer consumer) { using (var context = DatabaseContext.Initialize()) { var dbConsumer = context.Consumers.Where(x => x.UID == consumer.UID).FirstOrDefault(); if (dbConsumer != null) { context.Devices.Where(x => x.ConsumerUID == dbConsumer.UID).ToList().ForEach(x => x.ConsumerUID = null); context.Consumers.Remove(dbConsumer); } context.SaveChanges(); } }
public static void SaveConsumer(Consumer consumer) { using (var context = DatabaseContext.Initialize()) { var dbConsumer = context.Consumers.Where(x => x.UID == consumer.UID).FirstOrDefault(); if (dbConsumer == null) { dbConsumer = context.Consumers.Add(consumer); foreach (var device in consumer.Devices) { var dbDevice = context.Devices.FirstOrDefault(x => x.UID == device.UID); if (dbDevice != null) dbDevice.ConsumerUID = consumer.UID; } } else { dbConsumer.Devices.AddRange(context.Devices.Where(x => x.ConsumerUID == consumer.UID)); dbConsumer.Address = consumer.Address; dbConsumer.Description = consumer.Description; dbConsumer.Email = consumer.Email; dbConsumer.Number = consumer.Number; dbConsumer.IsFolder = consumer.IsFolder; dbConsumer.IsSendEmail = consumer.IsSendEmail; dbConsumer.Login = consumer.Login; dbConsumer.Name = consumer.Name; dbConsumer.Parent = consumer.Parent; dbConsumer.Password = consumer.Password; dbConsumer.Phone = consumer.Phone; dbConsumer.ParentUID = consumer.ParentUID; dbConsumer.Devices.Except(consumer.Devices).ToList().ForEach(x => x.ConsumerUID = null); foreach (var device in consumer.Devices.Except(dbConsumer.Devices).ToList()) { var dbDevice = context.Devices.FirstOrDefault(x => x.UID == device.UID); if (dbDevice != null) dbDevice.ConsumerUID = consumer.UID; } } dbConsumer.Parent = dbConsumer.ParentUID == null ? null : context.Consumers.FirstOrDefault(x => x.UID == dbConsumer.ParentUID); context.SaveChanges(); } }