Example #1
0
        public Permit Create(Permit permit)
        {
            if (permit.PermitTypeId == (int)PermitTypeEnum.VISIT)
            {
                var visitor = _visitorRepository.CreateAndReturn(permit.Visitor);
                permit.VisitorId = visitor.Id;
                permit.VehicleId = null;
                permit.Vehicle   = null;
                var result = _permitRepository.CreateAndReturn(permit);
                result.PermitType = GetPermitTypes().FirstOrDefault(x => x.Id == result.PermitTypeId);
                return(result);
            }

            var vehicle = _vehicleRepository.CreateAndReturn(permit.Vehicle);

            permit.VehicleId = vehicle.Id;
            permit.VisitorId = null;
            permit.Visitor   = null;
            var query = _permitRepository.CreatePermit(permit);

            query.PermitType   = GetPermitTypes().FirstOrDefault(x => x.Id == query.PermitTypeId);
            query.PermitStatus = GetPermitStatuses().FirstOrDefault(x => x.Id == query.PermitStatusId);

            return(query);
        }