Exemplo n.º 1
0
        public async Task Create(InstallationCheckingPnDbContext dbContext)
        {
            CreatedAt     = DateTime.UtcNow;
            UpdatedAt     = DateTime.UtcNow;
            Version       = 1;
            WorkflowState = Constants.WorkflowStates.Created;

            dbContext.Meters.Add(this);
            await dbContext.SaveChangesAsync();

            dbContext.MeterVersions.Add(MapVersion(this));
            await dbContext.SaveChangesAsync();
        }
Exemplo n.º 2
0
        public async Task Update(InstallationCheckingPnDbContext dbContext)
        {
            Meter meter = await dbContext.Meters.FirstOrDefaultAsync(x => x.Id == Id);

            if (meter == null)
            {
                throw new NullReferenceException($"Could not find item with id: {Id}");
            }

            meter.Num            = Num;
            meter.QR             = QR;
            meter.RoomType       = RoomType;
            meter.Floor          = Floor;
            meter.RoomName       = RoomName;
            meter.InstallationId = InstallationId;

            if (dbContext.ChangeTracker.HasChanges())
            {
                meter.Version        += 1;
                meter.UpdatedAt       = DateTime.UtcNow;
                meter.UpdatedByUserId = UpdatedByUserId;

                dbContext.MeterVersions.Add(MapVersion(meter));
                await dbContext.SaveChangesAsync();
            }
        }
        public async Task Update(InstallationCheckingPnDbContext dbContext)
        {
            Installation installation = await dbContext.Installations.FirstOrDefaultAsync(x => x.Id == Id);

            if (installation == null)
            {
                throw new NullReferenceException($"Could not find item with id: {Id}");
            }

            installation.CadastralNumber    = CadastralNumber;
            installation.CadastralType      = CadastralType;
            installation.PropertyNumber     = PropertyNumber;
            installation.ApartmentNumber    = ApartmentNumber;
            installation.LivingFloorsNumber = LivingFloorsNumber;
            installation.YearBuilt          = YearBuilt;
            installation.CompanyName        = CompanyName;
            installation.CompanyAddress     = CompanyAddress;
            installation.CompanyAddress2    = CompanyAddress2;
            installation.CityName           = CityName;
            installation.CountryCode        = CountryCode;
            installation.ZipCode            = ZipCode;
            installation.Type                   = Type;
            installation.State                  = State;
            installation.DateInstall            = DateInstall;
            installation.DateRemove             = DateRemove;
            installation.DateActRemove          = DateActRemove;
            installation.InstallationEmployeeId = InstallationEmployeeId;
            installation.RemovalEmployeeId      = RemovalEmployeeId;
            installation.CustomerId             = CustomerId;
            installation.InstallationSdkCaseId  = InstallationSdkCaseId;
            installation.RemovalSdkCaseId       = RemovalSdkCaseId;
            installation.WorkflowState          = WorkflowState;
            installation.UpdatedAt              = UpdatedAt;
            installation.UpdatedByUserId        = UpdatedByUserId;
            installation.Meters                 = Meters;

            if (dbContext.ChangeTracker.HasChanges())
            {
                installation.UpdatedAt = DateTime.UtcNow;
                installation.Version  += 1;

                dbContext.InstallationVersions.Add(MapInstallationVersion(installation));
                await dbContext.SaveChangesAsync();
            }
        }
        public async Task Delete(InstallationCheckingPnDbContext dbContext)
        {
            Installation installation = await dbContext.Installations.FirstOrDefaultAsync(x => x.Id == Id);

            if (installation == null)
            {
                throw new NullReferenceException($"Could not find Installation with id: {Id}");
            }

            installation.WorkflowState = Constants.WorkflowStates.Removed;

            if (dbContext.ChangeTracker.HasChanges())
            {
                installation.UpdatedAt = DateTime.UtcNow;
                installation.Version  += 1;

                dbContext.InstallationVersions.Add(MapInstallationVersion(installation));
                await dbContext.SaveChangesAsync();
            }
        }
Exemplo n.º 5
0
        public async Task Delete(InstallationCheckingPnDbContext dbContext)
        {
            Meter meter = await dbContext.Meters.FirstOrDefaultAsync(x => x.Id == Id);

            if (meter == null)
            {
                throw new NullReferenceException($"Could not find item with id: {Id}");
            }

            meter.WorkflowState = Constants.WorkflowStates.Removed;

            if (dbContext.ChangeTracker.HasChanges())
            {
                meter.Version        += 1;
                meter.UpdatedAt       = DateTime.UtcNow;
                meter.UpdatedByUserId = UpdatedByUserId;

                dbContext.MeterVersions.Add(MapVersion(meter));
                await dbContext.SaveChangesAsync();
            }
        }