/// <summary>
        /// Asserts that the given entity exists in DB.
        /// </summary>
        /// <param name="entity">The entity to check.</param>
        protected static void AssertEntityExists(OperationalIncident entity)
        {
            var parameters = new Dictionary <string, object>();

            parameters["IncidentNumber"]        = entity.IncidentNumber;
            parameters["BusinessUnit_Id"]       = entity.BusinessUnit?.Id;
            parameters["OperationalFinding"]    = entity.OperationalFinding;
            parameters["RootCause_Id"]          = entity.RootCause?.Id;
            parameters["RootCauseDetail"]       = entity.RootCauseDetail;
            parameters["FinancialExposure_Id"]  = entity.FinancialExposure?.Id;
            parameters["Source_Id"]             = entity.Source?.Id;
            parameters["MitigationStrategy"]    = entity.MitigationStrategy;
            parameters["IncidentYear_Id"]       = entity.IncidentYear?.Id;
            parameters["IncidentMonth_Id"]      = entity.IncidentMonth?.Id;
            parameters["RemediationYear_Id"]    = entity.RemediationYear?.Id;
            parameters["RemediationMonth_Id"]   = entity.RemediationMonth?.Id;
            parameters["Status_Id"]             = entity.Status?.Id;
            parameters["ReportedToGORM_Id"]     = entity.ReportedToGORM?.Id;
            parameters["ReportedToORMYear_Id"]  = entity.ReportedToORMYear?.Id;
            parameters["ReportedToORMMonth_Id"] = entity.ReportedToORMMonth?.Id;
            parameters["CompletionType"]        = entity.CompletionType;
            parameters["CreatedBy"]             = entity.CreatedBy;
            parameters["CreatedTime"]           = entity.CreatedTime;
            parameters["LastUpdatedBy"]         = entity.LastUpdatedBy;
            parameters["LastUpdatedTime"]       = entity.LastUpdatedTime;
            parameters["Id"] = entity.Id;

            TestHelper.AssertDatabaseRecordExists(typeof(OperationalIncident).Name, parameters);

            AssertManyToManyMappings(entity.Id, entity.Impact,
                                     "OperationalIncident_OperationalIncidentImpactValue",
                                     "OperationalIncidentId", "OperationalIncidentImpactValueId");
        }
        public long Create(OperationalIncident entity)
        {
            CommonHelper.ValidateArgumentNotNull(entity, nameof(entity));
            Helper.ValidateTodayIsAllowedUpdateDate(entity.IncidentYear, entity.IncidentMonth, InputAllowedInDays);

            // populate audit fields
            PopulateAuditFields(entity, null, creating: true);

            return(OperationalIncidentService.Create(entity).Id);
        }
Example #3
0
        public void TestGetAccuracy()
        {
            // arrange
            long id = 1;

            // act
            OperationalIncident result = instance.Get(id);

            // assert
            AssertResult(result);
        }
Example #4
0
        public void TestCreateAccuracy()
        {
            // arrange
            OperationalIncident entity = CreateTestEntity <OperationalIncident>(1);

            // act
            OperationalIncident result = instance.Create(entity);

            // assert
            AssertEntityExists(entity);

            result.Id = 0;
            AssertResult(result);
        }
        public OperationalIncident Update(long id, OperationalIncident entity)
        {
            CommonHelper.ValidateArgumentNotNull(entity, nameof(entity));
            Helper.ValidateTodayIsAllowedUpdateDate(entity.IncidentYear, entity.IncidentMonth, InputAllowedInDays);

            var existing = OperationalIncidentService.Get(id);

            if (!IsAdmin())
            {
                Helper.ValidateStatusIsDraft(existing.Status);
            }

            // populate audit fields
            PopulateAuditFields(entity, existing);

            entity.Id = id;
            return(OperationalIncidentService.Update(entity));
        }