Example #1
0
        private void PopulateForm()
        {
            btnChangeAll.Enabled      = Controller.UserIsSheldon() && _SupplierId > 0; //Sheldon and Tertia
            btnUpdateSupplier.Visible = false;
            if (_SupplierId > 0)
            {
                btnUpdateSupplier.Visible = true;
                _Supplier = _DataContext.SupplierSet.Single(a => a.id == _SupplierId);

                _AuditTrailData = _DataContext.SupplierAuditSet
                                  .Where(a => a.SupplierId == _SupplierId)
                                  .Select(a => new SupplierAuditTrailResult
                {
                    AuditDate = a.AuditTimeStamp,
                    UserName  = a.User.username,
                    FieldName = a.FieldName,
                    OldValue  = a.OldValue,
                    NewValue  = a.NewValue
                })
                                  .OrderByDescending(a => a.AuditDate)
                                  .ToList();



                _BuildingData = (from m in _DataContext.SupplierBuildingSet.Where(a => a.SupplierId == _SupplierId)
                                 select new BuildingResult
                {
                    SupplierBuildingId = m.id,
                    BuildingName = m.Building.Building,
                    Bank = m.Bank.Name,
                    BankId = m.BankId,
                    BranchCode = m.BranceCode,
                    BranchName = m.BranchName,
                    AccountNumber = m.AccountNumber,
                    IsLinked = true,
                    SupplierId = m.SupplierId,
                    BuildingId = m.BuildingId
                })
                                .ToList();
            }
            else
            {
                _Supplier       = new Data.SupplierData.Supplier();
                _AuditTrailData = new List <SupplierAuditTrailResult>();
                _BuildingData   = new List <BuildingResult>();
            }

            BindInputs();
            BindAuditTrailDataGrid();
            BindBuildingsDataGrid();
        }
Example #2
0
        private void TrackSupplierChanges(Astrodon.Data.SupplierData.Supplier source, Astrodon.Data.SupplierData.Supplier dest)
        {
            var modified = _DataContext.ChangeTracker.Entries().Where(p => p.State == EntityState.Modified && p.Entity is Astrodon.Data.SupplierData.Supplier);

            foreach (var supplier in modified)
            {
                var audit = (from propertyName in supplier.OriginalValues.PropertyNames
                             where !Equals(supplier.OriginalValues.GetValue <object>(propertyName), supplier.CurrentValues.GetValue <object>(propertyName))
                             select new Data.SupplierData.SupplierAudit()
                {
                    AuditTimeStamp = DateTime.Now,
                    SupplierId = _SupplierId,
                    UserId = Controller.user.id,
                    FieldName = propertyName,
                    OldValue = supplier.OriginalValues.GetValue <object>(propertyName) == null ? null : supplier.OriginalValues.GetValue <object>(propertyName).ToString(),
                    NewValue = supplier.CurrentValues.GetValue <object>(propertyName) == null ? null : supplier.CurrentValues.GetValue <object>(propertyName).ToString()
                }).ToList();

                _DataContext.SupplierAuditSet.AddRange(audit);
            }
        }